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..737c16c 100644
--- a/Android.bp
+++ b/Android.bp
@@ -23,8 +23,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 +43,84 @@
     ],
 }
 
-
-// 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/shared/**/*.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..c8f35ae 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,9 @@
     <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" />
 
     <application
             android:name=".SettingsApplication"
@@ -305,6 +314,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 +455,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 +509,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 +627,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 +662,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 +697,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 +757,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"
@@ -961,6 +1009,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 +1689,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">
@@ -1745,6 +1798,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 +1812,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 +2033,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 +2283,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 +2577,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 +2586,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 +2639,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 +2669,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 +2712,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 +2910,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 +2935,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 +2946,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 +2956,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 +3136,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"
@@ -3173,6 +3237,7 @@
                 <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 +3435,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 +3947,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 +4260,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 +4312,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 +4399,15 @@
                        android:value="true" />
         </activity>
 
+        <!-- Access to the Credential Manager list. -->
+        <activity android:name=".applications.credentials.CredentialsPickerActivity"
+                android:excludeFromRecents="true"
+                android:launchMode="singleInstance"
+                android:exported="false">
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.applications.credentials.DefaultCombinedPicker" />
+        </activity>
+
         <activity
             android:name=".Settings$SystemDashboardActivity"
             android:label="@string/header_category_system"
@@ -4401,20 +4495,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 +4536,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"
@@ -4578,6 +4642,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 +4746,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 +4778,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 +5012,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 +5038,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 +5085,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 +5095,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..6698752 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,21 +1,29 @@
+# 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..9722a85 100644
--- a/TEST_MAPPING
+++ b/TEST_MAPPING
@@ -28,6 +28,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..d14cc6f
--- /dev/null
+++ b/aconfig/Android.bp
@@ -0,0 +1,62 @@
+package {
+    default_applicable_licenses: ["packages_apps_Settings_license"],
+}
+
+aconfig_declarations {
+    name: "aconfig_settings_flags",
+    package: "com.android.settings.flags",
+    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",
+    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",
+    srcs: ["media_drm/*.aconfig"],
+}
+
+java_aconfig_library {
+    name: "MediaDrmSettingsFlagsLib",
+    aconfig_declarations: "media_drm_flags",
+}
+
+aconfig_declarations {
+    name: "accessibility_flags",
+    package: "com.android.settings.accessibility",
+    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",
+    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..ad770fb
--- /dev/null
+++ b/aconfig/accessibility/accessibility_flags.aconfig
@@ -0,0 +1,31 @@
+package: "com.android.settings.accessibility"
+
+# 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..c012263
--- /dev/null
+++ b/aconfig/development/settings_core_flag_declarations.aconfig
@@ -0,0 +1,8 @@
+package: "com.android.settings.development"
+
+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..2b1ce72
--- /dev/null
+++ b/aconfig/factory_reset/factory_reset_flag_declarations.aconfig
@@ -0,0 +1,8 @@
+package: "com.android.settings.factory_reset"
+
+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..06d75f1
--- /dev/null
+++ b/aconfig/media_drm/settings_mediadrm_flag_declarations.aconfig
@@ -0,0 +1,8 @@
+package: "com.android.settings.media_drm"
+
+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..5a464b5
--- /dev/null
+++ b/aconfig/settings_accessibility_flag_declarations_legacy.aconfig
@@ -0,0 +1,38 @@
+package: "com.android.settings.flags"
+
+# 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..810f2de
--- /dev/null
+++ b/aconfig/settings_biometrics_framework_flag_declarations.aconfig
@@ -0,0 +1,8 @@
+package: "com.android.settings.flags"
+
+flag {
+  name: "biometric_settings_provider"
+  namespace: "biometrics_framework"
+  description: "This flag enables or disables the BiometricSettingsProvider"
+  bug: "303595205"
+}
diff --git a/aconfig/settings_biometrics_integration_declarations.aconfig b/aconfig/settings_biometrics_integration_declarations.aconfig
new file mode 100644
index 0000000..bc437f2
--- /dev/null
+++ b/aconfig/settings_biometrics_integration_declarations.aconfig
@@ -0,0 +1,16 @@
+package: "com.android.settings.flags"
+
+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..58ddd25
--- /dev/null
+++ b/aconfig/settings_bluetooth_declarations.aconfig
@@ -0,0 +1,15 @@
+package: "com.android.settings.flags"
+
+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..5ba2129
--- /dev/null
+++ b/aconfig/settings_connecteddevice_flag_declarations.aconfig
@@ -0,0 +1,36 @@
+package: "com.android.settings.flags"
+
+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"
+}
\ 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..e12bccc
--- /dev/null
+++ b/aconfig/settings_development_flag_declarations.aconfig
@@ -0,0 +1,20 @@
+package: "com.android.settings.flags"
+
+# 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..52a326d
--- /dev/null
+++ b/aconfig/settings_display_flag_declarations.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.flags"
+
+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..7642734
--- /dev/null
+++ b/aconfig/settings_experience_flag_declarations.aconfig
@@ -0,0 +1,8 @@
+package: "com.android.settings.flags"
+
+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..56c4b32
--- /dev/null
+++ b/aconfig/settings_flag_declarations.aconfig
@@ -0,0 +1,15 @@
+package: "com.android.settings.flags"
+
+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"
+}
diff --git a/aconfig/settings_globalintl_flag_declarations.aconfig b/aconfig/settings_globalintl_flag_declarations.aconfig
new file mode 100644
index 0000000..68662d0
--- /dev/null
+++ b/aconfig/settings_globalintl_flag_declarations.aconfig
@@ -0,0 +1,15 @@
+package: "com.android.settings.flags"
+
+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..f2bf1c8
--- /dev/null
+++ b/aconfig/settings_notification_flag_declarations.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.flags"
+
+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..6fb5377
--- /dev/null
+++ b/aconfig/settings_onboarding_experience_flag_declarations.aconfig
@@ -0,0 +1,8 @@
+package: "com.android.settings.flags"
+
+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..10eb655
--- /dev/null
+++ b/aconfig/settings_panel_flag_declarations.aconfig
@@ -0,0 +1,8 @@
+package: "com.android.settings.flags"
+
+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_security_flag_declarations.aconfig b/aconfig/settings_security_flag_declarations.aconfig
new file mode 100644
index 0000000..42ef4d0
--- /dev/null
+++ b/aconfig/settings_security_flag_declarations.aconfig
@@ -0,0 +1,8 @@
+package: "com.android.settings.flags"
+
+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..0999a7b
--- /dev/null
+++ b/aconfig/settings_telephony_flag_declarations.aconfig
@@ -0,0 +1,15 @@
+package: "com.android.settings.flags"
+
+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..d98bc52
--- /dev/null
+++ b/aconfig/settings_voice_activation_apps_flag_declarations.aconfig
@@ -0,0 +1,8 @@
+package: "com.android.settings.flags"
+
+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/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..1f46168 100644
--- a/res-product/values-af/strings.xml
+++ b/res-product/values-af/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..89e4c36 100644
--- a/res-product/values-am/strings.xml
+++ b/res-product/values-am/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..be429c4 100644
--- a/res-product/values-ar/strings.xml
+++ b/res-product/values-ar/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..fb39878 100644
--- a/res-product/values-as/strings.xml
+++ b/res-product/values-as/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..8e0d0fd 100644
--- a/res-product/values-az/strings.xml
+++ b/res-product/values-az/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..7d4af34 100644
--- a/res-product/values-b+sr+Latn/strings.xml
+++ b/res-product/values-b+sr+Latn/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..b47d27f 100644
--- a/res-product/values-be/strings.xml
+++ b/res-product/values-be/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..0adf002 100644
--- a/res-product/values-bg/strings.xml
+++ b/res-product/values-bg/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..174a34f 100644
--- a/res-product/values-bn/strings.xml
+++ b/res-product/values-bn/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..53710f8 100644
--- a/res-product/values-bs/strings.xml
+++ b/res-product/values-bs/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..48690a9 100644
--- a/res-product/values-ca/strings.xml
+++ b/res-product/values-ca/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..f2d2453 100644
--- a/res-product/values-cs/strings.xml
+++ b/res-product/values-cs/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..9b59b6c 100644
--- a/res-product/values-da/strings.xml
+++ b/res-product/values-da/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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 344ec70..0ac0b0b 100644
--- a/res-product/values-de/strings.xml
+++ b/res-product/values-de/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..f5c1e38 100644
--- a/res-product/values-el/strings.xml
+++ b/res-product/values-el/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..6a2b50d 100644
--- a/res-product/values-en-rAU/strings.xml
+++ b/res-product/values-en-rAU/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..5f7cd7b 100644
--- a/res-product/values-en-rGB/strings.xml
+++ b/res-product/values-en-rGB/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..5f7cd7b 100644
--- a/res-product/values-en-rIN/strings.xml
+++ b/res-product/values-en-rIN/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..ddbb0fc 100644
--- a/res-product/values-es-rUS/strings.xml
+++ b/res-product/values-es-rUS/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..81ab874 100644
--- a/res-product/values-es/strings.xml
+++ b/res-product/values-es/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..e141b84 100644
--- a/res-product/values-et/strings.xml
+++ b/res-product/values-et/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..a91b9b6 100644
--- a/res-product/values-eu/strings.xml
+++ b/res-product/values-eu/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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 b1ab0e8..ad77798 100644
--- a/res-product/values-fa/strings.xml
+++ b/res-product/values-fa/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..49aaa93 100644
--- a/res-product/values-fi/strings.xml
+++ b/res-product/values-fi/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..aa23b80 100644
--- a/res-product/values-fr-rCA/strings.xml
+++ b/res-product/values-fr-rCA/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..222d414 100644
--- a/res-product/values-fr/strings.xml
+++ b/res-product/values-fr/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..b3bbcc4 100644
--- a/res-product/values-gl/strings.xml
+++ b/res-product/values-gl/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..b741021 100644
--- a/res-product/values-gu/strings.xml
+++ b/res-product/values-gu/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..305deda 100644
--- a/res-product/values-hi/strings.xml
+++ b/res-product/values-hi/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..0f9c3b5 100644
--- a/res-product/values-hr/strings.xml
+++ b/res-product/values-hr/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..ccf1caf 100644
--- a/res-product/values-hu/strings.xml
+++ b/res-product/values-hu/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..b4d081f 100644
--- a/res-product/values-hy/strings.xml
+++ b/res-product/values-hy/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..202863b 100644
--- a/res-product/values-in/strings.xml
+++ b/res-product/values-in/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..d826f66 100644
--- a/res-product/values-is/strings.xml
+++ b/res-product/values-is/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..a60cc7a 100644
--- a/res-product/values-it/strings.xml
+++ b/res-product/values-it/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..890dc33 100644
--- a/res-product/values-iw/strings.xml
+++ b/res-product/values-iw/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..cb08c13 100644
--- a/res-product/values-ja/strings.xml
+++ b/res-product/values-ja/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..6a93bec 100644
--- a/res-product/values-ka/strings.xml
+++ b/res-product/values-ka/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..7222034 100644
--- a/res-product/values-kk/strings.xml
+++ b/res-product/values-kk/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..6017a7d 100644
--- a/res-product/values-km/strings.xml
+++ b/res-product/values-km/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..efdea33 100644
--- a/res-product/values-kn/strings.xml
+++ b/res-product/values-kn/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..c4b50fe 100644
--- a/res-product/values-ko/strings.xml
+++ b/res-product/values-ko/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..39b0e99 100644
--- a/res-product/values-ky/strings.xml
+++ b/res-product/values-ky/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..5acf2a8 100644
--- a/res-product/values-lo/strings.xml
+++ b/res-product/values-lo/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..e909598 100644
--- a/res-product/values-lt/strings.xml
+++ b/res-product/values-lt/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..d2c0c8f 100644
--- a/res-product/values-lv/strings.xml
+++ b/res-product/values-lv/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..08571de 100644
--- a/res-product/values-mk/strings.xml
+++ b/res-product/values-mk/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..b186854 100644
--- a/res-product/values-ml/strings.xml
+++ b/res-product/values-ml/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..7b54dd4 100644
--- a/res-product/values-mn/strings.xml
+++ b/res-product/values-mn/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..6c911f5 100644
--- a/res-product/values-mr/strings.xml
+++ b/res-product/values-mr/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..614decf 100644
--- a/res-product/values-ms/strings.xml
+++ b/res-product/values-ms/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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 30daeeb..a91ad22 100644
--- a/res-product/values-my/strings.xml
+++ b/res-product/values-my/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..abb62b7 100644
--- a/res-product/values-nb/strings.xml
+++ b/res-product/values-nb/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..e5b106c 100644
--- a/res-product/values-ne/strings.xml
+++ b/res-product/values-ne/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..98751fc 100644
--- a/res-product/values-nl/strings.xml
+++ b/res-product/values-nl/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..554cc67 100644
--- a/res-product/values-or/strings.xml
+++ b/res-product/values-or/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..aac15f2 100644
--- a/res-product/values-pa/strings.xml
+++ b/res-product/values-pa/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..f04d427 100644
--- a/res-product/values-pl/strings.xml
+++ b/res-product/values-pl/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..ffabb2e 100644
--- a/res-product/values-pt-rBR/strings.xml
+++ b/res-product/values-pt-rBR/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..234017a 100644
--- a/res-product/values-pt-rPT/strings.xml
+++ b/res-product/values-pt-rPT/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..ffabb2e 100644
--- a/res-product/values-pt/strings.xml
+++ b/res-product/values-pt/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..9cbc548 100644
--- a/res-product/values-ro/strings.xml
+++ b/res-product/values-ro/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..ac503b9 100644
--- a/res-product/values-ru/strings.xml
+++ b/res-product/values-ru/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..10ff8d0 100644
--- a/res-product/values-si/strings.xml
+++ b/res-product/values-si/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..8ffb92d 100644
--- a/res-product/values-sk/strings.xml
+++ b/res-product/values-sk/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..c706abd 100644
--- a/res-product/values-sl/strings.xml
+++ b/res-product/values-sl/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..992a579 100644
--- a/res-product/values-sq/strings.xml
+++ b/res-product/values-sq/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..dd38414 100644
--- a/res-product/values-sr/strings.xml
+++ b/res-product/values-sr/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..254c1fe 100644
--- a/res-product/values-sv/strings.xml
+++ b/res-product/values-sv/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..c7b900e 100644
--- a/res-product/values-sw/strings.xml
+++ b/res-product/values-sw/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..c0cb33e 100644
--- a/res-product/values-ta/strings.xml
+++ b/res-product/values-ta/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..8ff91d6 100644
--- a/res-product/values-te/strings.xml
+++ b/res-product/values-te/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..85d0d63 100644
--- a/res-product/values-th/strings.xml
+++ b/res-product/values-th/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..b2f9812 100644
--- a/res-product/values-tl/strings.xml
+++ b/res-product/values-tl/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..b9083e7 100644
--- a/res-product/values-tr/strings.xml
+++ b/res-product/values-tr/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..bb40a2b 100644
--- a/res-product/values-uk/strings.xml
+++ b/res-product/values-uk/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..819e44e 100644
--- a/res-product/values-ur/strings.xml
+++ b/res-product/values-ur/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..b3fa298 100644
--- a/res-product/values-uz/strings.xml
+++ b/res-product/values-uz/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..48d7e84 100644
--- a/res-product/values-vi/strings.xml
+++ b/res-product/values-vi/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..a59174a 100644
--- a/res-product/values-zh-rCN/strings.xml
+++ b/res-product/values-zh-rCN/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..27321d9 100644
--- a/res-product/values-zh-rHK/strings.xml
+++ b/res-product/values-zh-rHK/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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 ee8e176..81f09fa 100644
--- a/res-product/values-zh-rTW/strings.xml
+++ b/res-product/values-zh-rTW/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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..f6ab35a 100644
--- a/res-product/values-zu/strings.xml
+++ b/res-product/values-zu/strings.xml
@@ -347,11 +347,19 @@
     <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>
+    <!-- no translation found for battery_tip_incompatible_charging_message (5097154279720383707) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (4208335872169818919) -->
+    <skip />
+    <!-- no translation found for battery_tip_incompatible_charging_message (5697523201841444736) -->
+    <skip />
     <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_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_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_privatespace_icon.xml b/res/drawable/ic_privatespace_icon.xml
new file mode 100644
index 0000000..b651f52
--- /dev/null
+++ b/res/drawable/ic_privatespace_icon.xml
@@ -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.
+  -->
+
+<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="M420,600L540,600L517,471Q537,461 548.5,442Q560,423 560,400Q560,367 536.5,343.5Q513,320 480,320Q447,320 423.5,343.5Q400,367 400,400Q400,423 411.5,442Q423,461 443,471L420,600ZM480,880Q341,845 250.5,720.5Q160,596 160,444L160,200L480,80L800,200L800,444Q800,596 709.5,720.5Q619,845 480,880ZM480,796Q584,763 652,664Q720,565 720,444L720,255L480,165L240,255L240,444Q240,565 308,664Q376,763 480,796ZM480,480Q480,480 480,480Q480,480 480,480L480,480L480,480L480,480L480,480Q480,480 480,480Q480,480 480,480Z"/>
+</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/privatespace_lock_placeholder.xml b/res/drawable/privatespace_lock_placeholder.xml
new file mode 100644
index 0000000..815ffd7
--- /dev/null
+++ b/res/drawable/privatespace_lock_placeholder.xml
@@ -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.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="380dp"
+        android:height="276dp"
+        android:viewportWidth="380"
+        android:viewportHeight="276">
+    <path
+        android:pathData="M354.34,276H25.66C11.56,276 0,264.2 0,249.8V26.24C0,11.8 11.56,0 25.66,0H354.44C368.44,0 380,11.8 380,26.2V249.9C380,264.2 368.44,276 354.34,276Z"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M190,37.72C185.34,37.71 180.72,38.64 176.42,40.45C170.09,43.12 164.69,47.58 160.89,53.3C157.1,59.01 155.09,65.72 155.1,72.57V90.07H155.29V111.34H161.68V72.57C161.67,67.12 163.23,61.79 166.18,57.2L166.04,57.11C166.1,57.01 166.16,56.92 166.23,56.82C169.33,52.16 173.74,48.5 178.91,46.33C185.11,43.73 192.03,43.39 198.45,45.38C204.88,47.37 210.39,51.55 214.02,57.2L214.01,57.2C216.96,61.79 218.52,67.12 218.51,72.57V111.34H224.9V72.57C224.92,65.9 223,59.37 219.4,53.76L215.27,56.4L219.39,53.76C216.24,48.83 211.89,44.78 206.76,41.98C201.62,39.17 195.86,37.71 190,37.72Z"
+        android:fillColor="#669DF6"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M250.08,227.69H129.92C126.53,227.69 123.28,226.35 120.88,223.96C118.48,221.56 117.14,218.32 117.14,214.93V122.24C117.14,118.86 118.48,115.61 120.88,113.22C123.28,110.83 126.53,109.48 129.92,109.48H250.08C253.47,109.48 256.72,110.83 259.12,113.22C261.52,115.61 262.86,118.86 262.86,122.24V214.93C262.86,218.32 261.52,221.56 259.12,223.96C256.72,226.35 253.47,227.69 250.08,227.69ZM129.92,113.13C127.5,113.13 125.18,114.09 123.46,115.8C121.75,117.5 120.79,119.82 120.79,122.24V214.93C120.79,217.35 121.75,219.67 123.46,221.38C125.18,223.09 127.5,224.05 129.92,224.05H250.08C252.5,224.05 254.82,223.09 256.54,221.38C258.25,219.67 259.21,217.35 259.21,214.93V122.24C259.21,119.82 258.25,117.5 256.54,115.8C254.82,114.09 252.5,113.13 250.08,113.13H129.92Z"
+        android:fillColor="#80868B"/>
+    <path
+        android:pathData="M281.77,245.93C303.27,245.93 320.69,228.59 320.69,207.21C320.69,185.83 303.27,168.49 281.77,168.49C260.28,168.49 242.86,185.83 242.86,207.21C242.86,228.59 260.28,245.93 281.77,245.93Z"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M281.77,168.36C260.2,168.36 242.57,185.76 242.57,207.37C242.57,228.97 260.06,246.37 281.77,246.37C303.49,246.37 320.97,228.97 320.97,207.37C320.97,185.76 303.35,168.36 281.77,168.36ZM281.77,238.37C264.57,238.37 250.47,224.34 250.47,207.22C250.47,190.11 264.57,176.08 281.77,176.08C298.98,176.08 313.08,190.11 313.08,207.22C313.08,224.48 298.98,238.37 281.77,238.37Z"
+        android:fillColor="#669DF6"/>
+    <path
+        android:pathData="M281.77,170.07C261.13,170.07 244.27,186.71 244.27,207.37C244.27,228.02 260.99,244.66 281.77,244.66C302.55,244.66 319.27,228.02 319.27,207.37C319.27,186.71 302.42,170.07 281.77,170.07ZM281.77,240.07C263.64,240.07 248.77,225.29 248.77,207.22C248.77,189.16 263.64,174.38 281.77,174.38C299.91,174.38 314.78,189.16 314.78,207.22C314.78,225.43 299.9,240.07 281.77,240.07ZM242.57,207.37C242.57,185.76 260.2,168.36 281.77,168.36C303.35,168.36 320.97,185.76 320.97,207.37C320.97,228.97 303.49,246.37 281.77,246.37C260.06,246.37 242.57,228.97 242.57,207.37ZM250.47,207.22C250.47,224.34 264.57,238.37 281.77,238.37C298.98,238.37 313.08,224.48 313.08,207.22C313.08,190.11 298.98,176.08 281.77,176.08C264.57,176.08 250.47,190.11 250.47,207.22Z"
+        android:fillColor="#000000"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M301.48,193.25C301.48,191.56 300.44,190.07 298.85,189.48L283.36,183.85C282.49,183.54 281.54,183.54 280.66,183.85L265.14,189.48C263.56,190.07 262.52,191.56 262.52,193.25V203.97C262.56,205.8 262.68,207.57 262.93,209.4C264.07,217.18 268.46,226.02 280.46,232.19C281.41,232.68 282.56,232.68 283.51,232.19C295.52,225.99 299.9,217.18 301.05,209.4C301.29,207.59 301.43,205.8 301.46,203.97V193.25H301.48Z"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M291.62,222.69C291.74,222.13 292.45,218.26 290.38,214.37C289.21,212.19 287.7,210.92 285.63,209.28C284.21,208.18 280.46,205.76 279.52,205.17C279.56,205.19 279.64,205.27 279.68,205.29C279.17,204.97 279.2,204.97 279.52,205.17C278.47,204.46 276.67,203.04 275.3,200.59C273.67,197.68 273.62,194.96 273.62,194.45C273.62,194.4 273.62,194.38 273.62,194.33C273.62,191.05 274.64,188.5 276.27,186.67C277.49,185.3 278.88,184.51 280.05,184.05L265.14,189.48C263.56,190.04 262.52,191.56 262.52,193.25V203.97C262.56,205.8 262.68,207.57 262.93,209.4C264.07,217.18 268.46,226.02 280.46,232.18C281.41,232.68 282.56,232.68 283.51,232.18C284.63,231.62 285.65,231.01 286.63,230.4C288.14,229.27 290.79,226.78 291.6,222.69H291.62Z"
+        android:fillColor="#3957E2"/>
+    <path
+        android:pathData="M279.69,205.29C279.69,205.29 279.57,205.19 279.52,205.17C279.2,204.97 279.17,204.97 279.69,205.29Z"
+        android:fillColor="#000000"/>
+    <path
+        android:pathData="M298.85,189.48L283.36,183.85C282.48,183.54 281.54,183.54 280.66,183.85L280.05,184.07C278.9,184.54 277.49,185.32 276.27,186.69C274.64,188.53 273.62,191.07 273.62,194.35C273.62,194.4 273.62,194.43 273.62,194.48C273.62,194.99 273.69,197.71 275.3,200.62C276.66,203.06 278.44,204.46 279.51,205.19C280.46,205.8 284.21,208.2 285.63,209.3C287.7,210.94 289.23,212.22 290.38,214.4C292.45,218.26 291.72,222.15 291.62,222.71C290.82,226.8 288.16,229.27 286.65,230.42C296.3,224.4 300.02,216.48 301.07,209.43C301.31,207.62 301.46,205.83 301.48,203.99V193.25C301.48,191.56 300.43,190.07 298.85,189.48Z"
+        android:fillColor="#698FF7"/>
+    <path
+        android:pathData="M157.35,137.23C157.97,136.58 158.83,136.2 159.73,136.17C160.63,136.14 161.5,136.47 162.16,137.08L162.31,137.22L163.18,138.14C163.57,138.57 164.07,138.88 164.62,139.06C165.17,139.24 165.76,139.26 166.32,139.15L167.53,138.91C168.42,138.74 169.34,138.93 170.09,139.44C170.84,139.95 171.36,140.73 171.54,141.61C171.54,141.68 171.55,141.74 171.59,141.8L171.73,143.06C171.8,143.62 172.01,144.17 172.35,144.63C172.69,145.09 173.14,145.46 173.66,145.7L174.77,146.27C175.58,146.66 176.21,147.36 176.52,148.2C176.83,149.05 176.79,149.98 176.41,150.8C176.37,150.84 176.37,150.94 176.32,150.99L175.74,152.05C175.45,152.55 175.3,153.11 175.3,153.69C175.3,154.26 175.46,154.82 175.74,155.32L176.32,156.43C176.74,157.22 176.84,158.16 176.58,159.02C176.32,159.89 175.73,160.62 174.94,161.06C174.89,161.1 174.8,161.1 174.75,161.15L173.63,161.68C173.11,161.92 172.66,162.29 172.32,162.76C171.99,163.22 171.77,163.76 171.71,164.33L171.56,165.59C171.44,166.48 170.97,167.28 170.26,167.84C169.54,168.38 168.64,168.63 167.74,168.53C167.68,168.54 167.61,168.52 167.55,168.48L166.38,168.24C165.82,168.15 165.23,168.19 164.69,168.36C164.14,168.54 163.64,168.85 163.24,169.25L162.39,170.13C161.76,170.78 160.91,171.16 160.01,171.19C159.11,171.22 158.23,170.89 157.57,170.28L157.43,170.14L156.55,169.22C156.16,168.8 155.66,168.49 155.1,168.31C154.54,168.14 153.95,168.12 153.39,168.25L152.18,168.49C151.29,168.66 150.37,168.47 149.62,167.96C148.87,167.46 148.35,166.67 148.17,165.79C148.18,165.72 148.16,165.65 148.12,165.6L147.98,164.34C147.91,163.77 147.7,163.23 147.36,162.77C147.02,162.3 146.57,161.93 146.05,161.69L144.94,161.16C144.53,160.97 144.16,160.7 143.85,160.37C143.55,160.03 143.32,159.64 143.16,159.21C143.01,158.78 142.94,158.33 142.96,157.88C142.99,157.43 143.1,156.99 143.3,156.58C143.34,156.53 143.34,156.44 143.39,156.39L143.97,155.28C144.26,154.78 144.4,154.22 144.4,153.65C144.4,153.07 144.26,152.51 143.97,152.01L143.39,150.9C142.97,150.1 142.88,149.17 143.13,148.3C143.39,147.44 143.98,146.71 144.77,146.28C144.82,146.23 144.91,146.23 144.96,146.18L146.08,145.65C146.6,145.41 147.05,145.04 147.39,144.57C147.72,144.11 147.94,143.57 148,143L148.15,141.75C148.27,140.86 148.74,140.05 149.46,139.5C150.17,138.95 151.07,138.7 151.97,138.81C152.04,138.8 152.1,138.82 152.16,138.86L153.37,139.1C153.93,139.19 154.51,139.15 155.06,138.97C155.6,138.8 156.1,138.49 156.5,138.09L157.35,137.24L157.35,137.23Z"
+        android:fillColor="#EE675C"/>
+    <path
+        android:pathData="M165.34,152.63L157.4,148.13C156.85,147.86 156.31,147.99 156.04,148.54C155.9,148.68 155.9,148.81 155.9,149.09V158.08C155.9,158.63 156.31,159.04 156.85,159.04C156.99,159.04 157.27,159.04 157.4,158.9L165.2,154.4C165.75,154.13 165.89,153.58 165.61,153.04C165.61,152.9 165.47,152.77 165.34,152.63Z"
+        android:fillColor="#ffffff"/>
+    <path
+        android:pathData="M236.54,176.53L226.88,171.29C226.21,170.97 225.55,171.13 225.22,171.77C225.05,171.93 225.05,172.09 225.05,172.4V182.89C225.05,183.53 225.55,184.01 226.21,184.01C226.39,184.01 226.72,184.01 226.88,183.85L236.37,178.6C237.04,178.28 237.21,177.65 236.87,177.01C236.87,176.85 236.7,176.7 236.54,176.53Z"
+        android:fillColor="#3C4043"/>
+    <path
+        android:pathData="M148.49,207.01C143.41,207.01 139.27,202.88 139.27,197.81C139.27,192.74 143.41,188.61 148.49,188.61C153.58,188.61 157.72,192.74 157.72,197.81C157.72,202.88 153.58,207.01 148.49,207.01Z"
+        android:fillColor="#3C4043"/>
+    <path
+        android:pathData="M224.65,129.5L213.61,128.09C212.49,127.95 211.34,128.11 210.3,128.56C209.26,129 208.34,129.71 207.66,130.61L200.9,139.5C200.21,140.4 199.78,141.48 199.63,142.61C199.49,143.74 199.65,144.89 200.09,145.93L204.37,156.22C204.81,157.27 205.52,158.18 206.42,158.87C207.33,159.55 208.4,159.99 209.52,160.13L220.56,161.52C221.69,161.67 222.83,161.51 223.88,161.07C224.93,160.63 225.84,159.92 226.53,159.01L233.26,150.14C233.95,149.23 234.39,148.16 234.53,147.03C234.67,145.9 234.52,144.75 234.08,143.7L229.79,133.42C229.35,132.37 228.65,131.45 227.74,130.76C226.84,130.07 225.77,129.64 224.65,129.5Z"
+        android:fillColor="#FCC934"/>
+    <path
+        android:pathData="M210.34,150.41L223.25,151.73L224.57,138.86L211.66,137.54L210.34,150.41ZM210.15,152.25C209.65,152.2 209.23,151.98 208.9,151.58C208.58,151.18 208.45,150.73 208.5,150.23L209.82,137.35C209.87,136.85 210.09,136.43 210.49,136.11C210.89,135.78 211.34,135.65 211.85,135.7L224.76,137.02C225.26,137.07 225.68,137.29 226.01,137.69C226.33,138.09 226.46,138.54 226.41,139.04L225.09,151.92C225.04,152.43 224.82,152.84 224.42,153.16C224.02,153.49 223.57,153.62 223.06,153.57L210.15,152.25ZM211.45,148.67L222.51,149.8L219.53,144.85L216.38,148.24L214.59,145.27L211.45,148.67L211.45,148.67ZM211.66,137.54L210.34,150.41L211.66,137.54Z"
+        android:fillColor="#ffffff"/>
+    <path
+        android:pathData="M178.53,187.68C174.35,181.53 179.88,173.46 187.15,175.11L188.35,175.38C190.56,175.88 192.89,175.44 194.77,174.17L195.79,173.48C201.96,169.32 210.05,174.84 208.4,182.08L208.13,183.28C207.62,185.49 208.06,187.81 209.34,189.69L210.02,190.7C214.2,196.85 208.67,204.93 201.41,203.28L200.21,203.01C197.99,202.5 195.66,202.94 193.78,204.21L192.76,204.9C186.6,209.07 178.5,203.55 180.15,196.3L180.43,195.1C180.93,192.9 180.5,190.57 179.22,188.7L178.53,187.68L178.53,187.68Z"
+        android:fillColor="#5BB974"/>
+    <path
+        android:pathData="M189.5,195.21C190.11,194.34 190.86,193.6 191.77,192.99C192.68,192.39 193.71,191.98 194.85,191.76C196,191.55 197.1,191.55 198.17,191.78C199.24,192.01 200.21,192.42 201.1,193.01L199.08,182.41L187.48,184.61L189.5,195.21ZM194.54,190.11C195.33,189.96 195.97,189.54 196.42,188.87C196.88,188.2 197.04,187.46 196.88,186.67C196.73,185.88 196.32,185.24 195.65,184.79C194.98,184.34 194.23,184.18 193.43,184.33C192.64,184.48 192,184.89 191.55,185.57C191.09,186.24 190.93,186.97 191.09,187.77C191.24,188.56 191.65,189.2 192.33,189.65C192.99,190.1 193.74,190.26 194.54,190.11ZM189.99,197.8C189.54,197.89 189.12,197.8 188.73,197.54C188.34,197.28 188.11,196.92 188.02,196.47L185.82,184.92C185.74,184.46 185.83,184.04 186.09,183.66C186.35,183.27 186.71,183.04 187.16,182.95L198.76,180.76C199.22,180.67 199.64,180.76 200.02,181.02C200.41,181.28 200.65,181.63 200.73,182.09L202.93,193.64C203.02,194.1 202.93,194.51 202.67,194.9C202.4,195.29 202.05,195.52 201.59,195.6L189.99,197.8ZM189.68,196.15L201.28,193.96L201.1,193C200.21,192.41 199.24,192.01 198.17,191.77C197.1,191.55 195.99,191.54 194.85,191.76C193.7,191.97 192.68,192.38 191.77,192.99C190.86,193.59 190.1,194.33 189.5,195.2L189.68,196.15ZM189.5,195.21L187.48,184.61L199.08,182.41L201.1,193.01C200.21,192.42 199.24,192.01 198.17,191.78C197.1,191.55 196,191.55 194.85,191.76C193.71,191.98 192.68,192.39 191.77,192.99C190.86,193.6 190.11,194.34 189.5,195.21Z"
+        android:fillColor="#ffffff"/>
+</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/privatespace_setup_flow_placeholder.xml b/res/drawable/privatespace_setup_flow_placeholder.xml
new file mode 100644
index 0000000..a4ff125
--- /dev/null
+++ b/res/drawable/privatespace_setup_flow_placeholder.xml
@@ -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.
+  -->
+
+<vector android:height="265dp" android:viewportHeight="266"
+        android:viewportWidth="364" android:width="362.6316dp" xmlns:android="http://schemas.android.com/apk/res/android">
+    <group>
+        <clip-path android:pathData="M0,0.5h364v265h-364z"/>
+        <path android:fillColor="#000000" android:pathData="M339.42,265.5H24.58C11.07,265.5 0,254.17 0,240.34V25.69C0,11.83 11.07,0.5 24.58,0.5H339.52C352.93,0.5 364,11.83 364,25.66V240.44C364,254.17 352.93,265.5 339.42,265.5Z"/>
+        <path android:fillColor="#80868B" android:pathData="M242.66,86.8V78.4C242.66,77.85 242.44,77.31 242.05,76.92C241.66,76.52 241.12,76.3 240.57,76.3V32.2C240.57,29.42 239.46,26.75 237.49,24.78C235.52,22.81 232.85,21.7 230.06,21.7H133.41C130.62,21.7 127.95,22.81 125.98,24.78C124.01,26.75 122.9,29.42 122.9,32.2V233.8C122.9,236.58 124.01,239.25 125.98,241.22C127.95,243.19 130.62,244.3 133.41,244.3H230.06C232.85,244.3 235.52,243.19 237.49,241.22C239.46,239.25 240.57,236.58 240.57,233.8V130.9C241.12,130.9 241.65,130.68 242.05,130.29C242.44,129.89 242.66,129.36 242.66,128.8V107.8C242.66,107.24 242.44,106.71 242.05,106.32C241.66,105.92 241.12,105.7 240.57,105.7V88.91C240.84,88.91 241.12,88.86 241.37,88.75C241.63,88.64 241.86,88.49 242.05,88.29C242.25,88.1 242.4,87.86 242.5,87.61C242.61,87.35 242.66,87.08 242.66,86.8ZM238.46,233.8C238.46,236.02 237.58,238.16 236,239.74C234.43,241.31 232.29,242.2 230.06,242.2H133.41C131.18,242.2 129.04,241.31 127.47,239.74C125.89,238.16 125.01,236.02 125.01,233.8V32.2C125.01,29.98 125.89,27.84 127.47,26.27C129.04,24.69 131.18,23.8 133.41,23.8H230.06C232.29,23.8 234.43,24.69 236,26.27C237.58,27.84 238.46,29.98 238.46,32.2V233.8Z"/>
+        <path android:fillColor="#669DF6" android:pathData="M234.93,233.8C234.93,235.09 234.42,236.33 233.5,237.24C232.59,238.15 231.35,238.66 230.06,238.66H133.41C132.12,238.66 130.88,238.15 129.97,237.24C129.05,236.33 128.54,235.09 128.54,233.8V129.24H125.01V233.8C125.01,236.02 125.89,238.16 127.47,239.74C129.04,241.31 131.18,242.2 133.41,242.2H230.06C232.29,242.2 234.43,241.31 236,239.74C237.58,238.16 238.46,236.02 238.46,233.8V190.74H234.93V233.8Z"/>
+        <path android:fillColor="#A142F4" android:pathData="M230.06,23.8H133.41C131.18,23.8 129.04,24.69 127.47,26.26C125.89,27.84 125.01,29.97 125.01,32.2V129.24H128.54V32.2C128.54,30.91 129.05,29.67 129.97,28.76C130.88,27.85 132.12,27.34 133.41,27.34H230.06C231.35,27.34 232.59,27.85 233.5,28.76C234.42,29.67 234.93,30.91 234.93,32.2V190.74H238.46V32.2C238.46,29.97 237.58,27.84 236,26.26C234.43,24.69 232.29,23.8 230.06,23.8Z"/>
+        <path android:fillColor="#5BB974" android:pathData="M214.09,181.98H205.99C204.24,181.98 202.53,182.5 201.08,183.47C199.63,184.45 198.51,185.83 197.85,187.45C197.2,189.07 197.04,190.84 197.39,192.55C197.75,194.26 198.61,195.82 199.86,197.04L205.38,202.56L208.4,199.54H214.09C216.42,199.54 218.65,198.62 220.3,196.97C221.95,195.32 222.87,193.09 222.87,190.76C222.87,188.43 221.95,186.2 220.3,184.55C218.65,182.91 216.42,181.98 214.09,181.98Z"/>
+        <path android:fillColor="#000000" android:pathData="M204.83,192.48C205.78,192.48 206.54,191.71 206.54,190.76C206.54,189.82 205.78,189.05 204.83,189.05C203.88,189.05 203.12,189.82 203.12,190.76C203.12,191.71 203.88,192.48 204.83,192.48Z"/>
+        <path android:fillColor="#000000" android:pathData="M210.04,192.48C210.99,192.48 211.76,191.71 211.76,190.76C211.76,189.82 210.99,189.05 210.04,189.05C209.1,189.05 208.33,189.82 208.33,190.76C208.33,191.71 209.1,192.48 210.04,192.48Z"/>
+        <path android:fillColor="#000000" android:pathData="M215.25,192.48C216.19,192.48 216.96,191.71 216.96,190.76C216.96,189.82 216.19,189.05 215.25,189.05C214.3,189.05 213.53,189.82 213.53,190.76C213.53,191.71 214.3,192.48 215.25,192.48Z"/>
+        <path android:fillColor="#FCC934" android:pathData="M165.98,61.94H155.68C155.38,61.94 155.08,62 154.79,62.12C154.51,62.24 154.26,62.41 154.04,62.62C153.83,62.84 153.66,63.09 153.54,63.37C153.43,63.65 153.37,63.95 153.37,64.26V85.11C153.37,85.41 153.43,85.71 153.54,85.99C153.66,86.27 153.83,86.53 154.04,86.74C154.26,86.96 154.51,87.13 154.79,87.24C155.08,87.36 155.38,87.42 155.68,87.42H170C170.61,87.41 171.19,87.16 171.62,86.73C172.04,86.3 172.28,85.71 172.28,85.11V68.32L165.98,61.94Z"/>
+        <path android:fillColor="#000000" android:pathData="M168.63,72.01H157.05V74.33H168.63V72.01Z"/>
+        <path android:fillColor="#000000" android:pathData="M168.63,76.64H157.05V78.96H168.63V76.64Z"/>
+        <path android:fillColor="#000000" android:pathData="M168.63,81.28H157.05V83.6H168.63V81.28Z"/>
+        <path android:fillColor="#FEEFC3" android:pathData="M165.98,61.94V66.43C165.98,66.67 166.03,66.92 166.12,67.14C166.21,67.37 166.35,67.57 166.52,67.74C166.69,67.92 166.9,68.05 167.12,68.15C167.35,68.24 167.59,68.29 167.83,68.29H172.28L165.98,61.94Z"/>
+        <path android:fillColor="#FAD2CF" android:pathData="M206.01,53.5L201.44,61.45C201.29,61.7 201.21,61.99 201.22,62.28C201.22,62.58 201.29,62.86 201.44,63.12C201.59,63.37 201.8,63.58 202.05,63.73C202.31,63.87 202.59,63.95 202.89,63.95H212.04C212.33,63.95 212.62,63.87 212.87,63.73C213.13,63.58 213.34,63.37 213.49,63.12C213.63,62.86 213.71,62.58 213.71,62.28C213.71,61.99 213.63,61.7 213.48,61.45L208.9,53.5C208.76,53.25 208.54,53.04 208.29,52.89C208.04,52.74 207.75,52.67 207.46,52.67C207.16,52.67 206.88,52.74 206.62,52.89C206.37,53.04 206.16,53.25 206.01,53.5Z"/>
+        <path android:fillColor="#3C4043" android:pathData="M201.8,218.33L209.86,210.27C209.96,210.16 210.09,210.08 210.23,210.02C210.37,209.96 210.52,209.93 210.67,209.93C210.82,209.93 210.97,209.96 211.11,210.02C211.25,210.08 211.37,210.16 211.48,210.27L211.76,210.55C213.05,211.84 213.77,213.58 213.77,215.39C213.77,217.21 213.05,218.95 211.76,220.23C210.48,221.52 208.74,222.24 206.92,222.24C205.1,222.24 203.36,221.52 202.08,220.23L201.8,219.95C201.58,219.74 201.46,219.45 201.46,219.14C201.46,218.84 201.58,218.54 201.8,218.33Z"/>
+        <path android:fillColor="#3C4043" android:pathData="M200.11,90.52C202.66,90.52 204.73,88.45 204.73,85.9C204.73,83.35 202.66,81.28 200.11,81.28C197.56,81.28 195.49,83.35 195.49,85.9C195.49,88.45 197.56,90.52 200.11,90.52Z"/>
+        <path android:fillColor="#A142F4" android:pathData="M203.2,134.48C203.2,128.79 200.94,123.34 196.92,119.31C192.89,115.29 187.43,113.03 181.74,113.03V117.32C184.94,117.31 188.08,118.2 190.79,119.88C193.51,121.57 195.71,123.98 197.13,126.84C198.55,129.7 199.14,132.91 198.83,136.09C198.53,139.27 197.34,142.3 195.39,144.85C192.33,141.12 184.88,139.85 181.74,139.85V155.97C184.56,155.96 187.36,155.41 189.96,154.33C192.57,153.25 194.93,151.66 196.93,149.67C198.92,147.68 200.5,145.31 201.58,142.7C202.65,140.1 203.21,137.3 203.2,134.48Z"/>
+        <path android:fillColor="#A142F4" android:pathData="M189.26,129.12C189.26,128.14 189.07,127.16 188.7,126.25C188.32,125.33 187.77,124.51 187.07,123.81C186.37,123.11 185.54,122.56 184.63,122.18C183.72,121.81 182.74,121.61 181.75,121.61V136.63C182.74,136.63 183.72,136.44 184.63,136.06C185.54,135.69 186.37,135.13 187.07,134.44C187.77,133.74 188.32,132.91 188.7,132C189.07,131.09 189.26,130.11 189.26,129.12Z"/>
+        <path android:fillColor="#3C4043" android:pathData="M159.53,166.93H151.85C148.29,166.93 145.41,169.81 145.41,173.37C145.41,176.93 148.29,179.81 151.85,179.81H159.53C163.09,179.81 165.97,176.93 165.97,173.37C165.97,169.81 163.09,166.93 159.53,166.93Z"/>
+        <path android:fillColor="#FAD2CF" android:pathData="M164.93,198.9V197.48H163.16V198.89H152.85V197.48H151.08V198.9C150.56,198.9 150.07,199.11 149.71,199.48C149.35,199.84 149.15,200.34 149.15,200.85V214.61C149.15,214.87 149.2,215.13 149.3,215.36C149.4,215.6 149.54,215.82 149.72,216C149.9,216.19 150.12,216.33 150.36,216.43C150.6,216.53 150.85,216.58 151.11,216.58H164.88C165.4,216.58 165.9,216.37 166.27,216C166.64,215.63 166.85,215.13 166.85,214.61V200.85C166.85,200.34 166.64,199.85 166.29,199.48C165.93,199.12 165.44,198.91 164.93,198.9Z"/>
+        <path android:fillColor="#000000" android:pathData="M164.27,202.78H151.76C151.39,202.78 151.1,203.08 151.1,203.45V213.99C151.1,214.36 151.39,214.65 151.76,214.65H164.27C164.63,214.65 164.93,214.36 164.93,213.99V203.45C164.93,203.08 164.63,202.78 164.27,202.78Z"/>
+        <path android:fillColor="#EE675C" android:pathData="M156.79,205.13H152.85V207.73H156.79V205.13Z"/>
+        <path android:fillColor="#669DF6" android:pathData="M168.62,117.83C168.03,117.83 167.45,117.95 166.9,118.18C166.35,118.4 165.85,118.73 165.44,119.15C165.02,119.57 164.69,120.07 164.47,120.62C164.24,121.17 164.13,121.75 164.14,122.35V147.17C164.13,147.76 164.25,148.35 164.48,148.9C164.7,149.44 165.04,149.94 165.46,150.36C165.88,150.78 166.37,151.11 166.92,151.34C167.47,151.56 168.06,151.68 168.65,151.67H175.97V117.83H168.62Z"/>
+        <path android:fillColor="#80868B" android:pathData="M182.95,259.5C182.95,260.32 182.63,261.11 182.05,261.69C181.47,262.27 180.68,262.59 179.86,262.59C179.04,262.59 178.26,262.27 177.68,261.69C177.1,261.11 176.77,260.32 176.77,259.5V12.75C176.77,11.93 177.1,11.15 177.68,10.57C178.26,9.99 179.04,9.66 179.86,9.66C180.68,9.66 181.47,9.99 182.05,10.57C182.63,11.15 182.95,11.93 182.95,12.75"/>
+        <path android:fillColor="#000000" android:pathData="M179.86,10.99C180.33,10.99 180.78,11.17 181.11,11.5C181.44,11.83 181.63,12.28 181.63,12.75V259.5C181.63,259.97 181.44,260.42 181.11,260.75C180.78,261.08 180.33,261.27 179.86,261.27C179.39,261.27 178.94,261.08 178.61,260.75C178.28,260.42 178.1,259.97 178.1,259.5V12.75C178.1,12.28 178.28,11.83 178.61,11.5C178.94,11.17 179.39,10.99 179.86,10.99ZM179.86,8.34C178.69,8.34 177.57,8.8 176.74,9.63C175.91,10.46 175.44,11.58 175.44,12.75V259.5C175.44,260.67 175.91,261.8 176.74,262.63C177.57,263.45 178.69,263.92 179.86,263.92C181.03,263.92 182.16,263.45 182.99,262.63C183.81,261.8 184.28,260.67 184.28,259.5V12.75C184.28,11.58 183.81,10.46 182.99,9.63C182.16,8.8 181.03,8.34 179.86,8.34Z"/>
+        <path android:fillColor="#ffffff" android:pathData="M70.76,140V124.25H72.63V140H70.76ZM75.78,140V124.25H77.65V140H75.78ZM80.42,140V124.25H82.29V140H80.42ZM89.13,140.35C87.75,140.35 86.71,139.95 86.01,139.15C85.32,138.34 84.97,137.24 84.97,135.85V128.78H86.84V135.56C86.84,136.67 87.1,137.47 87.61,137.96C88.13,138.43 88.76,138.66 89.53,138.66C90.19,138.66 90.76,138.49 91.24,138.15C91.73,137.8 92.1,137.36 92.36,136.81C92.63,136.27 92.76,135.71 92.76,135.12V128.78H94.63V140H92.85V138.38H92.76C92.57,138.73 92.28,139.06 91.9,139.37C91.54,139.66 91.11,139.89 90.63,140.07C90.16,140.26 89.66,140.35 89.13,140.35ZM101.2,140.35C100.36,140.35 99.62,140.22 98.98,139.96C98.35,139.68 97.82,139.31 97.39,138.86C96.98,138.39 96.68,137.88 96.47,137.34L98.14,136.59C98.44,137.27 98.86,137.79 99.42,138.15C99.98,138.52 100.61,138.71 101.33,138.71C102.02,138.71 102.59,138.57 103.05,138.29C103.52,138.01 103.75,137.6 103.75,137.05C103.75,136.72 103.66,136.44 103.47,136.22C103.28,135.98 103,135.79 102.63,135.63C102.26,135.46 101.82,135.32 101.29,135.18L99.92,134.83C99.4,134.69 98.9,134.48 98.43,134.22C97.96,133.95 97.58,133.62 97.28,133.21C97.01,132.78 96.87,132.27 96.87,131.66C96.87,130.99 97.06,130.41 97.46,129.93C97.86,129.44 98.38,129.08 99.02,128.83C99.67,128.56 100.36,128.43 101.09,128.43C101.74,128.43 102.34,128.53 102.89,128.72C103.47,128.89 103.96,129.16 104.39,129.53C104.82,129.88 105.14,130.32 105.36,130.85L103.73,131.6C103.45,131.04 103.08,130.65 102.61,130.43C102.14,130.21 101.62,130.1 101.05,130.1C100.43,130.1 99.9,130.24 99.44,130.52C98.99,130.79 98.76,131.15 98.76,131.62C98.76,132.09 98.94,132.44 99.31,132.68C99.69,132.91 100.15,133.1 100.69,133.25L102.32,133.67C103.42,133.95 104.25,134.36 104.81,134.92C105.37,135.46 105.64,136.13 105.64,136.92C105.64,137.63 105.45,138.24 105.05,138.75C104.65,139.26 104.12,139.66 103.44,139.94C102.77,140.22 102.02,140.35 101.2,140.35ZM106.81,128.78H108.76V125.61H110.63V128.78H113.38V130.48H110.63V136.59C110.63,137.18 110.75,137.63 110.99,137.96C111.24,138.28 111.64,138.44 112.19,138.44C112.44,138.44 112.67,138.4 112.88,138.33C113.08,138.26 113.27,138.17 113.43,138.07V139.89C113.24,139.98 113.02,140.05 112.79,140.09C112.57,140.15 112.27,140.18 111.89,140.18C110.95,140.18 110.19,139.91 109.62,139.37C109.05,138.81 108.76,138.04 108.76,137.05V130.48H106.81V128.78ZM115.61,140V128.78H117.39V130.59H117.48C117.63,130.16 117.87,129.79 118.21,129.49C118.56,129.16 118.96,128.91 119.39,128.74C119.85,128.55 120.3,128.45 120.74,128.45C121.07,128.45 121.34,128.48 121.53,128.52C121.72,128.55 121.89,128.6 122.06,128.67V130.7C121.82,130.58 121.57,130.49 121.29,130.43C121.02,130.37 120.75,130.35 120.47,130.35C119.93,130.35 119.43,130.5 118.98,130.81C118.52,131.12 118.15,131.53 117.88,132.04C117.61,132.55 117.48,133.12 117.48,133.73V140H115.61ZM127.02,140.35C126.18,140.35 125.45,140.19 124.82,139.87C124.19,139.55 123.69,139.11 123.32,138.55C122.97,137.98 122.79,137.33 122.79,136.62C122.79,135.79 123.01,135.1 123.43,134.55C123.86,133.98 124.43,133.55 125.15,133.27C125.87,132.98 126.66,132.83 127.52,132.83C128.02,132.83 128.48,132.88 128.91,132.96C129.33,133.04 129.7,133.13 130.01,133.25C130.33,133.35 130.57,133.45 130.74,133.56V132.88C130.74,132.02 130.43,131.35 129.83,130.85C129.23,130.35 128.5,130.1 127.63,130.1C127.02,130.1 126.44,130.24 125.89,130.52C125.37,130.79 124.95,131.16 124.64,131.64L123.23,130.59C123.53,130.15 123.89,129.77 124.33,129.44C124.77,129.12 125.27,128.87 125.83,128.7C126.4,128.52 127,128.43 127.63,128.43C129.16,128.43 130.35,128.83 131.22,129.64C132.08,130.45 132.52,131.53 132.52,132.9V140H130.74V138.4H130.65C130.46,138.72 130.18,139.04 129.83,139.34C129.48,139.64 129.06,139.88 128.58,140.07C128.11,140.26 127.59,140.35 127.02,140.35ZM127.19,138.71C127.84,138.71 128.43,138.54 128.95,138.22C129.5,137.9 129.93,137.47 130.25,136.92C130.57,136.38 130.74,135.79 130.74,135.14C130.4,134.91 129.97,134.72 129.46,134.57C128.96,134.42 128.41,134.35 127.81,134.35C126.74,134.35 125.95,134.57 125.46,135.01C124.96,135.45 124.71,135.99 124.71,136.64C124.71,137.25 124.94,137.75 125.41,138.13C125.88,138.51 126.47,138.71 127.19,138.71ZM134.13,128.78H136.09V125.61H137.96V128.78H140.71V130.48H137.96V136.59C137.96,137.18 138.08,137.63 138.31,137.96C138.56,138.28 138.97,138.44 139.52,138.44C139.77,138.44 140,138.4 140.21,138.33C140.41,138.26 140.59,138.17 140.76,138.07V139.89C140.57,139.98 140.35,140.05 140.12,140.09C139.9,140.15 139.6,140.18 139.22,140.18C138.28,140.18 137.52,139.91 136.95,139.37C136.38,138.81 136.09,138.04 136.09,137.05V130.48H134.13V128.78ZM143.22,140V128.78H145.09V140H143.22ZM144.15,126.71C143.78,126.71 143.46,126.58 143.2,126.32C142.94,126.06 142.8,125.74 142.8,125.37C142.8,124.99 142.94,124.68 143.2,124.43C143.46,124.16 143.78,124.03 144.15,124.03C144.53,124.03 144.84,124.16 145.09,124.43C145.36,124.68 145.49,124.99 145.49,125.37C145.49,125.74 145.36,126.06 145.09,126.32C144.84,126.58 144.53,126.71 144.15,126.71ZM153.07,140.35C151.94,140.35 150.95,140.09 150.08,139.56C149.21,139.04 148.53,138.32 148.03,137.43C147.55,136.52 147.31,135.51 147.31,134.39C147.31,133.28 147.55,132.27 148.03,131.38C148.53,130.47 149.21,129.75 150.08,129.22C150.95,128.7 151.94,128.43 153.07,128.43C154.2,128.43 155.2,128.7 156.06,129.24C156.93,129.77 157.6,130.49 158.09,131.4C158.59,132.3 158.84,133.29 158.84,134.39C158.84,135.51 158.59,136.52 158.09,137.43C157.6,138.32 156.93,139.04 156.06,139.56C155.2,140.09 154.2,140.35 153.07,140.35ZM153.07,138.66C153.75,138.66 154.38,138.49 154.96,138.15C155.57,137.82 156.05,137.33 156.42,136.7C156.78,136.06 156.97,135.29 156.97,134.39C156.97,133.5 156.78,132.74 156.42,132.1C156.05,131.46 155.57,130.97 154.96,130.63C154.38,130.29 153.75,130.13 153.07,130.13C152.4,130.13 151.76,130.29 151.16,130.63C150.56,130.97 150.07,131.46 149.71,132.1C149.34,132.74 149.16,133.5 149.16,134.39C149.16,135.29 149.34,136.06 149.71,136.7C150.07,137.33 150.56,137.82 151.16,138.15C151.76,138.49 152.4,138.66 153.07,138.66ZM160.79,140V128.78H162.57V130.43H162.66C162.96,129.89 163.43,129.42 164.09,129.02C164.77,128.63 165.5,128.43 166.29,128.43C167.67,128.43 168.71,128.83 169.39,129.64C170.1,130.43 170.45,131.49 170.45,132.81V140H168.58V133.1C168.58,132.01 168.32,131.25 167.79,130.81C167.27,130.35 166.61,130.13 165.79,130.13C165.17,130.13 164.63,130.3 164.16,130.65C163.69,130.99 163.32,131.43 163.06,131.97C162.79,132.52 162.66,133.09 162.66,133.69V140H160.79ZM178.61,140V124.25H183.91C184.79,124.25 185.61,124.45 186.36,124.85C187.1,125.24 187.7,125.79 188.14,126.5C188.59,127.18 188.82,127.99 188.82,128.91C188.82,129.82 188.59,130.63 188.14,131.34C187.7,132.04 187.1,132.59 186.36,132.99C185.61,133.38 184.79,133.58 183.91,133.58H180.48V140H178.61ZM180.48,131.8H183.96C184.57,131.8 185.1,131.66 185.54,131.38C185.98,131.09 186.32,130.72 186.55,130.28C186.8,129.84 186.93,129.38 186.93,128.91C186.93,128.45 186.8,127.99 186.55,127.55C186.32,127.11 185.98,126.75 185.54,126.47C185.1,126.18 184.57,126.03 183.96,126.03H180.48V131.8ZM191.02,140V124.25H192.89V140H191.02ZM199.14,140.35C198.3,140.35 197.57,140.19 196.94,139.87C196.31,139.55 195.81,139.11 195.44,138.55C195.09,137.98 194.92,137.33 194.92,136.62C194.92,135.79 195.13,135.1 195.55,134.55C195.98,133.98 196.55,133.55 197.27,133.27C197.99,132.98 198.78,132.83 199.65,132.83C200.15,132.83 200.61,132.88 201.03,132.96C201.46,133.04 201.82,133.13 202.13,133.25C202.46,133.35 202.7,133.45 202.86,133.56V132.88C202.86,132.02 202.56,131.35 201.96,130.85C201.35,130.35 200.62,130.1 199.76,130.1C199.14,130.1 198.56,130.24 198.02,130.52C197.49,130.79 197.07,131.16 196.76,131.64L195.36,130.59C195.65,130.15 196.02,129.77 196.46,129.44C196.9,129.12 197.4,128.87 197.95,128.7C198.52,128.52 199.13,128.43 199.76,128.43C201.28,128.43 202.48,128.83 203.34,129.64C204.21,130.45 204.64,131.53 204.64,132.9V140H202.86V138.4H202.77C202.58,138.72 202.31,139.04 201.96,139.34C201.6,139.64 201.19,139.88 200.7,140.07C200.23,140.26 199.71,140.35 199.14,140.35ZM199.32,138.71C199.96,138.71 200.55,138.54 201.08,138.22C201.62,137.9 202.05,137.47 202.37,136.92C202.7,136.38 202.86,135.79 202.86,135.14C202.52,134.91 202.1,134.72 201.58,134.57C201.08,134.42 200.53,134.35 199.93,134.35C198.86,134.35 198.08,134.57 197.58,135.01C197.08,135.45 196.83,135.99 196.83,136.64C196.83,137.25 197.07,137.75 197.53,138.13C198,138.51 198.6,138.71 199.32,138.71ZM212.22,140.35C211.12,140.35 210.13,140.1 209.27,139.59C208.42,139.06 207.75,138.35 207.27,137.45C206.78,136.54 206.54,135.52 206.54,134.39C206.54,133.25 206.78,132.23 207.27,131.34C207.75,130.44 208.42,129.74 209.27,129.22C210.13,128.7 211.12,128.43 212.22,128.43C213.48,128.43 214.51,128.72 215.32,129.31C216.14,129.88 216.72,130.62 217.06,131.53L215.36,132.24C215.08,131.55 214.66,131.03 214.11,130.68C213.57,130.31 212.9,130.13 212.13,130.13C211.47,130.13 210.85,130.3 210.28,130.65C209.72,131.01 209.27,131.5 208.92,132.15C208.56,132.78 208.39,133.53 208.39,134.39C208.39,135.24 208.56,135.99 208.92,136.64C209.27,137.28 209.72,137.78 210.28,138.13C210.85,138.49 211.47,138.66 212.13,138.66C212.92,138.66 213.6,138.48 214.17,138.11C214.75,137.74 215.17,137.22 215.45,136.55L217.12,137.25C216.76,138.12 216.16,138.85 215.34,139.45C214.52,140.05 213.48,140.35 212.22,140.35ZM224.03,140.35C222.95,140.35 221.98,140.1 221.13,139.59C220.29,139.07 219.63,138.37 219.15,137.47C218.68,136.58 218.44,135.56 218.44,134.41C218.44,133.34 218.66,132.35 219.1,131.45C219.56,130.54 220.19,129.81 220.99,129.27C221.82,128.71 222.78,128.43 223.88,128.43C224.99,128.43 225.94,128.68 226.74,129.18C227.54,129.66 228.16,130.34 228.58,131.2C229.02,132.07 229.24,133.06 229.24,134.17C229.24,134.28 229.24,134.38 229.22,134.48C229.22,134.58 229.21,134.67 229.2,134.74H220.31C220.36,135.55 220.54,136.23 220.86,136.79C221.23,137.42 221.7,137.89 222.27,138.2C222.86,138.51 223.47,138.66 224.1,138.66C224.92,138.66 225.59,138.47 226.12,138.09C226.66,137.69 227.1,137.21 227.42,136.64L229,137.41C228.56,138.26 227.93,138.96 227.11,139.52C226.29,140.08 225.26,140.35 224.03,140.35ZM220.42,133.21H227.26C227.25,132.9 227.18,132.57 227.04,132.21C226.93,131.85 226.73,131.51 226.45,131.2C226.19,130.88 225.84,130.62 225.42,130.43C225.01,130.23 224.49,130.13 223.88,130.13C223.14,130.13 222.51,130.32 221.96,130.7C221.43,131.06 221.03,131.57 220.75,132.21C220.61,132.52 220.5,132.85 220.42,133.21ZM231.43,140V124.25H233.3V128.89L233.21,130.43H233.3C233.6,129.88 234.07,129.41 234.73,129.02C235.41,128.63 236.15,128.43 236.96,128.43C237.91,128.43 238.69,128.62 239.31,129C239.93,129.38 240.39,129.9 240.7,130.57C241,131.21 241.16,131.96 241.16,132.81V140H239.29V133.1C239.29,132.38 239.15,131.8 238.89,131.38C238.64,130.94 238.3,130.62 237.88,130.43C237.47,130.23 237.01,130.13 236.51,130.13C235.9,130.13 235.35,130.3 234.87,130.65C234.38,131.01 234,131.46 233.72,132.02C233.44,132.57 233.3,133.15 233.3,133.76V140H231.43ZM249.02,140.35C247.89,140.35 246.89,140.09 246.03,139.56C245.16,139.04 244.48,138.32 243.98,137.43C243.5,136.52 243.26,135.51 243.26,134.39C243.26,133.28 243.5,132.27 243.98,131.38C244.48,130.47 245.16,129.75 246.03,129.22C246.89,128.7 247.89,128.43 249.02,128.43C250.15,128.43 251.15,128.7 252.01,129.24C252.88,129.77 253.55,130.49 254.04,131.4C254.54,132.3 254.79,133.29 254.79,134.39C254.79,135.51 254.54,136.52 254.04,137.43C253.55,138.32 252.88,139.04 252.01,139.56C251.15,140.09 250.15,140.35 249.02,140.35ZM249.02,138.66C249.7,138.66 250.33,138.49 250.91,138.15C251.51,137.82 252,137.33 252.37,136.7C252.73,136.06 252.91,135.29 252.91,134.39C252.91,133.5 252.73,132.74 252.37,132.1C252,131.46 251.51,130.97 250.91,130.63C250.33,130.29 249.7,130.13 249.02,130.13C248.35,130.13 247.71,130.29 247.11,130.63C246.51,130.97 246.02,131.46 245.65,132.1C245.29,132.74 245.1,133.5 245.1,134.39C245.1,135.29 245.29,136.06 245.65,136.7C246.02,137.33 246.51,137.82 247.11,138.15C247.71,138.49 248.35,138.66 249.02,138.66ZM256.85,140V124.25H258.72V140H256.85ZM266.16,140.35C265.14,140.35 264.23,140.1 263.41,139.59C262.6,139.07 261.96,138.37 261.49,137.47C261.02,136.58 260.79,135.55 260.79,134.39C260.79,133.23 261.02,132.21 261.49,131.31C261.96,130.42 262.6,129.71 263.41,129.2C264.23,128.69 265.14,128.43 266.16,128.43C266.76,128.43 267.31,128.53 267.81,128.72C268.3,128.91 268.74,129.16 269.1,129.46C269.48,129.77 269.78,130.1 269.98,130.46H270.07L269.98,128.89V124.25H271.85V140H270.07V138.35H269.98C269.78,138.69 269.48,139.01 269.1,139.32C268.74,139.63 268.3,139.88 267.81,140.07C267.31,140.26 266.76,140.35 266.16,140.35ZM266.35,138.66C267,138.66 267.6,138.49 268.16,138.15C268.73,137.8 269.19,137.31 269.54,136.68C269.9,136.04 270.07,135.27 270.07,134.39C270.07,133.51 269.9,132.76 269.54,132.13C269.19,131.48 268.73,130.99 268.16,130.65C267.6,130.3 267,130.13 266.35,130.13C265.71,130.13 265.1,130.3 264.53,130.65C263.97,130.99 263.52,131.48 263.16,132.13C262.81,132.76 262.64,133.51 262.64,134.39C262.64,135.26 262.81,136.01 263.16,136.66C263.52,137.3 263.97,137.8 264.53,138.15C265.1,138.49 265.71,138.66 266.35,138.66ZM279.5,140.35C278.42,140.35 277.45,140.1 276.6,139.59C275.76,139.07 275.1,138.37 274.62,137.47C274.15,136.58 273.92,135.56 273.92,134.41C273.92,133.34 274.14,132.35 274.58,131.45C275.03,130.54 275.66,129.81 276.47,129.27C277.29,128.71 278.25,128.43 279.35,128.43C280.46,128.43 281.42,128.68 282.21,129.18C283.02,129.66 283.63,130.34 284.06,131.2C284.5,132.07 284.72,133.06 284.72,134.17C284.72,134.28 284.71,134.38 284.7,134.48C284.7,134.58 284.69,134.67 284.67,134.74H275.79C275.83,135.55 276.01,136.23 276.33,136.79C276.7,137.42 277.17,137.89 277.74,138.2C278.33,138.51 278.94,138.66 279.57,138.66C280.39,138.66 281.07,138.47 281.59,138.09C282.14,137.69 282.57,137.21 282.89,136.64L284.48,137.41C284.04,138.26 283.4,138.96 282.58,139.52C281.76,140.08 280.73,140.35 279.5,140.35ZM275.89,133.21H282.74C282.72,132.9 282.65,132.57 282.52,132.21C282.4,131.85 282.2,131.51 281.92,131.2C281.66,130.88 281.31,130.62 280.89,130.43C280.48,130.23 279.96,130.13 279.35,130.13C278.62,130.13 277.98,130.32 277.43,130.7C276.91,131.06 276.5,131.57 276.23,132.21C276.08,132.52 275.97,132.85 275.89,133.21ZM286.91,140V128.78H288.69V130.59H288.78C288.92,130.16 289.16,129.79 289.5,129.49C289.85,129.16 290.25,128.91 290.69,128.74C291.14,128.55 291.59,128.45 292.03,128.45C292.37,128.45 292.63,128.48 292.82,128.52C293.01,128.55 293.19,128.6 293.35,128.67V130.7C293.12,130.58 292.86,130.49 292.58,130.43C292.32,130.37 292.05,130.35 291.77,130.35C291.23,130.35 290.73,130.5 290.27,130.81C289.82,131.12 289.45,131.53 289.17,132.04C288.91,132.55 288.78,133.12 288.78,133.73V140H286.91Z"/>
+    </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..4bdab7f
--- /dev/null
+++ b/res/layout/dialog_audio_sharing_join.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<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" />
+
+    <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" />
+
+    <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_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..d2a495d
--- /dev/null
+++ b/res/layout/fingerprint_v2_enroll_find_sensor.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.
+  -->
+
+<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:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:clipToPadding="false"
+    android:clipChildren="false">
+
+    <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..0b087d2
--- /dev/null
+++ b/res/layout/fingerprint_v2_rfps_enroll_enrolling.xml
@@ -0,0 +1,75 @@
+<?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"
+    style="?attr/fingerprint_layout_theme"
+    android:id="@+id/setup_wizard_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    >
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    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_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/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_advancing_screen.xml b/res/layout/privatespace_advancing_screen.xml
new file mode 100644
index 0000000..3a85b16
--- /dev/null
+++ b/res/layout/privatespace_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_privatespace_icon">
+    <LinearLayout style="@style/SudContentFrame"
+                  android:layout_width="match_parent"
+                  android:layout_height="match_parent"
+                  android:orientation="vertical">
+        <ImageView
+            android:id="@+id/placeholder_image"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1"
+            android:contentDescription="@null"
+            android:src="@drawable/privatespace_setup_flow_placeholder"/>
+
+        <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/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_education_screen.xml b/res/layout/privatespace_education_screen.xml
new file mode 100644
index 0000000..350e780
--- /dev/null
+++ b/res/layout/privatespace_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_privatespace_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/placeholder_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/privatespace_placeholder_image"/>
+        <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/privatespace_setlock_screen.xml b/res/layout/privatespace_setlock_screen.xml
new file mode 100644
index 0000000..7211948
--- /dev/null
+++ b/res/layout/privatespace_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/privatespace_lock_placeholder"/>
+
+    </com.google.android.setupdesign.view.FillContentLayout>
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
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/privatespace_setup_success.xml b/res/layout/privatespace_setup_success.xml
new file mode 100644
index 0000000..e3e6b68
--- /dev/null
+++ b/res/layout/privatespace_setup_success.xml
@@ -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.
+  -->
+
+<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">
+</com.google.android.setupdesign.GlifLayout>
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/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_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..0030e11
--- /dev/null
+++ b/res/raw/fold_setting_sleep_on_fold_lottie.json
@@ -0,0 +1 @@
+{"v":"5.9.0","fr":60,"ip":0,"op":244,"w":412,"h":300,"nm":"Foldable_FoldingSetting_EDU_03_412x300","ddd":0,"assets":[{"id":"comp_0","nm":"Unfolded YouTube UI","fr":60,"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"▽ Group 9","refId":"comp_1","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_2","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_3","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_4","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_6","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_1","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_2","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_3","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_4","nm":"▽ Group 5","fr":60,"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"▽ Group 6","refId":"comp_5","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_5","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_6","nm":"▽ Group 2","fr":60,"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"▽ Group 4","refId":"comp_7","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_8","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_7","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_8","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":0,"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":4,"nm":"Vector","parent":2,"tt":1,"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":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[113.636,113.636,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.918,-0.923],[-1.289,0],[0,0],[-0.918,0.923],[0,1.296],[0,0],[0.918,0.923],[1.289,0],[0,0],[0,0],[2.891,2.911],[4.109,0],[2.896,-2.911],[0,-4.13],[0,0],[0,0],[0.918,-0.923],[0,-1.296],[0,0]],"o":[[0.918,0.923],[0,0],[1.289,0],[0.918,-0.923],[0,0],[0,-1.296],[-0.918,-0.923],[0,0],[0,0],[0,-4.13],[-2.891,-2.911],[-4.109,0],[-2.896,2.911],[0,0],[0,0],[-1.289,0],[-0.918,0.923],[0,0],[0,1.296]],"v":[[-23.623,31.615],[-20.312,33],[20.312,33],[23.623,31.615],[25,28.286],[25,-5.814],[23.623,-9.144],[20.312,-10.529],[14.844,-10.529],[14.844,-18.071],[10.508,-28.633],[0.008,-33],[-10.5,-28.633],[-14.844,-18.071],[-14.844,-10.529],[-20.312,-10.529],[-23.623,-9.144],[-25,-5.814],[-25,28.286]],"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":[[20.312,28.286],[-20.312,28.286],[-20.312,-5.814],[20.312,-5.814]],"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.172,-1.154],[1.658,0],[1.181,1.152],[0,1.598],[-1.172,1.283],[-1.658,0],[-1.181,-1.283],[0,-1.571]],"o":[[-1.172,1.154],[-1.658,0],[-1.181,-1.152],[0,-1.598],[1.172,-1.283],[1.658,0],[1.181,1.283],[0,1.621]],"v":[[4.258,15.555],[0.013,17.286],[-4.245,15.557],[-6.016,11.432],[-4.258,7.111],[-0.013,5.186],[4.245,7.111],[6.016,11.393]],"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],[-1.979,1.986],[-2.819,0],[-1.973,-1.986],[0,-2.837]],"o":[[0,0],[0,0],[0,-2.837],[1.979,-1.986],[2.819,0],[1.973,1.986],[0,0]],"v":[[10.156,-10.529],[-10.156,-10.529],[-10.156,-18.071],[-7.188,-25.307],[0.009,-28.286],[7.197,-25.307],[10.156,-18.071]],"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":[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":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":630,"st":30,"bm":0},{"ddd":0,"ind":7,"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":8,"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":9,"ty":0,"nm":"Unfolded 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":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":10,"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":11,"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":12,"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":247,"st":30,"bm":0},{"ddd":0,"ind":15,"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":16,"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":244,"st":40,"bm":0}],"markers":[]}
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..53b2ff0
--- /dev/null
+++ b/res/raw/fold_setting_stay_awake_on_fold_lottie.json
@@ -0,0 +1 @@
+{"v":"5.9.0","fr":60,"ip":0,"op":332,"w":412,"h":300,"nm":"Foldable_FoldingSetting_EDU_01_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}]},{"id":"comp_18","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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"bm":0}]},{"id":"comp_19","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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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,"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":181,"op":781,"st":181,"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":191,"s":[0,0,0],"to":[-10.833,0,0],"ti":[10.833,0,0]},{"t":231,"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":181,"op":395,"st":191,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".grey603","cl":"grey603","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":211,"s":[0,100,100]},{"t":231,"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":211,"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":212,"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":231,"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":211,"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":212,"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":231,"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":212,"op":396,"st":190,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".black 6","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":211,"s":[0,100,100]},{"t":231,"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":211,"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":212,"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":231,"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":212,"op":396,"st":190,"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":231,"s":[0]},{"t":241,"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":202,"op":802,"st":202,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".black 5","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":211,"s":[0,100,100]},{"t":231,"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":211,"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":212,"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":231,"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":212,"op":396,"st":190,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 2","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":199,"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":200,"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":201,"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":202,"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":203,"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":204,"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":205,"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":206,"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":207,"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":208,"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":209,"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":210,"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":211,"s":[270,150,0],"to":[3.556,0,0],"ti":[-2.222,0,0]},{"t":212,"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":151,"op":781,"st":181,"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":191,"s":[100]},{"t":201,"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":151,"op":751,"st":151,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".grey602","cl":"grey602","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":191,"s":[100,100,100]},{"t":212,"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":191,"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":210,"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":212,"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":191,"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":207,"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":210,"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":211,"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":212,"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":151,"op":212,"st":191,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".black 4","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":191,"s":[99,99,100]},{"t":212,"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":191,"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":207,"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":210,"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":211,"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":212,"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":151,"op":212,"st":191,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".grey604","cl":"grey604","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":151,"op":419,"st":181,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".black 3","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":151,"op":395,"st":191,"bm":0},{"ddd":0,"ind":15,"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":151,"st":30,"bm":0},{"ddd":0,"ind":16,"ty":3,"nm":"Null 1","parent":15,"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":151,"st":40,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".grey600","cl":"grey600","parent":16,"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":151,"st":39,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".black 2","cl":"black","parent":16,"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":151,"st":39,"bm":0},{"ddd":0,"ind":19,"ty":0,"nm":"Folded Gmail UI","parent":16,"tt":1,"refId":"comp_18","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":151,"st":51,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":".black","cl":"black","parent":16,"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":151,"st":39,"bm":0},{"ddd":0,"ind":21,"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":151,"st":30,"bm":0},{"ddd":0,"ind":22,"ty":0,"nm":"Unfolded Gmail UI","parent":16,"tt":1,"refId":"comp_19","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":151,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":".grey600","cl":"grey600","parent":16,"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":24,"ty":4,"nm":".black","cl":"black","parent":16,"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":25,"ty":4,"nm":".grey600","cl":"grey600","parent":16,"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":151,"st":30,"bm":0},{"ddd":0,"ind":27,"ty":4,"nm":".black","cl":"black","parent":16,"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":151,"st":40,"bm":0},{"ddd":0,"ind":28,"ty":4,"nm":".black","cl":"black","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[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,"bm":0}],"markers":[]}
\ 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..5f0b1a3 100644
--- a/res/values-af/arrays.xml
+++ b/res/values-af/arrays.xml
@@ -479,4 +479,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..fb293cd 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Privaat Ruimte-slot"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Jy kan 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="5804023571114910034">"Vingerafdrukslot vir Privaat Ruimte"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Wil jy ’n nuwe slot vir Privaat Ruimte kies?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Sluit outomaties"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Versteek Privaat Ruimte as dit gesluit is"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Jy kan Privaat Ruimte op jou appslys versteek as jy nie wil hê ander mense moet weet dis op jou toestel nie"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Kry toegang tot Privaat Ruimte wanneer dit versteek is"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Soek na “Privaat Ruimte” in die soekbalk"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tik op die Privaat Ruimte-teël"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Vee privaat ruimte uit"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Privaat ruimte is suksesvol uitgevee"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Kennisgewings vanaf apps in privaat ruimte word versteek as dit gesluit is"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Ontsluit jou privaat ruimte om foto’s of lêers vanuit privaat ruimte-apps 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="1210906480024148398">"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="4258842502257201013">"Gaan na jou lys apps en rollees af om toegang tot 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Om Privaat Ruimte te wys (nie finale UX nie)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Maak die Instellings-program oop"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Tik op Sekuriteit &amp; privaatheid &gt; Privaat Ruimte &gt; Versteek Privaat Ruimte wanneer gesluit"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Skakel die wisselfunksie Privaat Ruimte wanneer gesluit af"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Nota aan Googlers: Die ontwikkeling van hierdie kenmerk is nog aan die gang"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Stoor"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Kanselleer"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Verbeter stemaktivering"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Hierdie toestel gebruik privaat intelligensie om die stemaktiveringmodel te verbeter. Apps kan opgesomde opdaterings ontvang wat deur baie gebruikers saamgevoeg word om privaatheid te handhaaf terwyl die model vir almal verbeter word.\n\n"<a href="">"Meer oor privaat intelligensie"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Bykomende verskaffers"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Wagwoorde, toegangsleutels en datadienste"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
index 4bdfd0b..4bc5176 100644
--- a/res/values-am/arrays.xml
+++ b/res/values-am/arrays.xml
@@ -479,4 +479,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..95fc23b 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>
@@ -113,23 +116,34 @@
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"የብሉቱዝ LE ኦዲዮን ያሰናክሉ"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"መሣሪያው የ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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"የግል ቦታ"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"የግል መተግበሪያዎችን ቆልፈው እና ደብቀው ያስቀምጡ"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"የግል መተግበሪያዎችን መደበቅ ወይም መቆለፍ በሚችሉት የተለየ ቦታ ላይ ያቆዩ"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"የግል ቦታ ቁልፍ"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"መሳሪያዎን እንደከፈቱት በተመሳሳይ መንገድ የግል ቦታ መክፈት ወይም የተለየ ቁልፍ መምረጥ ይችላሉ"</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="5804023571114910034">"ለግል ቦታ በጣት አሻራ መክፈቻ"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"ለግል ቦታ በመልክ መክፈት"</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="7306873010565337671">"ለግል ቦታ አዲስ ቁልፍ ይመርጣሉ?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"በራስ-ሰር ቆልፍ"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"የግል ቦታን በራስ-ሰር ቆልፍ"</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="972581369094289386">"በሚቆለፍበት ጊዜ የግል ቦታን ይደብቁ"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ሌሎች ሰዎች የግል ቦታ መሣሪያዎ ላይ እንደበራ ማወቃቸውን ለማቆም ከመተግበሪያዎ ዝርዝር ሊደብቁት ይችላሉ"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"በሚደበቅበት ጊዜ የግል ቦታን ይድረሱ"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"በፍለጋ አሞሌው ውስጥ «የግል ቦታ» ብለው ይፈልጉ"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"የግል ቦታ ሰቁን መታ ያድርጉ"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"የግል ቦታዎን ይክፈቱ"</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="3075645119800272800">"የግል ቦታን ሰርዝ"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"የግል ቦታ በተሳካ ሁኔታ ተሰርዟል"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"የግል ቦታ መሰረዝ አልቻለም"</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="4377296080723608107">"በሚቆለፍበት ጊዜ የግል ቦታ ውስጥ ካሉ መተግበሪያዎች የሚመጡ ማሳወቂያዎች ይደበቃሉ"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"ፎቶዎችን ወይም ፋይሎችን ከግል ቦታ መተግበሪያዎች ለማጋራት የግል ቦታዎን ይክፈቱ"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"አንዳንድ መተግበሪያዎች አስቀድመው በእርስዎ የግል ቦታ ላይ ተጭነዋል"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"የግል ቦታን ማዋቀር አልተቻለም"</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="4258842502257201013">"የግል ቦታዎን ለመድረስ ወደ የመተግበሪያዎች ዝርዝርዎ ይሂዱ እና ወደ ታች ይሸብልሉ።"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"ተከናውኗል"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"የግል ቦታን ለማግኘት ወደ ታች ይሸብልሉ"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"የግል ቦታን ለማሳየት (የመጨረሻው የተጠቃሚ ተሞክሮ አይደለም)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"የቅንብሮች መተግበሪያን ይክፈቱ"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"ደህንነት &gt; ግላዊነት &gt; የግል ቦታ&gt; ሲቆለፍ የግል ቦታን ደብቅ የሚለው ላይ መታ ያድርጉ"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"ቀያይርን ሲቆለፍ የግል ቦታ ደብቅን አጥፋ"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"ማስታወሻ ለ Google ሰራተኛ፡- የዚህ ባህሪ እድገት አሁንም በሂደት ላይ ነው"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ይህን የይለፍ ቁልፍ በሌላ መሣሪያ ላይማስገባት ሊያስፈልግህ ይችላል።"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"ከተባባሪ ስብስቡ ጋር ለመጣመር ያረጋግጡ"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"የባትሪደረጃ፡"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"የጋራ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"የጋራ ቅንብሮች"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"አስቀምጥ"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ይቅር"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"የድምጽ ማግበርን ያሻሽሉ"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"ይህ መሣሪያ የድምጽ ማግበር ሞዴሉን ለማሻሻል የግል መረጃን ይጠቀማል። መተግበሪያዎች ለሁሉም ሰው ሞዴሉን ሲያሻሽሉ ግላዊነትን ለመጠበቅ በብዙ ተጠቃሚዎች ላይ የተሰበሰቡ የተጠቃለሉ ዝመናዎችን መቀበል ይችላሉ።\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"ተጨማሪ አቅራቢዎች"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"የይለፍ ቃላት፣ የይለፍ ቁልፎች እና የውሂብ አገልግሎቶች"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-ar/arrays.xml b/res/values-ar/arrays.xml
index 966767e..509c4b9 100644
--- a/res/values-ar/arrays.xml
+++ b/res/values-ar/arrays.xml
@@ -479,4 +479,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 6ccc85a..e46c770 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"مساحة خاصة"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"إبقاء التطبيقات الخاصة مقفلة ومخفية"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"احتفِظ بالتطبيقات الخاصة في مساحة منفصلة يمكنك إخفاؤها أو قفلها."</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"قفل المساحة الخاصة"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"يمكنك فتح قفل المساحة الخاصة بالطريقة نفسها المستخدَمة لفتح قفل هاتفك، أو اختيار طريقة أخرى."</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="5804023571114910034">"استخدام ميزة \"فتح الجهاز ببصمة الإصبع\" للمساحة الخاصّة"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"استخدام ميزة \"فتح الجهاز بالتعرّف على الوجه\" للمساحة الخاصّة"</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="7306873010565337671">"هل تريد اختيار طريقة جديدة لقفل المساحة الخاصة؟"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"القفل التلقائي"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"قفل المساحة الخاصة تلقائيًا"</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="972581369094289386">"إخفاء المساحة الخاصة إذا كانت مقفلة"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"يمكنك إخفاء المساحة الخاصة من قائمة التطبيقات على جهازك لمنع وصول الآخرين إليها."</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"الوصول إلى المساحة الخاصة بعد إخفائها"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"ابحث عن \"المساحة الخاصة\" في شريط البحث."</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"انقر على مربّع \"المساحة الخاصة\"."</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"افتح قفل المساحة الخاصة."</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="3075645119800272800">"حذف المساحة الخاصة"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"تم حذف المساحة الخاصة بنجاح."</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"تعذَّر حذف المساحة الخاصة."</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="4377296080723608107">"يتم إخفاء الإشعارات الواردة من تطبيقات المساحة الخاصة إذا كانت المساحة مقفلة."</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"فتح قفل المساحة الخاصّة لمشاركة الصور أو الملفات من التطبيقات المدْرجة فيها"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"بعض التطبيقات سبَق أن تم تثبيتها في المساحة الخاصة"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"تعذّر إعداد المساحة الخاصة"</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="4258842502257201013">"للوصول إلى المساحة الخاصة، انتقِل إلى قائمة التطبيقات ثم مرِّر سريعًا للأسفل."</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"تم"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"انتقِل للأسفل للعثور على مساحة خاصة."</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"إظهار المساحة الخاصة (ليست تجربة المستخدم النهائية)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"فتح تطبيق \"الإعدادات\""</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"‏اضغط على \"الأمان والخصوصية\" &gt; مساحة خاصة &gt; إخفاء المساحة الخاصة إذا كانت مقفلة."</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"إيقاف خيار تبديل إعداد \"إخفاء المساحة الخاصة إذا كانت مقفلة\""</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"‏ملاحظة لموظفي Google: لا يزال تطوير هذه الميزة قيد التنفيذ."</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"قد يلزم أيضًا كتابة مفتاح المرور هذا على الجهاز الآخر."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"تأكيد الاقتران بمجموعة الأجهزة المنظمة"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"مستوى البطارية"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"الإعدادات المشتركة"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"الإعدادات المشتركة"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"حفظ"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"إلغاء"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"تحسين التفعيل الصوتي"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"يستخدم هذا الجهاز معلومات خاصة لتحسين نموذج التفعيل الصوتي. ومن الممكن إجراء تحديثات موجزة على التطبيقات يتم تجميعها من مختلف المستخدمين للحفاظ على الخصوصية وتحسين هذا النموذج للجميع.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"مقدّمو الخدمات الإضافيون"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"كلمات المرور ومفاتيح المرور وخدمات البيانات"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4515,7 +4778,7 @@
     <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>
@@ -4547,8 +4810,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4969,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 +5066,29 @@
     <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>
 </resources>
diff --git a/res/values-as/arrays.xml b/res/values-as/arrays.xml
index 702d076..caca9e2 100644
--- a/res/values-as/arrays.xml
+++ b/res/values-as/arrays.xml
@@ -479,4 +479,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..fac7ee4 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>
@@ -113,23 +116,34 @@
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"ব্লুটুথ LE অডিঅ’ অক্ষম কৰক"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"ডিভাইচটোৱে LE অডিঅ’ হাৰ্ডৱেৰ ক্ষমতাসমূহ সমৰ্থন কৰিলে ই ব্লুটুথ 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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"ব্যক্তিগত স্পে’চ"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ব্যক্তিগত এপ্‌ লক কৰি লুকুৱাই ৰাখক"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"ব্যক্তিগত এপ্‌সমূহ আপুনি লুকুৱাই ৰাখিব বা লক কৰিব পৰা এটা পৃথক স্পেচত ৰাখক"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"ব্যক্তিগত স্পে’চৰ লক"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"আপুনি আপোনাৰ ডিভাইচটো আনলক কৰিবলৈ ব্যৱহাৰ কৰা একেটা পদ্ধতি ব্যৱহাৰ কৰি ব্যক্তিগত স্পে’চ আনলক কৰিব পাৰে অথবা অন্য কোনো লক বাছনি কৰিব পাৰে"</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="5804023571114910034">"প্ৰাইভেট স্পেচৰ বাবে ফিংগাৰপ্ৰিণ্ট আনলক"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"প্ৰাইভেট স্পেচৰ বাবে ফে’চ আনলক"</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="7306873010565337671">"ব্যক্তিগত স্পে’চৰ বাবে নতুন লক বাছনি কৰিবনে?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"স্বয়ংক্ৰিয়ভাৱে লক কৰক"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"প্ৰাইভেট স্পেচ স্বয়ংক্ৰিয়ভাৱে লক কৰক"</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="972581369094289386">"লক কৰি থোৱা অৱস্থাত ব্যক্তিগত স্পে’চ লুকুৱাওক"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"আপোনাৰ ডিভাইচত ব্যক্তিগত স্পে’চ অন হৈ থকাৰ বিষয়ে অন্য লোকে জনাটো বন্ধ কৰিবলৈ, আপুনি এইটো আপোনাৰ এপৰ সূচীৰ পৰা লুকুৱাব পাৰে"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"লুকুৱাই ৰখা অৱস্থাত ব্যক্তিগত স্পে’চ এক্সেছ কৰক"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"সন্ধানৰ বাৰত \'ব্যক্তিগত স্পে’চ\' সন্ধান কৰক"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"ব্যক্তিগত স্পে’চ টাইলত টিপক"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"ব্যক্তিগত স্পে’চ আনলক কৰক"</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="3075645119800272800">"ব্যক্তিগত স্পে’চ মচক"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"ব্যক্তিগত স্পে’চ সফলতাৰে মচা হৈছে"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"ব্যক্তিগত স্পে’চ মচিব পৰা নগ’ল"</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="4377296080723608107">"ব্যক্তিগত স্পে’চ লক হৈ থাকিলে তাত থকা এপৰ জাননী লুকুওৱা হয়"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"প্ৰাইভেট স্পেচৰ এপৰ পৰা ফট’ অথবা ফাইল শ্বেয়াৰ কৰিবলৈ প্ৰাইভেট স্পেচ আনলক কৰক"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"কিছুমান এপ ইতিমধ্যে আপোনাৰ ব্যক্তিগত স্পে’চত ইনষ্টল কৰা হৈছে"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"ব্যক্তিগত স্পে’চ ছেট আপ কৰিব পৰা নগ’ল"</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="4258842502257201013">"আপোনাৰ ব্যক্তিগত স্পে’চ এক্সেছ কৰিবলৈ, আপোনাৰ এপৰ সূচীখনলৈ গৈ তাৰ পাছত তললৈ স্ক্ৰ’ল কৰক"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"কৰা হ’ল"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"ব্যক্তিগত স্পে’চ বিচাৰিবলৈ তললৈ স্ক্ৰ’ল কৰক"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"ব্যক্তিগত স্পে’চ দেখুৱাবলৈ (চূড়ান্ত UX নহয়)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Settings এপ্‌টো খোলক"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"সুৰক্ষা আৰু গোপনীয়তা &gt; ব্যক্তিগত স্পে’চ &gt; লক কৰা থাকিলে ব্যক্তিগত স্পে’চ লুকুৱাওকত টিপক"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"লক কৰা থাকিলে ব্যক্তিগত স্পে’চ লুকুৱাওক ট’গল অফ কৰক"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Googlerসকলৰ বাবে টোকা: এই সুবিধাটোৰ এতিয়াও বিকাশ কৰি থকা হৈছে"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"আপুনি এই পাছকীটো অন্য ডিভাইচত টাইপ কৰিবলগীয়াও হ’ব পাৰে৷"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"সংগতিপূৰ্ণ ছেটৰ সৈতে পেয়াৰ কৰিবলৈ নিশ্চিত কৰক"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"বেটাৰীৰ পৰিমাণ"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"সম্প্ৰদায়ৰ সৈতে জড়িত"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"সম্প্ৰদায়ৰ সৈতে জড়িত ছেটিং"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"ছেভ কৰক"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"বাতিল কৰক"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"কণ্ঠধ্বনিৰে সক্ৰিয় কৰাৰ সুবিধা উন্নত কৰক"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"কণ্ঠধ্বনিৰে সক্ৰিয় কৰাৰ মডেল উন্নত কৰিবলৈ এই ডিভাইচটোৱে ব্যক্তিগত বুদ্ধিমত্তা ব্যৱহাৰ কৰে। এপ্‌সমূহে সংক্ষিপ্ত আপডে’ট লাভ কৰিব পাৰে যিবোৰ সকলোৰে বাবে মডেলটো উন্নত কৰোঁতে গোপনীয়তা বজাই ৰাখিবলৈ বিভিন্ন ব্যৱহাৰকাৰীৰ পৰা একত্ৰিত কৰা হয়।\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"অতিৰিক্ত প্ৰদানকাৰী"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"পাছৱৰ্ড, পাছকী আৰু ডেটা সেৱা"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-az/arrays.xml b/res/values-az/arrays.xml
index ed6a3f2..16a8830 100644
--- a/res/values-az/arrays.xml
+++ b/res/values-az/arrays.xml
@@ -479,4 +479,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..e40a47b 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Şəxsi yer"</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="3006539720164938296">"Şəxsi məkan kilidi"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Şəxsi məkanı cihaz kilidi ilə kiliddən çıxara və ya fərqli 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="5804023571114910034">"Şəxsi Sahə üçün Barmaqla Kiliddən Açma"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Şəxsi Sahə üçün Üz ilə Kiliddən Aç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="7306873010565337671">"Şəxsi məkan üçün yeni kilid seçilsin?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Avtomatik kilidləyin"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Şə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="972581369094289386">"Kilidli olduqda Private Space-i gizlədin"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Tətbiqlər siyahısında Private Space-i digərlərindən gizlədin"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Gizli olduqda Private Space-ə giriş"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Axtarış panelində \"Private Space\" axtarın"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Private Space mozaikinə toxunun"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Private Space-i 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="3075645119800272800">"Şəxsi yeri silin"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Şəxsi yer silindi"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Şəxsi yer 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="4377296080723608107">"Kilidli olduqda məxfi yerdəki tətbiq bildirişləri gizlədilir"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Şəxsi sahə tətbiqlərindən 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="1210906480024148398">"Məxfi yer 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="4258842502257201013">"Məxfi yerə daxil olmaq üçü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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Şəxsi məkanın göstərilməsi (UX təcrübəsi deyil)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Ayarlar tətbiqini açın"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Təhlükəsizlik və məxfilik &gt; Şəxsi məkan &gt; Kilidləndikdə Şəxsi məkanı gizlədin"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Kilidləndikdə Şəxsi məkanı gizlədin keçiricisini söndürün"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Google ekspertləri üçün qeyd: Bu funksiya inkişaf mərhələsindədir"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <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>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Səslə aktivləşdirməni təkmilləşdirin"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Bu cihaz səslə aktivləşdirmə modelini təkmilləşdirmək üçün məxfi araşdırmadan istifadə edir. Tətbiqlər modeli təkmilləşdirərkən məxfiliyi qorumaq üçün bir çox istifadəçidən toplanmış ümumi yeniləmələr qəbul edə bilər.\n\n"<a href="">"Məxfi araşdırma haqqında ətraflı"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Əlavə provayderlə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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Parol, giriş açarı və data xidmətləri"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-b+sr+Latn/arrays.xml b/res/values-b+sr+Latn/arrays.xml
index bee9f81..880334d 100644
--- a/res/values-b+sr+Latn/arrays.xml
+++ b/res/values-b+sr+Latn/arrays.xml
@@ -479,4 +479,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 ea91957..a66cb55 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 preklopite 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">"Sklopite 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 preklopite 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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>
@@ -362,9 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Zaključavanje privatnog prostora"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Možete da otključavate privatni prostor 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="5804023571114910034">"Otključavanje otiskom prsta za privatni prostor"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Odabraćete novo zaključavanje za privatni prostor?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Automatski zaključaj"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Sakrijte privatni prostor kad je zaključan"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Privatni prostor možete da sakrijete sa liste aplikacija"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Pristupite privatnom prostoru kad je sakriven"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Potražite Privatni prostor na traci za pretragu"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Dodirnite pločicu Privatni prostor"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Izbriši privatni prostor"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Privatni prostor je izbrisan"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Obaveštenja iz aplikacija u privatnom prostoru su skrivena kad je on zaključan"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Otključajte privatni prostor da biste delili slike ili fajlove iz aplikacija u privatnom prostoru"</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="1210906480024148398">"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="4258842502257201013">"Da biste pristupili privatnom prostoru, 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Da biste prikazali privatno prostor (nije konačni UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Otvorite aplikaciju Podešavanja"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Dodirnite Bezbednost &amp; Privatnost &gt; Privatni prostor &gt; Sakrijte privatni prostor kad je zaključan"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Prekidač Sakrijte privatni prostor kad je zaključan"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Napomena zaposlenima u Google-u: Programiranje ove aplikacije je još u toku"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 aplikacija pri preklapanju"</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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <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>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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">"Vibracija 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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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">"Upravljajte 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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Poboljšavaj aktivaciju glasom"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Ovaj uređaj koristi privatna saznanja da bi poboljšao model aktivacije glasom. Aplikacije mogu da dobijaju sažete novosti koje su objedinjene za veliki broj korisnika u cilju očuvanja privatnosti i poboljšanja modela za sve.\n\n"<a href="">"Više o privatnim saznanjima"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Dodatni dobavljači usluga"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Usluge za lozinke, pristupne kodove i podatke"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4512,7 +4775,7 @@
     <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>
@@ -4544,8 +4807,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4966,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 +5063,29 @@
     <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>
 </resources>
diff --git a/res/values-be/arrays.xml b/res/values-be/arrays.xml
index e26b403..a9be1b7 100644
--- a/res/values-be/arrays.xml
+++ b/res/values-be/arrays.xml
@@ -479,4 +479,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..822370b 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Прыватная вобласць"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Схавайце прыватныя праграмы ў асобную прастору і закрыйце доступ да яе"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Стварыце асобную вобласць для прыватных праграм, якую можна схаваць або абараніць з дапамогай блакіроўкі"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"Блакіроўка прыватнай вобласці"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Прыватную вобласць можна разблакіраваць тым жа спосабам, што і пры блакіроўцы прылады, або выбраць іншы спосаб блакіроўкі"</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="5804023571114910034">"Разблакіроўка адбіткам пальца для прыватнай прасторы"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Распазнаванне твару для прыватнай прасторы"</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="7306873010565337671">"Выбраць новую блакіроўку для прыватнай вобласці?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Блакіраваць аўтаматычна"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Аўтаматычная блакіроўка прыватнай прасторы"</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="972581369094289386">"Хаваць прыватную вобласць, калі доступ да яе заблакіраваны"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Прыватную вобласць можна не паказваць у спісе праграм"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Доступ да прыватнай вобласці, калі яна схавана"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"У радку пошуку набярыце \"Прыватная вобласць\""</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Націсніце на плітку \"Прыватная вобласць\""</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Разблакіраваць прыватную вобласць"</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="3075645119800272800">"Выдаліць прыватную вобласць"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Прыватная вобласць выдалена"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Не ўдалося выдаліць прыватную вобласць"</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="4377296080723608107">"Калі доступ да прыватнай прасторы заблакіраваны, апавяшчэнні з дададзеных у яе праграм не паказваюцца"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Каб абагульваць фота і файлы з праграм, дададзеных у прыватную прастору, разблакіруйце доступ да яе"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Некаторыя праграмы ўжо ўсталяваны ў прыватнай прасторы"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"Не ўдалося наладзіць прыватную прастору"</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="4258842502257201013">"Каб атрымаць доступ да прыватнай прасторы, перайдзіце да спіса праграм і прагартайце ўніз"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Гатова"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Каб знайсці прыватную прастору, прагартайце ўніз"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Каб паказаць прыватную вобласць (інтэрфейс дапрацоўваецца)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Адкрыйце праграму \"Налады\""</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Націсніце \"Бяспека і прыватнасць &gt; Прыватная вобласць &gt; Хаваць прыватную вобласць пры блакіроўцы\""</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Выключыць наладу \"Хаваць прыватную вобласць пры блакіроўцы\""</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Заўвага для супрацоўнікаў Google. Распрацоўка гэтай функцыі яшчэ не завершана."</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Вам таксама можа спатрэбіцца ўвесці гэты ключ доступу на іншай прыладзе."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Пацвердзіце спалучэнне з узгодненым наборам"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Узровень батарэі"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Супольныя"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Супольныя налады"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Захаваць"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Скасаваць"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Палепшыць галасавую актывацыю"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Гэта прылада выкарыстоўвае прыватныя даныя для паляпшэння мадэлі галасавой актывацыі. Праграмы могуць атрымліваць сукупныя даныя ад мноства карыстальнікаў. Гэта дазваляе палепшыць мадэль для ўсіх і пры гэтым забяспечыць прыватнасць.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Дадатковыя пастаўшчыкі"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Сэрвісы для захоўвання пароляў, ключоў доступу і даных"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4513,7 +4776,7 @@
     <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>
@@ -4545,8 +4808,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4967,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 +5064,29 @@
     <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>
 </resources>
diff --git a/res/values-bg/arrays.xml b/res/values-bg/arrays.xml
index f2f9d44..dbf54fe 100644
--- a/res/values-bg/arrays.xml
+++ b/res/values-bg/arrays.xml
@@ -479,4 +479,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..5290654 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Лично пространство"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Заключване и скриване на частните приложения"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Частните приложения са на отделно място, което можете да скриете или заключите"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"Опция за заключване на личното пространство"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Можете да отключвате личното пространство по същия начин, по който отключвате устройството си, или да изберете друга опция за заключване"</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="5804023571114910034">"„Отключване с отпечатък“ за частното пространство"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"„Отключване с лице“ за частното пространство"</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="7306873010565337671">"Искате ли нова опция за закл. на личното простр.?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Автоматично заключване"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Автоматично заключване на частното пространство"</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="972581369094289386">"Скриване на личното пространство, когато е заключено"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"За да бъде тайно личното пространство на у-вото ви, можете да го скриете от списъка с приложения"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Достъп до личното пространство, когато е скрито"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Потърсете „лично пространство“ в лентата за търсене"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Докоснете панела за личното пространство"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Отключване на личното ви пространство"</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="3075645119800272800">"Изтриване на личното пространство"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Личното пространство бе изтрито успешно"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Изтриването на личното пространство не бе успешно"</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="4377296080723608107">"Известията от приложенията в частното пространство са скрити, когато то е заключено"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Отключете частното пространство, за да споделяте снимки или файлове от приложенията в него"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Някои приложения вече са инсталирани в частното ви пространство"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"Настройването на частното пространство не бе успешно"</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="4258842502257201013">"За достъп до частното си пространство отворете списъка с приложения и превъртете надолу"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Готово"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Превъртете надолу, за да намерите частното пространство"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"За показване на личното пространство (не е окончателната UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Отворете приложението „Настройки“"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Докоснете „Сигурност и поверителност &gt; Лично пространство &gt; Скриване на личното пространство при заключен екран“"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Изкл. на превкл. „Скриване на личното пространство при заключен екран“"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Забележка за служителите на Google: Разработването на тази функция още е в ход"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Възможно е също така да се наложи да въведете този код за достъп на другото устройство."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Потвърдете, за да сдвоите с координирания набор"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Ниво на батерията"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Общи"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Общи настройки"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Запазване"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Отказ"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Подобряване на гласовото активиране"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Това устройство използва частни данни, за да подобрява модела за гласово активиране. Приложенията могат да получават обобщени актуализации, които се събират от много потребители. По този начин моделът се подобрява за всички и същевременно се запазва поверителността.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Допълнителни доставчици"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Пароли, ключове за достъп и услуги за данни"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-bn/arrays.xml b/res/values-bn/arrays.xml
index d977a18..d8e95a6 100644
--- a/res/values-bn/arrays.xml
+++ b/res/values-bn/arrays.xml
@@ -479,4 +479,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 9e6bd55..020b902 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>
@@ -113,23 +116,34 @@
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"ব্লুটুথ LE অডিও বন্ধ করুন"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"ডিভাইসে LE অডিও হার্ডওয়্যার কাজ করলে, ব্লুটুথ 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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"ব্যক্তিগত স্পেস"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ব্যক্তিগত অ্যাপ লক করে লুকিয়ে রাখুন"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"আপনি লুকাতে বা লক করতে পারবেন এমন কোনও আলাদা স্পেসে ব্যক্তিগত অ্যাপ রাখুন"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"ব্যক্তিগত স্পেস লক"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"যেভাবে আপনার ডিভাইস আনলক করেন, একইভাবে নিজের ব্যক্তিগত স্পেস আনলক করতে বা অন্য কোনও লক বেছে নিতে পারেন"</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="5804023571114910034">"আপনার প্রাইভেট স্পেসের জন্য ফিঙ্গারপ্রিন্ট আনলক"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"আপনার প্রাইভেট স্পেসের জন্য ফেস আনলক"</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="7306873010565337671">"ব্যক্তিগত স্পেসের জন্য নতুন লক বেছে নেবেন?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"অটোমেটিক লক করুন"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"প্রাইভেট স্পেস অটোমেটিক লক করুন"</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="972581369094289386">"লক থাকাকালীন \'ব্যক্তিগত\' স্পেস লুকিয়ে রাখুন"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"আপনার ডিভাইসে \'ব্যক্তিগত\' স্পেস থাকার বিষয়টি যাতে অন্যান্য লোকজন না জানতে পারেন, তার জন্য সেটি অ্যাপ তালিকা থেকে লুকিয়ে রাখুন"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"লুকানো থাকাকালীন \'ব্যক্তিগত\' স্পেস অ্যাক্সেস করুন"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"সার্চ বারে \'ব্যক্তিগত\' স্পেস সম্পর্কিত সার্চ"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"\'ব্যক্তিগত\' স্পেসের টাইলে ট্যাপ করুন"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"আপনার \'ব্যক্তিগত\' স্পেস আনলক করুন"</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="3075645119800272800">"\'ব্যক্তিগত স্পেস\' মুছুন"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"\'ব্যক্তিগত স্পেস\' মুছে ফেলা হয়েছে"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"\'ব্যক্তিগত স্পেস\' মুছে ফেলা যায়নি"</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="4377296080723608107">"প্রাইভেট স্পেস লক থাকলে সেখানে থাকা অ্যাপ থেকে পাওয়া বিজ্ঞপ্তি লুকানো থাকে"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"প্রাইভেট স্পেসের অ্যাপ থেকে ফটো বা ফাইল শেয়ার করতে প্রাইভেট স্পেস আনলক করা"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"কিছু অ্যাপ আগেই আপনার প্রাইভেট স্পেসে ইনস্টল করা আছে"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"প্রাইভেট স্পেস সেট-আপ করা যায়নি"</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="4258842502257201013">"আপনার প্রাইভেট স্পেস অ্যাক্সেস করতে, নিজের অ্যাপ তালিকাতে যান তারপর নিচের দিকে স্ক্রল করুন"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"হয়ে গেছে"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"প্রাইভেট স্পেস খুঁজতে নিচের দিকে স্ক্রল করুন"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"ব্যক্তিগত স্পেস দেখাতে (UX-এর ফাইনাল ভার্সন নয়)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"\'সেটিংস\' অ্যাপ খুলুন"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"\'নিরাপত্তা ও গোপনীয়তা &gt; ব্যক্তিগত স্পেস &gt; লক থাকলে ব্যক্তিগত স্পেস লুকান\' বিকল্পে ট্যাপ করুন"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"লক থাকলে ব্যক্তিগত স্পেস লুকান টগল বন্ধ করুন"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Googler-এর জন্য নোট: এই ফিচারে এখনও কাজ চলছে"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"আপনাকে অন্য ডিভাইসে এই পাস কী টাইপ করতে হতে পারে।"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"কো-অর্ডিনেটেড সেটের সাথে পেয়ার করার বিষয়টি কনফার্ম করুন"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ব্যাটারি স্তর"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"কমিউনাল"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"\'কমিউনাল\' সেটিংস"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"সেভ করুন"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"বাতিল করুন"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"ভয়েস অ্যাক্টিভেশন উন্নত করুন"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"ভয়েস অ্যাক্টিভেশন মডেল উন্নত করতে, এই ডিভাইস প্রাইভেট ইন্টেলিজেন্স ব্যবহার করে। অ্যাপ, আপডেট সম্পর্কিত সারসংক্ষেপ পায় যা বিভিন্ন ব্যবহারকারীদের থেকে একত্রিত করা হয় যাতে সকলের জন্য মডেল উন্নত করার পাশাপাশি গোপনীয়তা বজায় রাখা যায়।\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"অতিরিক্ত পরিষেবা প্রদানকারী"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"পাসওয়ার্ড, পাসকী ও ডেটা পরিষেবা"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-bs/arrays.xml b/res/values-bs/arrays.xml
index 2a21b78..237eb30 100644
--- a/res/values-bs/arrays.xml
+++ b/res/values-bs/arrays.xml
@@ -479,4 +479,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 1b3b895..2718b00 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 dok se ekran ne 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Zaključavanje privatnog prostora"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"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="5804023571114910034">"Otključavanje otiskom prsta za privatni prostor"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Odabrati novo zaključavanje privatnog prostora?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Zaključaj automatski"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Automatski zaključajte 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="972581369094289386">"Sakrij privatan prostor kada je zaključan"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Kako drugi ne bi saznali da je privatan prostor na vašem uređaju, sakrijte ga s liste aplikacija"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Pristupite privatnom prostoru kada je sakriven"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Pretražite \"Privatan prostor\" u traci za pretraživanje"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Dodirnite karticu privatnog prostora"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Otključajte privatan 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="3075645119800272800">"Izbriši privatni prostor"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Privatni prostor je uspješno izbrisan"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Obavještenja iz aplikacija u privatnom prostoru su sakrivena kada je prostor zaključan"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Otključajte svoj privatni prostor da dijelite fotografije ili fajlove iz aplikacija u privatnom prostoru"</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="1210906480024148398">"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="4258842502257201013">"Da pristupite privatnom prostoru, 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Za prikazivanje privatnog prostora (nije konačno kor. iskustvo)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Otvorite aplikaciju Postavke"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Dodirnite Sigurnost i privatnost &gt; Privatan prostor &gt; Sakrij privatan prostor kada je zaključan"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Prekidač za isključ. sakrivanja priv. prostora kada je zaključ."</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Napomena Googleovim zaposlenicima: razvoj ove funkcije je još uvijek u toku"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <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>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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">"Upravljaj 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 +3850,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 +3871,18 @@
     <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">"Aktivacijom glasom se bez dodira uključuju odobrene aplikacije, pomoću glasovne komande. 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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Poboljšaj aktivaciju glasom"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Uređaj koristi privatna saznanja da poboljša model aktivacije glasom. Aplikacije mogu primati sažete novosti koje su objedinjene za mnoge korisnike radi održavanja privatnosti uz poboljšanje modela za sve.\n\n"<a href="">"Više o privatnim saznanjima"</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>
@@ -3807,7 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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>
@@ -4122,21 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Dodatni pružaoci usluga"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Usluge za lozinke, pristupne ključeve i podatke"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4512,7 +4775,7 @@
     <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>
@@ -4544,8 +4807,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4966,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 +5063,29 @@
     <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>
 </resources>
diff --git a/res/values-ca/arrays.xml b/res/values-ca/arrays.xml
index 3dfd06f..db59b92 100644
--- a/res/values-ca/arrays.xml
+++ b/res/values-ca/arrays.xml
@@ -479,4 +479,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 00030fb..672918f 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 quants 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Bloqueig d\'Espai privat"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Pots desbloquejar 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="5804023571114910034">"Desbloqueig amb empremta digital per a l\'espai privat"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Vols triar un bloqueig nou per a Espai privat?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Bloqueja automàticament"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Amaga Espai privat quan estigui bloquejat"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Per evitar que altres persones sàpiguen que tens Espai privat, pots amagar-lo de la llista d\'apps"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Accedeix a Espai privat quan està amagat"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Cerca \"Espai privat\" a la barra de cerca"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Toca la icona d\'Espai privat"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Desbloqueja 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="3075645119800272800">"Suprimeix l\'espai privat"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"L\'espai privat s\'ha suprimit correctament"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Quan està bloquejat, les notificacions de les aplicacions de l\'espai privat s\'amaguen"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Desbloqueja l\'espai privat per compartir fotos o fitxers des de les aplicacions de l\'espai"</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="1210906480024148398">"No s\'ha pogut configurar l\'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="4258842502257201013">"Per accedir a 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Per mostrar Espai privat (versió provisional d\'EU)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Obre l\'aplicació Configuració"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Toca Seguretat i privadesa &gt; Espai privat &gt; Amaga Espai privat quan estigui bloquejat"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Desactiva Amaga Espai privat quan estigui bloquejat"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Nota per a Googlers: el desenvolupament d\'aquesta funció encara està en curs"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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">"Continua utilitzant les aplicacions amb el dispositiu plegat"</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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Desa"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancel·la"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Millora l\'activació per veu"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Aquest dispositiu utilitza informació privada per millorar el model d\'activació per veu. Les aplicacions poden rebre informació actualitzada resumida que s\'agrega a la de molts usuaris per mantenir la privadesa mentre es millora el model per a tothom.\n\n"<a href="">"Més detalls sobre la informació privada"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Proveïdors 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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Contrasenyes, claus d\'accés i serveis de dades"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml
index c0b73a5..13706ff 100644
--- a/res/values-cs/arrays.xml
+++ b/res/values-cs/arrays.xml
@@ -479,4 +479,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..0bba63e 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čujte přejetím"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Složte telefon a přejeďte po předním displeji nahoru, aby bylo možné aplikaci dál používat, 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 – # aplikací má přístup k poloze}many{Zapnuto – # aplikací 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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Zámek soukromého prostoru"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"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="5804023571114910034">"Odemknutí otiskem prstu pro soukromý prostor"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Vybrat nový zámek pro soukromý prostor?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Zamykat automaticky"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Při uzamčení soukromý prostor skrýt"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"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="982809349769470185">"Přístup do soukromého prostoru, když je skrytý"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Ve vyhledávacím poli vyhledejte text „soukromý prostor“."</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Klepněte na dlaždici Soukromý prostor"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Smazat soukromý prostor"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Soukromý prostor byl úspěšně smazán"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Soukromý prostor se nepodařilo vytvořit"</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="4377296080723608107">"Když je soukromý prostor uzamčen, jsou oznámení aplikací v soukromém prostoru skryta"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Pokud chcete sdílet fotky a soubory z aplikací v soukromém prostoru, odemkněte ho"</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="1210906480024148398">"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="4258842502257201013">"Pokud chcete přejít na soukromý prostor, navštivte seznam aplikací a posuňte 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"K zobrazení soukromého prostoru (není konečná verze UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Spusťte aplikaci Nastavení"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Klepněte na Zabezpečení a ochrana soukromí &gt; Soukromý prostor &gt; Při uzamčení soukromý prostor skrýt"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Vypnout přepínač Při uzamčení soukromý prostor skrýt"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Poznámka pro zaměstnance společnosti Google: Vývoj této funkce stále probíhá"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <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>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Vylepšená hlasová aktivace"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Zařízení k vylepšení modelu aktivace hlasem používá soukromá data. Aplikace můžou dostávat souhrnné aktualizace agregované od mnoha uživatelů – je tím chráněno soukromí a zároveň je možné vylepšit model pro všechny.\n\n"<a href="">"Další informace o soukromých datech"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Další poskytovatelé"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Hesla, přístupové klíče a datové služby"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4513,7 +4776,7 @@
     <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>
@@ -4545,8 +4808,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4967,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 +5064,29 @@
     <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>
 </resources>
diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml
index ed77359..6aefc19 100644
--- a/res/values-da/arrays.xml
+++ b/res/values-da/arrays.xml
@@ -479,4 +479,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 a13ee6f..6a3e871 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Lås til privat rum"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Du kan låse op for det private område 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_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="5804023571114910034">"Fingeroplåsning til privat område"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Vil du vælge en ny lås til det private område?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Lås automatisk"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Skjul det private område, når det er låst"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Hvis andre ikke må kende til det private område på din enhed, kan du skjule det på listen over apps"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Åbn dit private område, når det er skjult"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Søg efter \"privat rum\" i søgefeltet"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tryk på handlingsfeltet Privat område"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Slet det private område"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Det private område er slettet"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"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="2102594859384040485">"Få adgang til dit private området for at dele billeder eller filer fra apps, som er gemt i dit private område"</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="1210906480024148398">"Det private 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="4258842502257201013">"Hvis du vil åbne dit private område, skal du gå til din liste over apps 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Få vist det private område (ikke den endelige brugeroplevelse)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Åbn appen Indstillinger"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Tryk på Sikkerhed og privatliv &gt; Privat område &gt; Skjul det private område, når det er låst"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Deaktiver kontakten for Skjul det private område, når det er låst"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Bemærkning til Googlere: Denne funktion er stadig under udvikling"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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å Fold"</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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Gem"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Luk"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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 administrationsadgang til alle filer"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Giv denne app tilladelse til at læse, ændre og slette alle filer på denne enhed eller andre tilsluttede lagringsløsninger. Hvis du giver tilladelse til dette, kan appen få adgang til dine filer, uden du specifikt bliver gjort opmærksom på det."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Kan få adgang til alle filer"</string>
+    <string name="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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Gør stemmeaktivering endnu bedre"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Denne enhed anvender privat intelligens til at forbedre stemmeaktiveringsmodellen. Apps kan modtage opsummerede opdateringer, der er samlet fra mange forskellige brugere, med henblik på at opretholde privatlivsbeskyttelsen og samtidig forbedre modellen for alle.\n\n"<a href="">"Få flere oplysninger om privat intelligens"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Yderligere udbydere"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Adgangskoder, adgangsnøgler og datatjenester"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
index de855c4..a4302b6 100644
--- a/res/values-de/arrays.xml
+++ b/res/values-de/arrays.xml
@@ -479,4 +479,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 6917223..943fb48 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">"Frontdisplay wird beim Zuklappen des Geräts 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 wischen"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Falte dein Smartphone und wische auf dem Frontdisplay nach oben, um die App weiter zu verwenden, oder warte einige Sekunden, bis das Display gesperrt ist"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nie"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Frontdisplay wird beim Zuklappen des Geräts 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Sperre für privaten Bereich"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"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="5804023571114910034">"Entsperrung per Fingerabdruck für den privaten Bereich"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Neue Sperre für privaten Bereich festlegen?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Automatisch sperren"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"„Privater Bereich“ ausblenden, wenn gesperrt"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Blende „Privater Bereich“ in deiner App-Liste aus, damit niemand weiß, dass dieser Bereich auf deinem Gerät ist"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Auf „Privater Bereich“ zugreifen, wenn ausgeblendet"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"In Suchleiste nach „Privater Bereich“ suchen"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tippe auf die Kachel für „Privater Bereich“"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Entsperre „Privater Bereich“"</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="3075645119800272800">"Privaten Bereich löschen"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Privater Bereich wurde gelöscht"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Privater Bereich konnte nicht gelöscht werden"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Privater Bereich 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 privater Bereich gesperrt ist, werden Apps in deinem privaten Bereich unter „Berechtigungsmanager“, „Privatsphäredashboard“ und in anderen Einstellungen nicht angezeigt.\n\nDein privater Bereich kann nicht auf ein neues Gerät übertragen werden. Du musst einen weiteren privaten Bereich einrichten, wenn du ihn 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 deinen privaten Bereich 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="4377296080723608107">"Benachrichtigungen aus Apps im privaten Bereich werden nicht angezeigt, wenn dieser gesperrt ist"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Privaten Bereich entsperren, um Fotos oder Dateien von Apps im privaten Bereich 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="1210906480024148398">"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="4258842502257201013">"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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Zum Einblenden von „Privater Bereich“ (UX nicht endgültig)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Öffne die Einstellungen"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Tippe auf „Datenschutz &amp; Sicherheit“ &gt; „Privater Bereich“ &gt; „‚Privater Bereich‘ ausblenden, wenn gesperrt“"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Schaltfläche „‚Privater Bereich‘ ausblenden, wenn gesperrt“ aus"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Hinweis für Google-Mitarbeiter: Diese Funktion befindet sich noch in der Entwicklungsphase"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 weiterhin verwenden, wenn das Gerät zusammengeklappt ist"</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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Speichern"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Abbrechen"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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">"Archiviert: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 verwenden (alle Apps)"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Gilt für Apps ohne eigenes dunkles Design. Es können Anzeigeprobleme wie umgekehrte Farben auftreten."</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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2639,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 +2727,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 +2777,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 +2824,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>
@@ -2790,11 +2959,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>
@@ -2948,7 +3112,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 +3162,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 +3198,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 +3382,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 +3411,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 +3470,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,8 +3675,8 @@
     <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>
@@ -3569,6 +3742,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>
@@ -3677,6 +3852,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 +3873,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Sprachaktivierung verbessern"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Dieses Gerät verwendet private Daten, um das Sprachaktivierungsmodell zu verbessern. Apps können zusammengefasste Updates von vielen verschiedenen Nutzern empfangen, um die Privatsphäre zu schützen und gleichzeitig das Modell für alle Nutzer zu verbessern.\n\n"<a href="">"Weitere Informationen zu privaten Daten"</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 +3993,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 +4018,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 +4048,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 +4117,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 +4146,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 +4306,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Zusätzliche Anbieter"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Passwörter, Passkeys und Datendienste"</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="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_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 +4386,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 +4400,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 +4414,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 +4496,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4520,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4563,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4590,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4635,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4705,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 +4715,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>
@@ -4511,7 +4776,7 @@
     <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>
@@ -4543,8 +4808,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4967,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 +5064,29 @@
     <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>
 </resources>
diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml
index 2884bf0..e1d9875 100644
--- a/res/values-el/arrays.xml
+++ b/res/values-el/arrays.xml
@@ -479,4 +479,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..98790e8 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Ιδιωτικός χώρος"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Διατηρήστε τις ιδιωτικές εφαρμογές κλειδωμένες και κρυφές"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Διατηρήστε τις ιδιωτικές εφαρμογές σας σε ξεχωριστό χώρο που μπορείτε να κρύψετε ή να κλειδώσετε"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"Κλείδωμα Ιδιωτικού χώρου"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Μπορείτε να ξεκλειδώσετε τον Ιδιωτικό χώρο όπως ξεκλειδώνετε τη συσκευή σας ή να επιλέξετε διαφορετικό κλείδωμα"</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="5804023571114910034">"Ξεκλείδωμα με δακτυλικό αποτύπωμα για απόρρητο χώρο"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Ξεκλείδωμα με το πρόσωπο για απόρρητο χώρο"</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="7306873010565337671">"Επιλογή νέου κλειδώματος για τον Ιδιωτικό χώρο;"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Αυτόματο κλείδωμα"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Αυτόματο κλείδωμα απόρρητου χώρου"</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="972581369094289386">"Απόκρυψη Ιδιωτικού χώρου κατά το κλείδωμα"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Για να μην γνωρίζουν άλλοι τον Ιδιωτικό χώρο στη συσκευή σας, μπορείτε να τον κρύψετε από τη λίστα εφαρμογών"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Πρόσβαση στον Ιδιωτικό χώρο κατά την απόκρυψη"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Αναζητήστε τον Ιδιωτικό χώρο στη γραμμή αναζήτησης"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Πατήστε το πλακάκι Ιδιωτικός χώρος"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Ξεκλείδωμα του Ιδιωτικού χώρου"</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="3075645119800272800">"Διαγραφή Ιδιωτικού χώρου"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Ο Ιδιωτικός χώρος διαγράφηκε με επιτυχία"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Δεν ήταν δυνατή η διαγραφή του Ιδιωτικού χώρου"</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="4377296080723608107">"Οι ειδοποιήσεις από εφαρμογές στον ιδιωτικό χώρο είναι κρυφές όταν είναι κλειδωμένος"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Ξεκλειδώστε τον απόρρητο χώρο σας για να κοινοποιήσετε φωτογραφίες ή αρχεία από εφαρμογές του ιδιωτικού χώρου"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Ορισμένες εφαρμογές έχουν ήδη εγκατασταθεί στον ιδιωτικό χώρο σας"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"Δεν είναι δυνατή η ρύθμιση του ιδιωτικού χώρου"</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="4258842502257201013">"Για να αποκτήσετε πρόσβαση στον ιδιωτικό χώρο σας, μεταβείτε στη λίστα εφαρμογών σας και έπειτα κάντε κύλιση προς τα κάτω"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Τέλος"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Κάντε κύλιση προς τα κάτω για να βρείτε τον ιδιωτικό χώρο"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Για εμφάνιση του Ιδιωτικού χώρου (μη τελική εμπειρία χρήστη)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Άνοιγμα εφαρμογής Ρυθμίσεις"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Πατήστε την επιλογή Ασφάλεια και απόρρητο &gt; Ιδιωτικός χώρος &gt; Απόκρυψη Ιδιωτικού χώρου κατά το κλείδωμα"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Διακόπτης απενεργοποίησης Ιδιωτικού χώρου κατά το κλείδωμα"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Σημείωση για τους υπαλλήλους της Google: Η ανάπτυξη αυτής της λειτουργίας βρίσκεται ακόμα σε εξέλιξη"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Επίσης, ενδέχεται να χρειαστεί να πληκτρολογήσετε το κλειδί πρόσβασης στην άλλη συσκευή."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Επιβεβαίωση σύζευξης με συντονισμένο σύνολο συσκευών"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Επίπεδο μπαταρίας"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Κοινόχρηστες"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Κοινόχρηστες ρυθμίσεις"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Αποθ/ση"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Ακύρωση"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Βελτίωση φωνητικής ενεργοποίησης"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Η συγκεκριμένη συσκευή χρησιμοποιεί απόρρητες πληροφορίες για τη βελτίωση του μοντέλου φωνητικής ενεργοποίησης. Οι εφαρμογές μπορούν να λαμβάνουν συνοπτικές ενημερώσεις που συγκεντρώνονται από πολλούς χρήστες προκειμένου να διατηρούν το απόρρητο και να βελτιώνουν ταυτόχρονα το μοντέλο για όλους.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Πρόσθετοι πάροχοι"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Κωδικοί πρόσβασης, κλειδιά πρόσβασης και υπηρεσίες δεδομένων"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-en-rAU/arrays.xml b/res/values-en-rAU/arrays.xml
index 7f5af74..ab9f648 100644
--- a/res/values-en-rAU/arrays.xml
+++ b/res/values-en-rAU/arrays.xml
@@ -479,4 +479,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..17ca72d 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Private Space lock"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"You can unlock Private Space the same way that 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="5804023571114910034">"Fingerprint Unlock for private space"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Choose a new lock for Private Space?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Lock automatically"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Hide Private Space when locked"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"To stop other people knowing Private Space is on your device, you can hide it from your apps list"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Access Private Space when hidden"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Search for \'Private Space\' in the search bar"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tap the Private Space tile"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Delete Private Space"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Private Space successfully deleted"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Notifications from apps in private space are hidden when it’s locked"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Unlock private space to share photos or files from private space apps"</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="1210906480024148398">"Couldn’t set up 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="4258842502257201013">"To access 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"To show Private Space (not final UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Open the Settings app"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Tap on Security &amp; privacy &gt; Private Space &gt; Hide Private Space when locked"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Turn off \'Hide Private Space when locked\' toggle"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Note to Googlers: The development of this feature is still in progress"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Save"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancel"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Improve voice activation"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"This device uses private intelligence to improve the voice activation model. Apps can receive summarised updates that are aggregated across many users to maintain privacy while improving the model for everyone.\n\n"<a href="">"More about private intelligence"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Additional providers"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Passwords, passkeys and data services"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-en-rCA/arrays.xml b/res/values-en-rCA/arrays.xml
index 46c29b1..b401f55 100644
--- a/res/values-en-rCA/arrays.xml
+++ b/res/values-en-rCA/arrays.xml
@@ -479,4 +479,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..be423af 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,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="7078627930195569767">"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="3006539720164938296">"Private Space lock"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"You can unlock 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="5804023571114910034">"Fingerprint Unlock for Private Space"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Choose a new lock for Private Space?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Lock automatically"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Hide Private Space when locked"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"To stop other people knowing Private Space is on your device, you can hide it from your apps list"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Access Private Space when hidden"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Search for \'Private Space\' in the search bar"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tap the Private Space tile"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Delete Private Space"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Private Space successfully deleted"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Notifications from apps in private space are hidden when it’s locked"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Unlock private space to share photos or files from private space apps"</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="1210906480024148398">"Couldn’t set up 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="4258842502257201013">"To access 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="privatespace_unhide_header" msgid="1192011539687584004">"To show Private Space (Not final UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Open the Settings App"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Tap on Security &amp; privacy &gt; Private Space &gt; Hide Private Space when locked"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Turn off Hide Private Space when locked toggle"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Note to Googlers: The development of this feature is still in progress"</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>
@@ -648,13 +776,15 @@
     <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_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 +837,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 +857,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 +881,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 +982,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 +1009,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 +1042,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 +1145,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 +1159,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 +1290,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 +1385,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 +1411,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 +1420,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 +1439,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 +1447,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 +1488,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 +1495,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 +1502,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 +1684,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 +1743,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 +1832,14 @@
     <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="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>
@@ -1789,7 +1937,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 +2001,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 +2026,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 +2055,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 +2076,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 +2093,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 +2147,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 +2284,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 +2307,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 +2348,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 +2393,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>
@@ -2253,7 +2410,7 @@
     <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_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 +2450,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 +2494,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 +2502,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 +2622,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 +2710,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 +2760,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 +2807,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 +2942,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>
@@ -2948,7 +3095,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 +3145,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 +3181,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 +3365,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 +3394,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 +3453,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,8 +3658,8 @@
     <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>
@@ -3569,6 +3725,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 +3835,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 +3856,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Improve voice activation"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"This device uses private intelligence to improve the voice activation model. Apps can receive summarized updates that are aggregated across many users to maintain privacy while improving the model for everyone.\n\n"<a href="">"More about private intelligence"</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 +3976,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 +4001,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 +4031,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 +4100,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 +4129,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 +4289,27 @@
     <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_chosen_app_title" msgid="7735183808067729319">"Preferred service"</string>
     <string name="credman_credentials" msgid="4931371941253324143">"Additional providers"</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="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="8191267620665129205">"Passwords, passkeys, and data services"</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="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_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 +4366,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 +4380,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 +4394,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 +4476,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_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 +4499,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,9 +4525,9 @@
     <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>
@@ -4358,8 +4549,31 @@
     <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>
@@ -4379,11 +4593,11 @@
     <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 +4659,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 +4669,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>
@@ -4511,7 +4730,7 @@
     <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>
@@ -4543,8 +4762,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 +4919,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 +5016,29 @@
     <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>
 </resources>
diff --git a/res/values-en-rGB/arrays.xml b/res/values-en-rGB/arrays.xml
index 7f5af74..ab9f648 100644
--- a/res/values-en-rGB/arrays.xml
+++ b/res/values-en-rGB/arrays.xml
@@ -479,4 +479,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..2cc7f9f 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Private Space lock"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"You can unlock Private Space the same way that 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="5804023571114910034">"Fingerprint Unlock for private space"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Choose a new lock for Private Space?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Lock automatically"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Hide Private Space when locked"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"To stop other people knowing Private Space is on your device, you can hide it from your apps list"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Access Private Space when hidden"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Search for \'Private Space\' in the search bar"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tap the Private Space tile"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Delete Private Space"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Private Space successfully deleted"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Notifications from apps in private space are hidden when it’s locked"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Unlock private space to share photos or files from private space apps"</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="1210906480024148398">"Couldn’t set up 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="4258842502257201013">"To access 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"To show Private Space (not final UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Open the Settings app"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Tap on Security &amp; privacy &gt; Private Space &gt; Hide Private Space when locked"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Turn off \'Hide Private Space when locked\' toggle"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Note to Googlers: The development of this feature is still in progress"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Save"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancel"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Improve voice activation"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"This device uses private intelligence to improve the voice activation model. Apps can receive summarised updates that are aggregated across many users to maintain privacy while improving the model for everyone.\n\n"<a href="">"More about private intelligence"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Additional providers"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Passwords, passkeys and data services"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-en-rIN/arrays.xml b/res/values-en-rIN/arrays.xml
index 7f5af74..ab9f648 100644
--- a/res/values-en-rIN/arrays.xml
+++ b/res/values-en-rIN/arrays.xml
@@ -479,4 +479,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..af37336 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Private Space lock"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"You can unlock Private Space the same way that 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="5804023571114910034">"Fingerprint Unlock for private space"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Choose a new lock for Private Space?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Lock automatically"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Hide Private Space when locked"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"To stop other people knowing Private Space is on your device, you can hide it from your apps list"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Access Private Space when hidden"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Search for \'Private Space\' in the search bar"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tap the Private Space tile"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Delete Private Space"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Private Space successfully deleted"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Notifications from apps in private space are hidden when it’s locked"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Unlock private space to share photos or files from private space apps"</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="1210906480024148398">"Couldn’t set up 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="4258842502257201013">"To access 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"To show Private Space (not final UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Open the Settings app"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Tap on Security &amp; privacy &gt; Private Space &gt; Hide Private Space when locked"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Turn off \'Hide Private Space when locked\' toggle"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Note to Googlers: The development of this feature is still in progress"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Save"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancel"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Improve voice activation"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"This device uses private intelligence to improve the voice activation model. Apps can receive summarised updates that are aggregated across many users to maintain privacy while improving the model for everyone.\n\n"<a href="">"More about private intelligence"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Additional providers"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Passwords, passkeys and data services"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-en-rXC/arrays.xml b/res/values-en-rXC/arrays.xml
index d7800e6..c43b7be 100644
--- a/res/values-en-rXC/arrays.xml
+++ b/res/values-en-rXC/arrays.xml
@@ -479,4 +479,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..26486d0 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,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="7078627930195569767">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‏‎‎‎‏‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎‏‎‏‏‎‎‎‏‏‏‎‏‏‏‎‎‏‎‏‏‎‎‎‏‏‎‎‏‏‏‎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="3006539720164938296">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‎‎‏‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‏‏‏‎‎‎‏‎‎‎‏‎‎‏‎‎‏‎‎‎‏‏‏‎‎‎‎Private Space lock‎‏‎‎‏‎"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‎‏‏‎‏‎‏‎‏‎‎‏‏‎‏‎‎‏‏‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‏‏‎‏‎‏‎‎‎‎‎‎‎‎‎‏‎‏‏‎You can unlock 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="5804023571114910034">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‎‎‎‏‎‎‎‏‎‏‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‏‎‎‎‏‏‎‎‎‎‏‎‏‎‏‎‎‏‎‎Fingerprint Unlock for Private Space‎‏‎‎‏‎"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‏‎‎‏‏‏‎‏‏‎‏‎‏‎‎‏‏‎‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‏‎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="7306873010565337671">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‏‎‎‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎‎‏‎‎‏‎‏‏‎‏‎‎‎‏‎‏‏‎‏‎‎‏‎‎‏‎‎‎‏‏‏‎Choose a new lock for Private Space?‎‏‎‎‏‎"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‎‏‎‎‏‎‎‏‏‎‏‏‎‎‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‏‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‎‏‎‎‏‎Lock automatically‎‏‎‎‏‎"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎‏‏‎‎‏‎‏‏‎‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‏‏‏‏‏‎‎‎‎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="972581369094289386">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‎‏‏‎‏‎‎‎‏‎‏‏‎‎‎‎‎‎‎‏‏‏‎‎‏‏‎‏‏‏‏‏‏‎‏‎‏‎‎Hide Private Space when locked‎‏‎‎‏‎"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‎‏‏‎‏‏‏‏‎‏‎‎‏‏‎‎‏‏‏‎‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎‏‎‎To stop other people knowing Private Space is on your device, you can hide it from your apps list‎‏‎‎‏‎"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‎‏‏‏‎‏‎‎‎‏‏‏‏‏‎‎‏‎‏‎‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‎‏‎Access Private Space when hidden‎‏‎‎‏‎"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‎‏‎‏‏‎‎‏‎‎‎‏‎‏‏‎‎‏‏‎‎‎‏‎‎‏‏‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‎Search for \'Private Space\' in the search bar‎‏‎‎‏‎"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‏‎‏‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‎‎‏‏‏‏‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‏‏‎‏‎‎‎Tap the Private Space tile‎‏‎‎‏‎"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‏‎‏‏‎‏‎‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‎‏‎‏‎‏‎‏‏‏‎‎‏‎‎‎‎‎‎‎‎‎‎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="3075645119800272800">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‎‏‏‏‎‏‏‏‎‎‎‏‎‏‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‏‏‎‏‏‎‏‏‏‏‏‎‎‏‏‏‏‎‏‎‎‎‎‎‎Delete Private Space‎‏‎‎‏‎"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‎‏‎‏‏‎‏‏‏‎‎‎‎‎‎‎‎‏‏‏‎‎‎‏‏‏‎‎‏‎‎‏‏‎‎‎‏‏‏‏‏‎‎‎‏‎‎‎‏‎Private Space successfully deleted‎‏‎‎‏‎"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‎‎‏‏‎‎‎‎‎‎‎‎‎‏‎‎‏‎‏‏‏‏‎‎‎‏‏‎‏‎‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‎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="4377296080723608107">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‏‏‎Notifications from apps in private space are hidden when it’s locked‎‏‎‎‏‎"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‏‎‏‏‎‏‏‏‏‎‏‎‏‎‏‏‏‎‎‎‏‎‎‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‎‏‎Unlock private space to share photos or files from private space apps‎‏‎‎‏‎"</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="1210906480024148398">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‏‏‏‎‎‎‎‎‎‎‎‏‎‎‎‎‎‏‏‏‎‎‏‎‎‏‏‎‎‎‎‎‏‏‏‎‏‏‎‏‏‎‎‏‏‎‏‎‏‏‏‎‎Couldn’t set up 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="4258842502257201013">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‎‏‏‎‏‎‎‏‏‏‎‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎‎‏‎‏‎‏‏‎‎‎‎‎‎‏‎‎‏‏‏‏‎‏‏‏‎‏‎‏‎To access 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="privatespace_unhide_header" msgid="1192011539687584004">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‏‎‏‎‏‏‏‎‎‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‏‏‎‎‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‎‎‎‎‏‎‎‎To show Private Space (Not final UX)‎‏‎‎‏‎"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‏‎‏‎‏‎‏‏‏‎‏‏‏‎‏‏‏‎‎‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‏‏‏‎‎‎‏‏‏‏‏‏‎‎‎‏‎‎‎‏‎Open the Settings App‎‏‎‎‏‎"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‏‏‎‎‏‎‎‎‎‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎‏‏‎‎‎‏‎‎‎‎‎‏‏‎‏‏‎‏‎‎‎‏‎‎‎Tap on Security &amp; privacy &gt; Private Space &gt; Hide Private Space when locked‎‏‎‎‏‎"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‎‏‏‎‎‏‏‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‎‎‎‎‎‏‏‎‎‎‎‎‏‎‎‏‎‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎Turn off Hide Private Space when locked toggle‎‏‎‎‏‎"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‏‎‎‎‎‏‏‏‎‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‏‏‎‏‎‏‎‎‎‎‎‎‎‏‏‎‏‎‏‎‏‏‎‎‎‏‎Note to Googlers: The development of this feature is still in progress‎‏‎‎‏‎"</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>
@@ -648,13 +776,15 @@
     <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_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 +837,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 +857,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 +881,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 +982,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 +1009,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 +1042,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 +1145,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 +1159,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 +1290,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 +1385,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 +1411,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 +1420,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 +1439,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 +1447,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 +1488,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 +1495,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 +1502,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 +1684,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 +1743,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 +1832,14 @@
     <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="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>
@@ -1789,7 +1937,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 +2001,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 +2026,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 +2055,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 +2076,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 +2093,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 +2147,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 +2284,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 +2307,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 +2348,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 +2393,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>
@@ -2253,7 +2410,7 @@
     <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_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 +2450,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 +2494,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 +2502,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 +2622,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 +2710,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 +2760,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 +2807,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 +2942,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>
@@ -2948,7 +3095,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 +3145,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 +3181,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 +3365,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 +3394,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 +3453,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,8 +3658,8 @@
     <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>
@@ -3569,6 +3725,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 +3835,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 +3856,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‎‏‎‎‎‎‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‎‎‏‏‏‎‎‎‎‏‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‏‎‏‎‎‎‏‎Improve voice activation‎‏‎‎‏‎"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‎‏‎‎‏‎‏‏‎‎‎‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‎‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‏‏‏‏‎‎‏‏‎‏‎‎This device uses private intelligence to improve the voice activation model. Apps can receive summarized updates that are aggregated across many users to maintain privacy while improving the model for everyone.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<a href="">"‎‏‎‎‏‏‏‎More about private intelligence‎‏‎‎‏‏‎"</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 +3976,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 +4001,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 +4031,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 +4100,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 +4129,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 +4289,27 @@
     <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_chosen_app_title" msgid="7735183808067729319">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‏‎‎‎‏‏‏‎‎‏‎‎‏‎‏‏‎‎‎‎‏‏‎‏‎‎‎‎‎‎‏‏‏‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‏‏‏‎Preferred service‎‏‎‎‏‎"</string>
     <string name="credman_credentials" msgid="4931371941253324143">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‎‎‏‏‏‎‎‏‎‏‏‎‏‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‏‎‏‏‎‏‏‏‏‎Additional providers‎‏‎‎‏‎"</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="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="8191267620665129205">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‎‎‎‎‎‎‎‎‏‏‏‎‏‎‏‏‏‏‎‎‏‏‏‎‏‏‏‏‎‎‎‏‏‏‏‎‏‎‏‎Passwords, passkeys, and data services‎‏‎‎‏‎"</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="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_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 +4366,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 +4380,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 +4394,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 +4476,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_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 +4499,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,9 +4525,9 @@
     <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>
@@ -4358,8 +4549,31 @@
     <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>
@@ -4379,11 +4593,11 @@
     <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 +4659,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 +4669,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>
@@ -4511,7 +4730,7 @@
     <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>
@@ -4543,8 +4762,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 +4919,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 +5016,29 @@
     <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>
 </resources>
diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml
index 8032bde..1d8779b 100644
--- a/res/values-es-rUS/arrays.xml
+++ b/res/values-es-rUS/arrays.xml
@@ -479,4 +479,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 5a06fb0..ff689bd 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Bloqueo de Espacio privado"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Puedes desbloquear 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="5804023571114910034">"Desbloqueo con huellas dactilares para espacio privado"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"¿Quieres un nuevo bloqueo para Espacio privado?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Bloquear automáticamente"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Bloquea el 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="972581369094289386">"Oculta Espacio privado con el dispositivo bloqueado"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Oculta Espacio privado de tu lista para que no puedan verlo"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Accede a Espacio privado cuando está oculto"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Busca \"Espacio privado\" en la barra de búsqueda"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Presiona la tarjeta de Espacio privado"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Borra un Espacio privado"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"El Espacio privado se borró correctamente"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Las notificaciones de las apps en el espacio privado se ocultan cuando está bloqueado"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Desbloquea el espacio privado para compartir fotos y archivos de apps que estén en ese espacio"</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="1210906480024148398">"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="4258842502257201013">"Para acceder al 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Para mostrar Espacio privado (versión preliminar de la UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Abre la app de Configuración"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Presiona Seguridad y privacidad &gt; Espacio privado &gt; Oculta Espacio privado con el dispositivo bloqueado"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Desactivar Oculta Espacio privado con el disp. bloqueado"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Nota para Googlers: Esta función aún se encuentra en desarrollo"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Guardar"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancelar"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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">"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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 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">"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 +2517,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 <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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Mejora la activación por voz"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Este dispositivo usa inteligencia privada para mejorar el modelo de activación por voz Las apps reciben actualizaciones resumidas que son agregadas de múltiples usuarios para mantener la privacidad mientras se mejora el modelo para todo el mundo.\n\n"<a href="">"Más información sobre la inteligencia privada"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Proveedores 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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Servicios de contraseñas, llaves de acceso y datos"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml
index caf220d..e9013b8 100644
--- a/res/values-es/arrays.xml
+++ b/res/values-es/arrays.xml
@@ -479,4 +479,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 e73eb19..c8db261 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">"Desliza 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>
@@ -113,23 +116,34 @@
     <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_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 trasero"</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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Bloqueo de espacio privado"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"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="5804023571114910034">"Desbloqueo con huella digital para espacio privado"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"¿Elegir un nuevo bloqueo para el espacio privado?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Bloquear automáticamente"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Ocultar espacio privado si está bloqueado"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Para evitar que se sepa que usas espacio privado, puedes ocultarlo desde tu lista de aplicaciones"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Acceder al espacio privado cuando está oculto"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Busca espacio privado en la barra de búsqueda"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Toca el recuadro de espacio privado"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Eliminar espacio privado"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Espacio privado eliminado correctamente"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Las notificaciones de las aplicaciones del espacio privado se ocultan si está bloqueado"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Desbloquea el espacio privado para compartir fotos o archivos desde las aplicaciones de espacio privado"</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="1210906480024148398">"No se ha podido configurar 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="4258842502257201013">"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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Para mostrar espacio privado (versión preliminar de UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Abrir la aplicación Ajustes"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Toca Seguridad &amp; Privacidad &gt; Espacio privado &gt; Ocultar espacio privado si está bloqueado"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Desactivar Ocultar espacio privado si está bloqueado"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Nota para Googlers: El desarrollo de esta función aún está en curso"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 aplicaciones con el dispositivo plegado"</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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Guardar"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancelar"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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> archivada"</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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Mejorar la activación por voz"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Este dispositivo usa información privada para mejorar el modelo de activación por voz. Las aplicaciones pueden recibir nuevos datos resumidos que se agregan con los de muchos usuarios para mantener la privacidad mientras se mejora el modelo para todos.\n\n"<a href="">"Más información sobre la información privada"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Proveedores 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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Contraseñas, llaves de acceso y servicios de datos"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-et/arrays.xml b/res/values-et/arrays.xml
index bdc9736..85e9a8a 100644
--- a/res/values-et/arrays.xml
+++ b/res/values-et/arrays.xml
@@ -479,4 +479,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..dc6f81f 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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,6 +410,33 @@
     <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_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>
@@ -493,6 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Privaatse ruumi lukk"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Privaatse ruumi saate lukust avada samal viisil, nagu avate lukust oma seadme. Võite ka valida erineva 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="5804023571114910034">"Privaatse ruumi sõrmejäljega avamine"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Kas valida privaatse ruumi jaoks uus lukk?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Lukusta automaatselt"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Privaatse ruumi peitmine, kui see on lukustatud"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Privaatse ruumi saate oma rakenduste loendis peita, et teised ei teaks selle olemasolust teie seadmes"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Juurdepääs privaatsele ruumile, kui see on peidetud"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Sisestage otsinguribale tekst „Privaatne ruum”"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Puudutage privaatse ruumi paani"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Privaatse ruumi kustutamine"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Privaatse ruumi kustutamine õnnestus"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Kui privaatne ruum on lukustatud, siis on privaatse ruumi rakenduste märguanded peidetud"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Avage privaatne ruum, et jagada fotosid või faile privaatse ruumi rakendustest"</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="1210906480024148398">"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="4258842502257201013">"Juurdepääsuks privaatsele ruumile 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Privaatse ruumi kuvamiseks (mitte lõplik kasutuskogemus)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Avage rakendus Seaded"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Puudutage valikut Turvalisus ja privaatsus &gt; Privaatne ruum &gt; Peida privaatne ruum, kui see on lukus"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Lülitage välja lüliti Peida privaatne ruum, kui see on lukustatud"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Märkus Google\'i töötajatele: selle funktsiooni arendamine on veel pooleli"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Salvesta"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Tühista"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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">"Kasutamata rakenduse haldamine"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Lubade eemaldamine, ajutiste failide kustutamine, märguannete peatamine ja rakenduse arhiivimine"</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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Häälaktiveerimise täiustamine"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"See seade kasutab häälaktiveerimise mudeli täiustamiseks privaatset analüüsi. Rakendused saavad vastu võtta kokkuvõtlikke värskendusi, mis on kokku koondatud paljudelt kasutajatelt, et säilitada privaatsus ja parandada samal ajal mudelit kõigi jaoks.\n\n"<a href="">"Lisateave privaatse analüüsi 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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Lisapakkujad"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Paroolid, pääsuvõtmed ja andmesideteenused"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-eu/arrays.xml b/res/values-eu/arrays.xml
index 7b9a208..3a4f2ef 100644
--- a/res/values-eu/arrays.xml
+++ b/res/values-eu/arrays.xml
@@ -221,7 +221,7 @@
     <item msgid="7621394050624063528">"imitate kokapena"</item>
     <item msgid="37519917674959757">"irakurri memoria"</item>
     <item msgid="3868809525697401379">"idatzi memorian"</item>
-    <item msgid="2504191192460059817">"piztu pantaila"</item>
+    <item msgid="2504191192460059817">"aktibatu pantaila"</item>
     <item msgid="7905819538788103556">"lortu kontuak"</item>
     <item msgid="1675025662248079254">"exekutatu atzeko planoan"</item>
     <item msgid="2553974920157061225">"erabilerraztasun-eginbideen bolumena"</item>
@@ -288,7 +288,7 @@
     <item msgid="2363460595607829243">"Imitatu kokapena"</item>
     <item msgid="3778165903878569143">"Irakurri memoria"</item>
     <item msgid="555939881912035315">"Idatzi memorian"</item>
-    <item msgid="4281352581602735717">"Piztu pantaila"</item>
+    <item msgid="4281352581602735717">"Aktibatu pantaila"</item>
     <item msgid="346122795998225472">"Lortu kontuak"</item>
     <item msgid="3756073389408535680">"Abiarazi atzeko planoan"</item>
     <item msgid="2114661179947426734">"Erabilerraztasun-eginbideen bolumena"</item>
@@ -479,4 +479,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 e09c097..2d0dbe8 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Eremu pribatuaren blokeoa"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"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="5804023571114910034">"Desblokeatu eremu pribatua hatz-marka bidez"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Eremu pribatua blokeatzeko modua aldatu nahi duzu?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Blokeatu automatikoki"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Ezkutatu Eremu pribatua blokeatuta dagoenean"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Inork jakin ez dezan gailuan Eremu pribatua daukazula, aplikazio-zerrendatik ezkuta dezakezu"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Atzitu Eremu pribatua ezkutatuta dagoenean ere"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Bilatu \"Eremu pribatua\" bilaketa-barran"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Sakatu eremu pribatuaren lauza"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Ezabatu eremu pribatua"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Ezabatu da eremu pribatua"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Eremu pribatua blokeatuta badago, hango aplikazioen jakinarazpenak ezkutatzen dira"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Eremu pribatuko aplikazioetako 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="1210906480024148398">"Ezin izan da konfiguratu eremu pribatua"</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="4258842502257201013">"Eremu pribatua atzitzeko, 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Eremu pribatua erakusteko (ez da azken bertsioa)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Ireki Ezarpenak aplikazioa"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Sakatu Segurtasuna eta pribatutasuna &gt; Eremu pribatua &gt; Ezkutatu Eremu pribatua blokeatuta dagoenean"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Eremu pribatua blokeatuta dagoenean desaktibatzeko aukera"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Google-ko langileentzako oharra: eginbide hau garatzen ari da oraindik"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Gorde"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Utzi"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Erabili gabeko aplikazio-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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Hobetu ahots bidezko aktibazioa"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Gailu honek datu pribatuak erabiltzen ditu ahots bidez aktibatzeko eredua hobetzeko. Aplikazioek laburbildutako informazio eguneratua jasoko dute, eta erabiltzaile askoren datuak bateratuko dira, pribatutasuna mantentzeko eta eredua guztientzat hobetzeko.\n\n"<a href="">"Datu pribatuei 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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Hornitzaile 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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Pasahitzak, sarbide-gakoak eta datu-zerbitzuak"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-fa/arrays.xml b/res/values-fa/arrays.xml
index c04d2b7..866fcff 100644
--- a/res/values-fa/arrays.xml
+++ b/res/values-fa/arrays.xml
@@ -479,4 +479,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 b707c2e..4406add 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>
@@ -113,23 +116,34 @@
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"غیرفعال کردن «صدای بلوتوث کم‌مصرف»"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"اگر دستگاه از ویژگی‌های سخت‌افزار «صدای کم‌مصرف» پشتیبانی کند، ویژگی «صدای بلوتوث کم‌مصرف» را غیرفعال می‌کند."</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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"فضای خصوصی"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"برنامه‌های خصوصی قفل و پنهان نگه داشته می‌شود"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"برنامه‌های خصوصی را در فضای جداگانه‌ای نگه دارید که قابلیت پنهان کردن یا قفل کردن داشته باشد"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"قفل «فضای خصوصی»"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"می‌توانید با همان روشی که قفل دستگاهتان را باز می‌کنید قفل «فضای خصوصی» را باز کنید، یا اینکه قفل دیگری انتخاب کنید"</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="5804023571114910034">"قفل‌گشایی با اثر انگشت برای فضای خصوصی"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"قفل‌گشایی با چهره برای فضای خصوصی"</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="7306873010565337671">"می‌خواهید قفل جدیدی برای «فضای خصوصی» انتخاب کنید؟"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"قفل خودکار"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"قفل خودکار فضای خصوصی"</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="972581369094289386">"پنهان کردن «فضای خصوصی» هنگام قفل بودن"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"برای اینکه دیگران متوجه نشوند «فضای خصوصی» در دستگاهتان روشن است، می‌توانید آن را از فهرست برنامه‌ها پنهان کنید"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"دسترسی به «فضای خصوصی» هنگام پنهان بودن"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"در نوار جستجو، «فضای خصوصی» را جستجو کنید"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"روی کاشی «فضای خصوصی» ضربه بزنید"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"قفل «فضای خصوصی» را باز کنید"</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="3075645119800272800">"حذف «فضای خصوصی»"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"«فضای خصوصی» باموفقیت حذف شد"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"«فضای خصوصی» حذف نشد"</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="4377296080723608107">"اعلان برنامه‌های موجود در فضای خصوصی هنگام قفل بودن آن پنهان می‌شود"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"برای هم‌رسانی عکس یا فایل از برنامه‌های فضای خصوصی، قفل فضای خصوصی را باز کنید"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"برخی‌از برنامه‌ها قبلاً در فضای خصوصی نصب شده‌اند"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"فضای خصوصی راه‌اندازی نشد"</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="4258842502257201013">"برای دسترسی به فضای خصوصی، به فهرست برنامه‌ها بروید و به‌پایین پیمایش کنید"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"تمام"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"برای پیدا کردن فضای خصوصی، به‌پایین پیمایش کنید"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"برای نمایش «فضای خصوصی» (تجربه کاربری نهایی نیست)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"برنامه «تنظیمات» را باز کنید"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"‏روی «امنیت و حریم خصوصی &gt; فضای خصوصی &gt; پنهان کردن فضای خصوصی هنگام قفل بودن» ضربه بزنید"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"کلید «پنهان کردن فضای خصوصی هنگام قفل بودن» را خاموش کنید"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"‏یادداشت برای کارمندان Google: توسعه این ویژگی هنوز درحال انجام است"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ممکن است لازم باشد این گذرکلید را در دستگاه دیگر هم وارد کنید."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"تأیید مرتبط‌سازی با مجموعه هماهنگ"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"مقدار شارژ باتری"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"عمومی"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"تنظیمات عمومی"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"ذخیره"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"لغو"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"بهبود فعال‌سازی صدا"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"این دستگاه برای بهبود مدل فعال‌سازی صدا از هوش خصوصی استفاده می‌کند. برنامه‌ها می‌توانند با دریافت به‌روزرسانی‌های خلاصه‌ای که از کاربران بسیاری جمع‌آوری شده است، مدل را برای همه بهبود دهند و درعین‌حال حریم خصوصی را حفظ کنند.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"ارائه‌دهندگان دیگر"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"گذرواژه‌ها، گذرکلیدها، و سرویس‌های داده"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-fi/arrays.xml b/res/values-fi/arrays.xml
index a1707fe..159a2f8 100644
--- a/res/values-fi/arrays.xml
+++ b/res/values-fi/arrays.xml
@@ -479,4 +479,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..a91ff96 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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>
@@ -362,9 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Yksityisen tilan lukitus"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"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="5804023571114910034">"Sormenjälkiavaus yksityiselle tilalle"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Valitaanko yksityiselle tilalle uusi lukitus?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Lukitse automaattisesti"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Yksityisen tilan piilottaminen, kun se on lukittuna"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Piilota yksityinen tila piilottamalla se sovelluslistalta"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Pääsy yksityiseen tilaan, kun se on piilotettuna"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Hae hakukentästä \"Yksityinen tila\""</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Napauta Yksityinen tila ‑laattaa"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Yksityisen tilan poistaminen"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Yksityinen tila poistettu"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Ilmoitukset yksityisen tilan sovelluksista ovat piilotettuina, kun se on lukittu"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Yksityisen tilan sovellusten kuvia ja tiedostoja voi jakaa, kun sen lukituksen avaa"</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="1210906480024148398">"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="4258842502257201013">"Jos haluat käyttää yksityistä tilaa, siirry sovelluslistaan ja vieritä 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Näyttääksesi Yksityisen tilan (ei lopullinen UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Avaa Asetukset-sovellus"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Valitse Turvallisuus ja yksityisyys &gt; Yksityinen tila &gt; Yksityisen tilan piilottaminen, kun se on lukittuna"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"\"Yksityisen tilan piilottaminen, kun se on lukittuna\" pois"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Huomautus Googlen työntekijöille: Tämän ominaisuuden kehitys on kesken."</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Tallenna"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Peru"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Paranna puheaktivointia"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Tämä laite käyttää yksityisiä tietoja puheaktivointimallin parantamiseen. Sovellukset voivat vastaanottaa päivityksiä, jotka on koottu monilta käyttäjiltä yksityisyyden säilyttämiseksi samalla, kun puheaktivointimallia parannetaan kaikille.\n\n"<a href="">"Lisätietoa yksityisistä tiedoista"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Muut tarjoajat"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Salasanat, avainkoodit ja datapalvelut"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-fr-rCA/arrays.xml b/res/values-fr-rCA/arrays.xml
index 185a9a6..f472ecb 100644
--- a/res/values-fr-rCA/arrays.xml
+++ b/res/values-fr-rCA/arrays.xml
@@ -479,4 +479,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 278420e..d90c7f9 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">"Balayez 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 verrouiller l\'écran"</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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Verrouillage de l\'Espace privé"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Vous pouvez déverrouiller l\'Espace privé de la même manière que votre appareil ou choisir un autre type de verrou"</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="5804023571114910034">"Déverrouillage par empreinte digitale pour l\'Espace privé"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Choisir un nouveau verrou pour l\'Espace privé?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Verrouiller automatiquement"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Masquer l\'Espace privé lorsqu\'il est verrouillé"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Masquez l\'Espace privé dans votre liste d\'applications pour préserver votre confidentialité"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Accéder à l\'Espace privé lorsqu\'il est masqué"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Recherchez « Espace privé » dans la barre de recherche"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Touchez la tuile Espace privé"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Supprimer l\'espace privé"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"L\'espace privé a bien été supprimé"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Les notifications des applications de l\'Espace privé sont masquées lorsqu\'il est verrouillé"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Déverrouiller l\'Espace privé pour partager des photos ou des fichiers à partir des applications de l\'Espace privé"</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="1210906480024148398">"Impossible de configurer l\'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="4258842502257201013">"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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Pour afficher l\'Espace privé (version non finale de l\'EU)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Ouvrez l\'application Paramètres"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Touchez Sécurité et confidentialité &gt; Espace privé &gt; Masquer l\'Espace privé lorsqu\'il est verrouillé"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Désactiver Masquer l\'Espace privé lorsqu\'il est verrouillé"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Note pour les employés de Google : Le développement de cette fonctionnalité est toujours en cours"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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">"Connexion"</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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Enregistrer"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Annuler"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 pour <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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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>
@@ -3677,6 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Améliorer l\'activation vocale"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Cet appareil utilise l\'intelligence privée pour améliorer le modèle d\'activation vocale. Les applications peuvent recevoir des mises à jour résumées qui sont agrégées pour de nombreux utilisateurs afin de préserver la confidentialité tout en améliorant le modèle pour tous.\n\n"<a href="">"En savoir plus sur l\'intelligence privé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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Fournisseurs 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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Services de mots de passe, de clés d\'accès et de données"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index 4908691..f0a26ba 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -479,4 +479,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 179d3a7..30f3c14 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">"Balayez 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Verrouillage d\'Espace privé"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Vous pouvez déverrouiller 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="5804023571114910034">"Déverrouillage par empreinte digitale pour un espace privé"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Déverrouillage par reconnaissance faciale pour un 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">"Comme pour verrouiller l\'écran de l\'appareil"</string>
+    <string name="private_space_new_lock_title" msgid="7306873010565337671">"Choisir un nouveau verrouillage d\'Espace privé ?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Verrouiller automatiquement"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Masquer Espace privé lorsque l\'application est verrouillée"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Vous pouvez masquer Espace privé de votre liste d\'applis pour éviter les regards indiscrets"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Accéder à Espace privé lorsque l\'application est masquée"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Rechercher \"Private Space\" dans la barre de recherche"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Appuyer sur le bloc Espace privé"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Déverrouiller 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="3075645119800272800">"Supprimer l\'espace privé"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"L\'espace privé a bien été supprimé"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Les notifications des applis dans l\'espace privé sont masquées lorsque ces applis sont verrouillées"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Déverrouillez l\'espace privé pour partager des photos ou des fichiers provenant des applis de votre espace privé"</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="1210906480024148398">"Impossible de configurer l\'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="4258842502257201013">"Pour accéder à votre espace privé, rendez-vous dans votre liste d\'applis, 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Pour afficher Espace privé (UX non finale)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Ouvrez l\'application Paramètres"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Appuyez sur sécurité et confidentialité &gt; Espace privé &gt; Masquer Espace privé lorsque l\'appareil est verrouillé"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Désactivez Masquer Espace privé lors du verrouillage"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Remarque à l\'attention des Googleurs : le développement de cette fonctionnalité est toujours en cours"</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>
@@ -648,13 +780,15 @@
     <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_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_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 géolocalisés. 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>
@@ -707,6 +841,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,6 +861,9 @@
     <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>
@@ -746,6 +885,12 @@
     <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_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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Enregistrer"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Annuler"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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>
@@ -1551,6 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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,8 +2090,8 @@
     <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_size_title" msgid="5785110470538960881">"Taille"</string>
@@ -1940,6 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 min"</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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Améliorer l\'activation des commandes vocales"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Cet appareil utilise vos données personnelles afin d\'améliorer le modèle d\'activation de la commande vocale. Les applis peuvent recevoir des résumés récapitulatifs regroupés pour de nombreux utilisateurs afin de préserver la confidentialité tout en assurant une amélioration du modèle d\'activation pour chacun.\n\n"<a href="">"En savoir plus sur les données personnelles"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Autres fournisseurs"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Mots de passe, clés d\'accès et services de données"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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>
@@ -4700,8 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-gl/arrays.xml b/res/values-gl/arrays.xml
index 0a49979..6d5e88b 100644
--- a/res/values-gl/arrays.xml
+++ b/res/values-gl/arrays.xml
@@ -479,4 +479,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 64e43eb..11ad7db 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Bloqueo do espazo privado"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"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="5804023571114910034">"Desbloqueo dactilar para o espazo privado"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Queres usar outro bloqueo para o espazo privado?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Bloquear automaticamente"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Bloquear automaticamente o espazo privado"</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="972581369094289386">"Ocultar o espazo privado cando estea bloqueado"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Para que non saiban que o espazo privado está no teu dispositivo, ocúltao na lista de aplicacións"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Acceso ao espazo privado cando está oculto"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Escribe \"espazo privado\" na barra de busca"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Toca o atallo do espazo privado"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Eliminar espazo privado"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Eliminouse correctamente o espazo privado"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"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="2102594859384040485">"Desbloquea o espazo privado para compartir fotos ou ficheiros das súas aplicacións"</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="1210906480024148398">"Produciuse un erro ao configurar o 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="4258842502257201013">"Para acceder ao 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Para mostrar o espazo privado (non é a versión final da EU)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Abre a aplicación Configuración"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Toca Seguranza e privacidade &gt; Espazo privado &gt; Ocultar espazo privado cando estea bloqueado"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Desactivar Ocultar espazo privado cando estea bloqueado"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Nota para Googlers: Esta función aínda está en fase de desenvolvemento"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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">"Seguir usando aplicacións 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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Gardar"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancelar"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Mellorar activación por voz"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Este dispositivo emprega información privada para mellorar o modelo de activación por voz. As aplicacións poden recibir actualizacións resumidas que se agrupan coas de moitos usuarios para manter a privacidade ao tempo que se mellora o modelo para todo o mundo.\n\n"<a href="">"Máis información sobre a información privada"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Provedores 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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Contrasinais, claves de acceso e servizos de datos"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-gu/arrays.xml b/res/values-gu/arrays.xml
index e1457d7..084804c 100644
--- a/res/values-gu/arrays.xml
+++ b/res/values-gu/arrays.xml
@@ -479,4 +479,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..a479e38 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>
@@ -113,23 +116,34 @@
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"બ્લૂટૂથ LE ઑડિયો બંધ કરો"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"જો ડિવાઇસ LE ઑડિયો હાર્ડવેર ક્ષમતાઓને સપોર્ટ કરતું હોય, તો બ્લૂટૂથ 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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"ખાનગી સ્પેસ"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ખાનગી ઍપને લૉક કરેલી અને છુપાવેલી રાખો"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"ખાનગી ઍપ કોઈ એવી અલગ સ્પેસમાં રાખો જે તમે છુપાવી કે લૉક કરી શકો"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"ખાનગી સ્પેસનું લૉક"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"તમે તમારા ડિવાઇસને જે રીતે અનલૉક કરો છો તે જ રીતે તમે ખાનગી સ્પેસને અનલૉક કરી શકો છો અથવા કોઈ અલગ લૉક પસંદ કરી શકો છો"</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="5804023571114910034">"ખાનગી સ્પેસ માટે ફિંગરપ્રિન્ટ અનલૉક"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"ખાનગી સ્પેસ માટે ફેસ અનલૉક"</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="7306873010565337671">"ખાનગી સ્પેસ માટે નવું લૉક પસંદ કરીએ?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"ઑટોમૅટિક રીતે લૉક કરો"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"ખાનગી સ્પેસ ઑટોમૅટિક રીતે લૉક કરો"</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="972581369094289386">"ખાનગી સ્પેસ લૉક કરેલી હોય, ત્યારે છુપાવો"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ડિવાઇસની ખાનગી સ્પેસ અન્યોથી છુપાવવા તેને ઍપની સૂચિથી છુપાવો"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"છુપાવેલી હોય, ત્યારે પણ ખાનગી સ્પેસ ઍક્સેસ કરો"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"શોધ બારમાં \'ખાનગી સ્પેસ\' શોધો"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"ખાનગી સ્પેસ ટાઇલ પર ટૅપ કરો"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"તમારી ખાનગી સ્પેસ અનલૉક કરો"</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="3075645119800272800">"ખાનગી સ્પેસ ડિલીટ કરી"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"ખાનગી સ્પેસ સફળતાપૂર્વક ડિલીટ કરી"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"ખાનગી સ્પેસ ડિલીટ કરી શકાઈ નથી"</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="4377296080723608107">"જ્યારે ખાનગી સ્પેસ લૉક કરવામાં આવી હોય, ત્યારે ખાનગી સ્પેસમાંની ઍપના નોટિફિકેશન છુપાવવામાં આવે છે"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"ખાનગી સ્પેસમાંની ઍપમાંથી ફોટા કે ફાઇલો શેર કરવા માટે ખાનગી સ્પેસ અનલૉક કરો"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"તમારી ખાનગી સ્પેસમાં કેટલીક ઍપ પહેલાંથી જ ઇન્સ્ટૉલ કરેલી છે"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"ખાનગી સ્પેસનું સેટઅપ કરી શકાતું નથી"</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="4258842502257201013">"તમારી ખાનગી સ્પેસ ઍક્સેસ કરવા માટે તમારી ઍપની સૂચિમાં જાઓ, પછી નીચે સ્ક્રોલ કરો"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"થઈ ગયું"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"ખાનગી સ્પેસ શોધવા માટે નીચે સ્ક્રોલ કરો"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"ખાનગી સ્પેસ બતાવવા માટે (અંતિમ UX નથી)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Settings ઍપ ખોલો"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"લૉક હોય ત્યારે, સુરક્ષા અને પ્રાઇવસી &gt; ખાનગી સ્પેસ &amp;gt ખાનગી સ્પેસ છુપાવો પર ટૅપ કરો"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"લૉક હોય ત્યારે ખાનગી સ્પેસ છુપાવો ટૉગલને બંધ કરો"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Googleના કર્મચારીઓ માટે નોંધ: આ સુવિધાના વિકાસની પ્રક્રિયા હજી પણ ચાલુ છે"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"તમારે આ પાસકીને અન્ય ઉપકરણ પર પણ લખવાની જરૂર પડી શકે છે."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"સુસંગત સેટ સાથે જોડાણ બનાવવાનું કન્ફર્મ કરો"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"બૅટરી સ્તર"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"કૉમ્યુનલ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"કૉમ્યુનલ સેટિંગ"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"સાચવો"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"રદ કરો"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"વૉઇસ સક્રિયકરણ બહેતર બનાવો"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"વૉઇસ સક્રિયકરણ મૉડલને બહેતર બનાવવા માટે આ ડિવાઇસ ખાનગી ઇન્ટેલિજન્સનો ઉપયોગ કરે છે. દરેક જણ માટે મૉડલને બહેતર બનાવવા માટે ઍપને અપડેટનો સારાંશ મળી શકે છે, જેને ઘણા બધા વપરાશકર્તાઓ પાસેથી એકીકૃત કરવામાં આવ્યો હોય છે જેથી તેમની પ્રાઇવસી જળવાઈ રહે.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"વધારાના પ્રદાતાઓ"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"પાસવર્ડ, પાસકી, અને ડેટા સંબંધિત સેવાઓ"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-hi/arrays.xml b/res/values-hi/arrays.xml
index 24d45fc..b2a9db6 100644
--- a/res/values-hi/arrays.xml
+++ b/res/values-hi/arrays.xml
@@ -479,4 +479,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 7588cbe..e520085 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"प्राइवेट स्पेस"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"निजी ऐप्लिकेशन, लॉक करें और छिपाकर रखें"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"निजी ऐप्लिकेशन ऐसी जगह पर रखें जिसे छिपाया या लॉक किया जा सकता है"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"प्राइवेट स्पेस लॉक"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"डिवाइस की तरह ही प्राइवेट स्पेस को अनलॉक किया जा सकता है या कोई दूसरा लॉक सेट किया जा सकता है"</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="5804023571114910034">"प्राइवेट स्पेस के लिए फ़िंगरप्रिंट अनलॉक"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"प्राइवेट स्पेस के लिए फ़ेस अनलॉक"</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="7306873010565337671">"प्राइवेट स्पेस के लिए नया लॉक चुनना है?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"अपने-आप लॉक होने की सुविधा पाएं"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"प्राइवेट स्पेस अपने-आप लॉक होने की सुविधा पाएं"</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="972581369094289386">"लॉक होने पर प्राइवेट स्पेस छिपाएं"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"डिवाइस पर प्राइवेट स्पेस छिपाने के लिए, अपने ऐप्लिकेशन सूची से इसे छिपाएं"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"छिपाए जाने पर प्राइवेट स्पेस ऐक्सेस करें"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"खोज बार में \'प्राइवेट स्पेस\' को खोजें"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"प्राइवेट स्पेस के टाइल पर टैप करें"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"अपना प्राइवेट स्पेस अनलॉक करें"</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="3075645119800272800">"प्राइवेट स्पेस मिटाएं"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"प्राइवेट स्पेस को मिटा दिया गया है"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"प्राइवेट स्पेस को मिटाया नहीं जा सका"</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="4377296080723608107">"लॉक होने पर, प्राइवेट स्पेस में ऐप्लिकेशन की सूचनाएं छिपी रहती हैं"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"प्राइवेट स्पेस में मौजूद ऐप्लिकेशन से फ़ोटो या फ़ाइलें शेयर करने के लिए, स्पेस को अनलॉक करें"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"कुछ ऐप्लिकेशन पहले से ही आपके प्राइवेट स्पेस में इंस्टॉल हैं"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"प्राइवेट स्पेस को सेट अप नहीं किया जा सका"</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="4258842502257201013">"प्राइवेट स्पेस को ऐक्सेस करने के लिए, ऐप्लिकेशन लिस्ट में जाएं और नीचे की ओर स्क्रोल करें"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"हो गया"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"प्राइवेट स्पेस को ढूंढने के लिए, नीचे की ओर स्क्रोल करें"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"प्राइवेट स्पेस दिखाने के लिए (उपयोगकर्ता अनुभव फ़ाइनल नहीं)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Settings ऐप्लिकेशन खोलें"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"सुरक्षा, निजता, प्राइवेट स्पेस, और लॉक होने पर प्राइवेट स्पेस छिपाएं पर टैप करें"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"लॉक होने पर प्राइवेट स्पेस छिपाएं टॉगल को बंद करें"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Googler के लिए नोट: इस नई सुविधा पर अभी काम चल रहा है"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"आपको अन्‍य डिवाइस पर भी यह पासकी लिखनी होगी."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"कोऑर्डिनेटेड सेट से जोड़ने के लिए पुष्टि करें"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"बैटरी स्‍तर"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"कम्यूनिटी"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"कम्यूनिटी सेटिंग"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"सेव करें"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"रद्द करें"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"बोलकर चालू करने की सुविधा को बेहतर बनाएं"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"बोलकर चालू करने की सुविधा वाले मॉडल को बेहतर बनाने के लिए यह डिवाइस, प्राइवेट इंटेलिजेंस का इस्तेमाल करता है. सभी लोगों के लिए इस मॉडल को बेहतर बनाने और निजता बनाए रखने के लिए, ऐप्लिकेशन को खास जानकारी वाले ऐसे अपडेट मिल सकते हैं जो अलग-अलग लोगों से इकट्ठा किए गए हैं.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"क्रेडेंशियल देने वाली अन्य सेवाएं"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"पासवर्ड, पासकी, और डेटा की सेवाएं"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-hr/arrays.xml b/res/values-hr/arrays.xml
index b3545d5..f56d73c 100644
--- a/res/values-hr/arrays.xml
+++ b/res/values-hr/arrays.xml
@@ -479,4 +479,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..bdb36a9 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">"Za nastavak prijeđite prstom prema gore"</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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Zaključavanje privatnog prostora"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"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">"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="5804023571114910034">"Otključavanje otiskom prsta za privatni prostor"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Odabrati novo zaključavanje za privatni prostor?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Automatsko zaključavanje"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Sakrivanje privatnog prostora kad je zaključan"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Privatni prostor možete sakriti s popisa aplikacija uređaja"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Pristup privatnom prostoru kad je sakriven"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Na traci za pretraživanje pretražite privatni prostor"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Dodirnite pločicu privatnog prostora"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Brisanje privatnog prostora"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Privatni prostor uspješno je izbrisan"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Obavijesti aplikacija u privatnom prostoru sakrivene su kada je on zaključan"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Otključajte privatni prostor da biste dijelili fotografije ili datoteke iz aplikacija privatnog prostora"</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="1210906480024148398">"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="4258842502257201013">"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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Prikazivanje privatnog prostora (nije finalni UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Otvorite aplikaciju Postavke"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Dodirnite Sigurnost i privatnost &gt; Privatni prostor &gt; Sakrivanje privatnog prostora kad je zaključan"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Isključivanje sakrivanja privatnog prostora kad je zaključan"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Napomena za Googleove zaposlenike: razvoj te značajke još je u tijeku"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Spremi"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Odustani"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Poboljšavanje glasovne aktivacije"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Ovaj uređaj koristi privatne podatke za poboljšanje modela glasovne aktivacije. Aplikacije mogu primati sažeta ažuriranja koja se agregiraju putem mnogobrojnih korisnika kako bi se zadržala privatnost tijekom poboljšanja modela za sve korisnike.\n\n"<a href="">"Više o privatnim podacima"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Dodatni davatelji usluga"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Usluge za zaporke, pristupne ključeve i podatke"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4512,7 +4775,7 @@
     <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>
@@ -4544,8 +4807,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4966,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 +5063,29 @@
     <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>
 </resources>
diff --git a/res/values-hu/arrays.xml b/res/values-hu/arrays.xml
index 5651324..a53728b 100644
--- a/res/values-hu/arrays.xml
+++ b/res/values-hu/arrays.xml
@@ -479,4 +479,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..be201f9 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">"A folytatáshoz csúsztassa gyorsan felfelé az ujját"</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 ujját gyorsan felfelé 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Privát terü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="3006539720164938296">"Privát terület zárolása"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"A privát területet 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="5804023571114910034">"Ujjlenyomattal való feloldás a privát területhez"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Arcalapú feloldás a privát terü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="7306873010565337671">"Új zárolást választ a privát területhez?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Automatikus zárolás"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Privát terület elrejtése lezárt állapotban"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"A privát terület elrejthető az applistából, ha titkolná mások előtt"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Hozzáférés a privát területhez rejtett állapotban"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"A „privát terület” kifejezés keresése a keresősávban"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Koppintson a privát terület mozaikjára"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Oldja fel a privát területet"</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="3075645119800272800">"Privát terület törlése"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Privát terület sikeresen törölve"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Nem sikerült törölni a privát terü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="4377296080723608107">"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_share_photos_title" msgid="2102594859384040485">"A privát területen található alkalmazásokban tárolt fotók vagy fájlok megosztásához oldja fel a terület zárolását"</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="1210906480024148398">"Nem sikerült a privát terület beállítása"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"Újra"</string>
+    <string name="private_space_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="4258842502257201013">"A privát terület megnyitásához lépjen az alkalmazáslistára, 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"A privát terület megjelenítése (nem végleges UX-változat)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Nyissa meg a Beállítások alkalmazást"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Koppintson a Biztonság és adatvédelem &gt; Privát terület &gt; Privát terület elrejtése lezárt állapotban lehetőségre"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Kapcsolja ki a Privát terület elrejtése lezárt állapotban kapcsolót"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Megjegyzés a Google-alkalmazottaknak: Ennek a funkciónak a fejlesztése még folyamatban van"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <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>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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">"A(z) <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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"A hangalapú aktiválás továbbfejlesztése"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Ez az eszköz privát intelligenciát használ a hangalapú aktiválási modell továbbfejlesztéséhez. Az alkalmazások összesített frissítéseket kaphatnak, amelyek összesítése számos felhasználó adatai alapján történik, hogy fenntartsuk az adatvédelmet, miközben mindenki számára jobbá tesszük a modellt.\n\n"<a href="">"További információ a privát intelligenciáró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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"További szolgáltatók"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Jelszavak, azonosítókulcsok és adatszolgáltatások"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-hy/arrays.xml b/res/values-hy/arrays.xml
index fb38c9b..64c2775 100644
--- a/res/values-hy/arrays.xml
+++ b/res/values-hy/arrays.xml
@@ -479,4 +479,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..8138d14 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Անձնական տարածք"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Անձնական հավելվածները պահեք կողպված և թաքցված"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Անձնական հավելվածները պահեք առանձին տարածքում, որը կարող եք թաքցնել կամ կողպել"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"Անձնական տարածքի կողպում"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Դուք կարող եք օգտագործել ապակողպման նույն եղանակը, որն օգտագործվում է էկրանի համար, կամ ընտրել մեկ ուրիշը"</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="5804023571114910034">"Մատնահետքով ապակողպում անձնական տարածքի համար"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Դեմքով ապակողպում անձնական տարածքի համար"</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="7306873010565337671">"Ընտրե՞լ նոր կողպում անձնական տարածքի համար։"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Ավտոմատ կողպում"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Մասնավոր տարածքի ավտոմատ կողպում"</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="972581369094289386">"Թաքցնել Անձնական տարածքը, երբ այն կողպված է"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Որպեսզի այլ մարդիկ չիմանան ձեր Անձնական տարածքի մասին, կարող եք այն թաքցնել հավելվածների ցանկից"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Անձնական տարածքի հասանելիություն, երբ այն թաքցված է"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Որոնման տողում մուտքագրեք «Անձնական տարածք» հարցումը"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Հպեք «Անձնական տարածք» սալիկին"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Ապակողպել Անձնական տարածքը"</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="3075645119800272800">"Ջնջել անձնական տարածքը"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Անձնական տարածքը ջնջվեց"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Անձնական տարածքը չհաջողվեց ջնջել"</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="4377296080723608107">"Անձնական տարածքում հավելվածներից ծանուցումները թաքցված են, երբ այն կողպված է"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Ապակողպեք անձնական տարածքը, որպեսզի լուսանկարներով կամ ֆայլերով կիսվեք անձնական տարածքի հավելվածներից"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Որոշ հավելվածներ արդեն տեղադրված են ձեր անձնական տարածքում"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"Չհաջողվեց անձնական տարածք կարգավորել"</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="4258842502257201013">"Անձնական տարածք անցնելու համար բացեք ձեր հավելվածների ցանկը և ոլորեք ներքև"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Պատրաստ է"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Ոլորեք ներքև՝ անձնական տարածքը գտնելու համար"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Անձնական տարածքը ցույց տալու համար (միջերեսը վերջնական չէ)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Բացեք «Կարգավորումներ» հավելվածը"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Հպեք Անվտանգություն &amp; Գաղտնիություն &gt; Անձնական տարածք &gt; Թաքցնել Անձնական տարածքը, երբ այն կողպված է"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"«Թաքցնել Անձնական տարածքը, երբ այն կողպված է» փոխանջատիչ"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Նշում Google-ի աշխատողների համար․ այս գործառույթը դեռ մշակվում է"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Հնարավոր է պետք լինի մուտքագրել այս անցաբառը այլ սարքերում:"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Հաստատեք՝ համակարգված հավաքածուի հետ զուգակցվելու համար"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Մարտկոցի մակարդակը"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Ընդհանուր"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Ընդհանուր կարգավորումներ"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Պահել"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Չեղարկել"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Բարելավել ձայնով ակտիվացումը"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Այս սարքն օգտագործում է անձնական տեղեկություններ՝ ձայնով ակտիվացման մոդելը բարելավելու համար։ Հավելվածները կարող են օգտագործել ամփոփ թարմացումներ, որոնք հավաքվել են տարբեր օգտատերերից՝ պահպանելով գաղտնիությունը և բարելավելով մոդելը բոլորի համար։\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Լրացուցիչ մատակարարներ"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Գաղտնաբառերի, անցաբառերի և տվյալների պահման ծառայություններ"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-in/arrays.xml b/res/values-in/arrays.xml
index 15ed51f..a5291e5 100644
--- a/res/values-in/arrays.xml
+++ b/res/values-in/arrays.xml
@@ -479,4 +479,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 2f82ebd..e71940e 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 terus menggunakan aplikasi ini, 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Ruang Pribadi"</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="3006539720164938296">"Kunci Ruang Pribadi"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Anda dapat membuka kunci Ruang Pribadi 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="5804023571114910034">"Buka dengan Sidik Jari untuk Ruang Pribadi"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Buka dengan Wajah untuk Ruang Pribadi"</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="7306873010565337671">"Pilih kunci baru untuk Ruang Pribadi?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Mengunci secara otomatis"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Sembunyikan Ruang Pribadi jika dikunci"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Agar orang lain tidak dapat melihat Ruang Pribadi di perangkat, Anda dapat menyembunyikannya dari daftar aplikasi"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Akses Ruang Pribadi jika disembunyikan"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Telusuri \'Ruang Pribadi\' di kotak penelusuran"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Ketuk kartu Ruang Pribadi"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Buka kunci Ruang Pribadi"</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="3075645119800272800">"Hapus Ruang Pribadi"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Ruang Pribadi berhasil dihapus"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Ruang Pribadi 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="4377296080723608107">"Notifikasi dari aplikasi di ruang pribadi disembunyikan saat ruang pribadi dikunci"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Buka ruang pribadi Anda untuk berbagi foto atau file dari aplikasi ruang pribadi"</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="1210906480024148398">"Tidak dapat menyiapkan ruang pribadi"</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="4258842502257201013">"Untuk mengakses ruang pribadi, 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Untuk menampilkan Ruang Pribadi (Bukan UX akhir)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Buka Aplikasi Setelan"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Ketuk Keamanan &amp; privasi &gt; Ruang Pribadi &gt; Sembunyikan Ruang Pribadi saat terkunci"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Nonaktifkan tombol Sembunyikan Ruang Pribadi saat terkunci"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Catatan untuk Googler: Fitur ini sedang dalam proses pengembangan"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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">"Terus pakai 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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Simpan"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Batal"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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">"Menghapus izin dan file sementara, menghentikan notifikasi, serta mengarsipkan 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>
@@ -3677,6 +3850,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 data seluler yang digunakan"</string>
@@ -3695,10 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Meningkatkan aktivasi suara"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Perangkat ini menggunakan kecerdasan pribadi untuk meningkatkan kualitas model aktivasi suara. Aplikasi dapat menerima ringkasan update yang dikumpulkan dari banyak pengguna untuk menjaga privasi sekaligus meningkatkan kualitas model bagi semua orang.\n\n"<a href="">"Selengkapnya tentang kecerdasan pribadi"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Penyedia 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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Sandi, kunci sandi, dan layanan data"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-is/arrays.xml b/res/values-is/arrays.xml
index d6ece01..8d26706 100644
--- a/res/values-is/arrays.xml
+++ b/res/values-is/arrays.xml
@@ -479,4 +479,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..1f8c6b7 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Einkarý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="3006539720164938296">"Læsing einkarýmis"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Hægt er að taka einkarými úr lás á sama hátt og tækið en einnig er hægt að velja 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="5804023571114910034">"Fingrafarskenni fyrir einkarými"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Andlitskenni fyrir einkarý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="7306873010565337671">"Velja nýjan lás fyrir einkarými?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Læsa sjálfkrafa"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Fela einkarými þegar það er læst"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Til að aðrir sjái ekki einkarými tækisins geturðu falið það á forritalistanum"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Aðgangur að einkarými þegar það er falið"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Leitaðu að „Einkarými“ á leitarstikunni"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Ýttu á reitinn „Einkarými“"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Taktu einkarý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="3075645119800272800">"Eyða einkarými"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Einkarými var eytt"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Ekki tókst að eyða einkarý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="4377296080723608107">"Tilkynningar forrita í einkarými eru faldar þegar það er læst"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Taktu einkarými úr lás til að deila myndum eða skrám úr forritum í rýminu"</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="1210906480024148398">"Ekki tókst að setja upp einkarý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="4258842502257201013">"Farðu í forritalistann og flettu niður til að finna einkarý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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Til að sýna einkarými (ekki lokaupplifun notanda)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Opnaðu forritið Stillingar"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Ýttu á Öryggi og persónuvernd &gt; Einkarými &gt; Fela einkarými þegar læst er"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Slökkva á Fela einkarými þegar rofi er læstur"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Athugasemd til starfsmanna Google: Þróun þessa eiginleika er enn í gangi"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <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>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Bættu raddvirkjun"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Þetta tæki notar persónuupplýsingar til að bæta raddvirkjunarlíkanið. Forrit geta fengið samanteknar uppfærslur sem er safnað frá mörgum notendum til að viðhalda persónuvernd á meðan líkanið er bætt fyrir alla.\n\n"<a href="">"Nánar um notkun persónuupplýsinga"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Fleiri þjónustuaðilar"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Aðgangsorð, aðgangslyklar og gagnaþjónustur"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index b246a4c..be222df 100644
--- a/res/values-it/arrays.xml
+++ b/res/values-it/arrays.xml
@@ -479,4 +479,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 a51213c..d29c711 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">"Piega lo smartphone e scorri verso l\'alto sul display anteriore per continuare a utilizzare 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Blocco dello Spazio privato"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"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="5804023571114910034">"Sblocco con l\'Impronta per lo spazio privato"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Scegliere un nuovo blocco per lo Spazio privato?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Blocca automaticamente"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Bloccare 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="972581369094289386">"Nascondi Spazio privato quando è bloccato"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Per evitare che altre persone sappiano che lo Spazio privato è sul tuo dispositivo, puoi nasconderlo dal tuo elenco di app"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Accedi allo Spazio privato quando è nascosto"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Cerca \"Spazio privato\" nella barra di ricerca"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tocca il riquadro Spazio privato"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Elimina Spazio privato"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Spazio privato eliminato"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Le notifiche delle app nello spazio privato vengono nascoste quando quest\'ultimo è bloccato"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Sblocca lo spazio privato per condividere foto o file dalle app dello spazio privato"</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="1210906480024148398">"Impossibile configurare lo 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="4258842502257201013">"Per accedere al 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Per mostrare lo Spazio privato (UX non finale)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Apri l\'app Impostazioni"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Tocca Sicurezza e privacy &gt; Spazio privato &gt; Nascondi Spazio privato quando è bloccato"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Disattiva Nascondi Spazio privato quando è bloccato"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Nota per i Googler: lo sviluppo di questa funzionalità è ancora in corso"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Salva"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Annulla"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 sveglia"</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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Migliora l\'attivazione vocale"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Questo dispositivo usa l\'intelligenza privata per migliorare il modello di attivazione vocale. Le app ricevono riepiloghi degli aggiornamenti aggregati per più utenti per preservare la privacy durante il miglioramento del modello per tutti.\n\n"<a href="">"Ulteriori informazioni sull\'intelligenza privata"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Provider 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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Servizi per password, passkey e dati"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-iw/arrays.xml b/res/values-iw/arrays.xml
index 9d016bb..b8c1696 100644
--- a/res/values-iw/arrays.xml
+++ b/res/values-iw/arrays.xml
@@ -479,4 +479,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..0055aa1 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"מרחב פרטי"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"נעילה והסתרה של אפליקציות פרטיות"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"שמירת אפליקציות פרטיות במרחב נפרד שאפשר להסתיר או לנעול"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"נעילה של המרחב הפרטי"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"אפשר לפתוח את המרחב הפרטי באותה דרך שפותחים את המכשיר או לבחור בנעילה אחרת"</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="5804023571114910034">"הגדרת ביטול הנעילה בטביעת אצבע למרחב הפרטי"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"הגדרת פתיחה ע\"י זיהוי הפנים למרחב הפרטי"</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="7306873010565337671">"רוצה לבחור שיטת נעילה חדשה למרחב הפרטי?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"נעילה אוטומטית"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"נעילת המרחב הפרטי באופן אוטומטי"</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="972581369094289386">"הסתרת המרחב הפרטי במצב נעילה"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"כדי למנוע מאנשים אחרים לדעת שהמרחב הפרטי מופעל במכשיר, אפשר להסתיר אותו מרשימת האפליקציות"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"גישה למרחב הפרטי כשהוא במצב הסתרה"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"חיפוש \'מרחב פרטי\' בסרגל החיפוש"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"מקישים על פקד ההגדרה המהירה \'מרחב פרטי\'"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"ביטול הנעילה של המרחב הפרטי"</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="3075645119800272800">"מחיקת מרחב פרטי"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"מחקת את המרחב הפרטי"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"לא ניתן היה למחוק את המרחב הפרטי"</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="4377296080723608107">"ההתראות מהאפליקציות במרחב הפרטי מוסתרות כשהוא נעול"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"ביטול נעילת המרחב הפרטי כדי לשתף תמונות או קבצים מאפליקציות במרחב הפרטי"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"חלק מהאפליקציות כבר מותקנות במרחב הפרטי שלך"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"לא ניתן להגדיר את המרחב הפרטי"</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="4258842502257201013">"כדי לגשת למרחב הפרטי שלך, צריך לעבור לרשימת האפליקציות שלך ואז לגלול למטה"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"סיום"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"צריך לגלול למטה כדי למצוא את המרחב הפרטי"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"‏כדי להציג את המרחב הפרטי (UX לא סופי)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"פותחים את אפליקציית ההגדרות"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"‏מקישים על \'אבטחה ופרטיות\' &gt; \'מרחב פרטי\' &gt; \'הסתרת המרחב הפרטי במצב נעילה\'"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"השבתת המתג \'הסתרת המרחב הפרטי במצב נעילה\'"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"הערה לגוגלרים: התכונה הזו עדיין בתהליך פיתוח"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ייתכן שתצטרך להקליד את המפתח הזה גם במכשיר השני."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"עליך לאשר התאמה עם הקבוצה המתואמת"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"טעינת סוללה:"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"שיתופי"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"הגדרות שיתופיות"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"שמירה"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ביטול"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"שיפור ההפעלה הקולית"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"המכשיר הזה משתמש בבינה פרטית כדי לשפר את מודל ההפעלה הקולית. אפליקציות יכולות לקבל סיכומי עדכונים שנאספים ממשתמשים רבים כדי לשמור על פרטיות המשתמשים ולשפר את המודל לכולם.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"ספקים נוספים"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"סיסמאות, מפתחות גישה ושירותי נתונים"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4512,7 +4775,7 @@
     <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>
@@ -4544,8 +4807,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4966,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 +5063,29 @@
     <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>
 </resources>
diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml
index 0553b20..ebdf56a 100644
--- a/res/values-ja/arrays.xml
+++ b/res/values-ja/arrays.xml
@@ -306,7 +306,7 @@
   <string-array name="captioning_typeface_selector_titles">
     <item msgid="2166553138528640250">"デフォルト"</item>
     <item msgid="4234707448428002595">"Sans Serif"</item>
-    <item msgid="2390008695651897663">"Sans Serif コンデンス"</item>
+    <item msgid="2390008695651897663">"Sans Serif Condensed"</item>
     <item msgid="2396492419730702454">"Sans Serif 固定幅"</item>
     <item msgid="8199675052804786099">"Serif"</item>
     <item msgid="4554123140736897688">"Serif 固定幅"</item>
@@ -479,4 +479,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..747a3a9 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>
@@ -113,23 +116,34 @@
     <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_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>
@@ -173,6 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"プライベート スペース"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"限定公開アプリはロックされたままで非表示となります"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"非表示またはロックできる個別のスペースに限定公開アプリを保持できます"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"プライベート スペースのロック"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"デバイスのロック解除と同じ方法でプライベート スペースのロックを解除するか、別のロックを選択できます"</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="5804023571114910034">"プライベート スペースの指紋認証"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"プライベート スペースの顔認証"</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="7306873010565337671">"プライベート スペースの新規ロックを選択しますか？"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"自動ロック"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"プライベート スペースを自動的にロックする"</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="972581369094289386">"ロック時にプライベート スペースを表示しない"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"プライベート スペースがデバイスにあることを秘密にするために、アプリのリストで非表示にできます"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"非表示にプライベート スペースにアクセスする"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"検索バーで「プライベート スペース」を検索する"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"[プライベート スペース] のタイルをタップする"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"プライベート スペースをロック解除する"</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="3075645119800272800">"プライベート スペースの削除"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"プライベート スペースを削除しました"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"プライベート スペースを削除できませんでした"</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="4377296080723608107">"プライベート スペースがロックされているときは、プライベート スペースにアプリからの通知は表示されません"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"プライベート スペースのロックを解除してプライベート スペースのアプリから写真やファイルを共有する"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"一部のアプリはプライベート スペースにすでにインストールされています"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"プライベート スペースを設定できませんでした"</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="4258842502257201013">"プライベート スペースにアクセスするには、アプリのリストに移動してから下にスクロールします"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"完了"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"プライベート スペースを探すには下にスクロールしてください"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"プライベート スペースを表示するには（暫定 UX）"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"設定アプリを開きます"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"[セキュリティとプライバシー] &gt; [プライベート スペース] &gt; [ロック時にプライベート スペースを表示しない] をタップします"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"[ロック時にプライベート スペースを表示しない] をオフにします"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Google 社員への注記: この機能は現在開発中です"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"もう一方のデバイスでも、このパスキーの入力が必要な場合があります。"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"確認すると、調整された設定でペア設定します"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"バッテリー残量"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"共用"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"共用の設定"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"保存"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"キャンセル"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"音声アクティベーションを改善する"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"このデバイスは音声アクティベーションの改善を目的として、個人情報を使用します。さまざまなユーザーから集められて要約された最新の情報をアプリが受け取る場合があります。これらの情報はユーザーのプライバシーを保護しつつ、すべてのユーザーのモデルを改善するために使用されます。\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"追加のプロバイダ"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"パスワード、パスキー、データのサービス"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-ka/arrays.xml b/res/values-ka/arrays.xml
index d101086..5c3f956 100644
--- a/res/values-ka/arrays.xml
+++ b/res/values-ka/arrays.xml
@@ -479,4 +479,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 811e6fa..0bd1aed 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"პირადი სივრცე"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ჩაკეტეთ და დამალეთ პირადი აპები"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"შეინახეთ პირადი აპები ცალკე სივრცეში, რომლის დამალვა ან ჩაკეტვა შეგიძლიათ"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"პირადი სივრცის ჩაკეტვა"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"განბლოკეთ თქვენი პირადი სივრცე ისევე, როგორ მოწყობილობას განბლოკავთ, ან დააყენეთ განსხვავებული საკეტი"</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="5804023571114910034">"კერძო სივრცის ანაბეჭდით განბლოკვა"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"კერძო სივრცის სახით განბლოკვა"</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="7306873010565337671">"აირჩიეთ ახალი საკეტი პირადი სივრცისთვის?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"ავტომატურად ჩაკეტვა"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"კერძო სივრცის ავტომატურად ჩაკეტვა"</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="972581369094289386">"პირადი სივრცის დამალვა ჩაკეტილ მდგომარეობაში"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"შეგიძლიათ დამალოთ პირადი სივრცე თქვენი აპების გვერდიდან, თუ არ გსურთ, რომ სხვებმა იცოდნენ, პირად სივრცეს რომ იყენებთ თქვენს მოწყობილობაზე"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"წვდომა პირად სივრცეზე, როცა დამალულია"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"მოძებნეთ „პირადი სივრცე“ ძიების ზოლში"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"შეეხეთ Private Space მოზაიკის ფილას"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"განბლოკეთ თქვენი პირადი სივრცე"</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="3075645119800272800">"პირადი სივრცის წაშლა"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"პირადი სივრცე წარმატებით წაიშალა"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"პირადი სივრცის წაშლა ვერ მოხერხდა"</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="4377296080723608107">"პირად სივრცეში არსებული აპების შეტყობინებები დამალულია, როცა ის ჩაკეტილია"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"განბლოკეთ თქვენი კერძო სივრცე, რათა გააზიაროთ ფოტოები ან ფაილები პირადი სივრცის აპებიდან"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"ზოგიერთი აპი უკვე დაინსტალირებულია თქვენს პირად სივრცეში"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"პირადი სივრცის დაყენება ვერ მოხერხდა"</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="4258842502257201013">"თქვენს პირად სივრცეში წვდომისთვის გადადით თქვენი აპების სიაში, შემდეგ გადაადგილდით ქვემოთ"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"მზადაა"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"პირადი სივრცის საპოვნელად გადაადგილდით ქვემოთ"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"პირადი სივრცის ჩვენება (არ არის საბოლოო UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"გახსენით პარამეტრების აპი."</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"შეეხეთ უსაფრთხოებას და კონფიდენციალურობას &gt; პირადი სივრცე &gt; პირადი სივრცის დამალვა ჩაკეტილზე"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"გამორთეთ გადამრთველი, პირადი სივრცის დამალვა ჩაკეტვისას"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"შენიშვნა Google-ის თანამშრომლებისთვის ამ ფუნქციის განვითარება ჯერ კიდევ მიმდინარეობს"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"შესაძლოა ამ წვდომის გასაღების სხვა მოწყობილობაში შეყვანაც დაგჭირდეთ."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"დაადასტურეთ კოორდინირებულ ნაკრებთან დასაწყვილებლად"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ბატარეის დატენვის დონე"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"საერთო"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"საერთო პარამეტრები"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"შენახვა"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"გაუქმება"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"ხმოვანი აქტივაციის გაუმჯობესება"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"ეს მოწყობილობა იყენებს კერძო ინტელექტს ხმოვანი აქტივაციის მოდელის გაუმჯობესებისთვის. მოდელის ყველასთვის გაუმჯობესებისას კონფიდენციალურობის დაცვის მიზნით აპებს შეუძლიათ მიიღონ სხვადასხვა მომხმარებლებისგან შეგროვებული განახლებების შეჯამება. \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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"დამატებითი პროვაიდერები"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"პაროლები, წვდომის გასაღებები და მონაცემთა სერვისები"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-kk/arrays.xml b/res/values-kk/arrays.xml
index 1970543..4fb8109 100644
--- a/res/values-kk/arrays.xml
+++ b/res/values-kk/arrays.xml
@@ -479,4 +479,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..13aaade 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Жеке бөлме"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Жеке кеңістік қолданбаларын құлыптаулы және жасырын қалдырыңыз."</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Жеке қолданбаларды жасыруға не құлыптауға болатын бөлек жерде сақтаңыз."</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"Жеке бөлме құлпы"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Жеке бөлме құлпын құрылғы құлпын ашқандай аша аласыз немесе басқа құлып таңдай аласыз."</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="5804023571114910034">"Жеке кеңістік үшін \"Саусақ ізімен ашу\" функциясын пайдалану"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Жеке кеңістік үшін \"Бет тану\" функциясын пайдалану"</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="7306873010565337671">"Жеке бөлмеге жаңа құлып таңдау керек пе?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Автоматты түрде құлыптау"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Құпия кеңістікті автоматты түрде құлыптау"</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="972581369094289386">"Жеке бөлмені құлыптаулы кезде жасыру"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Құрылғыңызда жеке бөлменің барын басқа адамдар білмес үшін, оны қолданбалар тізімінен жасыра аласыз."</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Жеке бөлмеге жасырулы кезде кіру"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Іздеу жолағында \"Жеке бөлме\" деп іздеңіз."</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Жеке бөлме бөлшегін түртіңіз."</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Жеке бөлменің құлпын ашыңыз."</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="3075645119800272800">"Жеке бөлмені жою"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Жеке бөлме жойылды."</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Жеке бөлме жойылмады."</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="4377296080723608107">"Жеке бөлме құлыптаулы кезде, ондағы қолданбалардан келетін хабарландырулар жасырылады"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Жеке кеңістік қолданбаларындағы фотосуреттерді не файлдарды бөлісу үшін жеке кеңістік құлпын ашыңыз"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Кейбір қолданбалар жеке бөлмеңізде орнатылып қойған"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"Жеке бөлмені реттеу мүмкін болмады"</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="4258842502257201013">"Жеке бөлмеңізге кіру үшін қолданбалар тізіміне өтіп, төмен айналдырыңыз."</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Дайын"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Жеке бөлмені табу үшін төмен айналдырыңыз."</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Жеке бөлмені көрсету (соңғы пайдаланушы интерфейсі емес)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Параметрлер қолданбасын ашыңыз."</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Құлыптаулы кезде \"Қауіпсіздік және құпиялық &gt; Жеке бөлме &gt; Жеке бөлмені жасыру\" бөлімін түртіңіз."</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"\"Құлыптаулы кезде жеке бөлмені жасыру\" ауыстырғышын өшіріңіз."</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Google қызметкерлеріне ескертпе: Бұл функция әлі әзірленіп жатыр."</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Бұл кілтпернені басқа құрылғыларды қолданғанда да теру қажет болады."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Үйлестірілген жинақпен жұптауды растаңыз."</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Батарея деңгейі"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Жалпы"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Жалпы параметрлер"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Сақтау"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Бас тарту"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Дауыспен іске қосу функциясын жақсарту"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Бұл құрылғы дауыспен іске қосу үлгісін жақсарту үшін жеке ақпаратты пайдаланады. Қолданбалар көптеген пайдаланушыдан жиынтықталған деректерді алуы мүмкін, соның арқасында құпиялықты сақтай отырып, үлгіні барлығы үшін жақсартады.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Қосымша провайдерлер"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Құпия сөздер, кіру кілттері мен дерек қызметтері"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-km/arrays.xml b/res/values-km/arrays.xml
index e460e2f..7292a00 100644
--- a/res/values-km/arrays.xml
+++ b/res/values-km/arrays.xml
@@ -479,4 +479,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..f1189e9 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"បន្ទប់​ឯកជន"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"រក្សាកម្មវិធីឯកជនឱ្យនៅជាប់សោ និងលាក់"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"រក្សាកម្មវិធីឯកជនក្នុងបន្ទប់ដាច់ដោយឡែកដែលអ្នកអាចលាក់ ឬចាក់សោបាន"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"ការចាក់សោ Private Space"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"អ្នកអាចដោះសោ Private Space តាមវិធីដូចគ្នាដែលអ្នកដោះសោឧបករណ៍របស់អ្នក ឬជ្រើសរើសការចាក់សោផ្សេង"</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="5804023571114910034">"ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃសម្រាប់លំហឯកជន"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"ការដោះ​សោ​ដោយស្កេន​មុខសម្រាប់លំហឯកជន"</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="7306873010565337671">"ជ្រើសរើសការចាក់សោថ្មីសម្រាប់ Private Space ឬ?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"ចាក់សោដោយស្វ័យប្រវត្តិ"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"ចាក់សោលំហឯកជនដោយស្វ័យប្រវត្តិ"</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="972581369094289386">"លាក់ Private Space នៅពេលជាប់សោ"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ដើម្បីបញ្ឈប់អ្នកដទៃមិនឱ្យដឹងថា Private Space ស្ថិតនៅលើឧបករណ៍របស់អ្នក អ្នកអាចលាក់វាបានពីបញ្ជីកម្មវិធីរបស់អ្នក"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"ចូលប្រើ Private Space នៅពេលលាក់"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"ស្វែងរក \'Private Space\' នៅក្នុងរបារស្វែងរក"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"ចុចប្រអប់ Private Space"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"ដោះសោ Private Space របស់អ្នក"</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="3075645119800272800">"លុបបន្ទប់ឯកជន"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"បានលុបបន្ទប់ឯកជនដោយជោគជ័យ"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"មិនអាចលុបបន្ទប់ឯកជនបានទេ"</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="4377296080723608107">"ការជូនដំណឹងពីកម្មវិធីនៅក្នុងបន្ទប់ឯកជនត្រូវបានលាក់ នៅពេលបន្ទប់នេះត្រូវបានចាក់សោ"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"ដោះសោលំហឯកជន ដើម្បីចែករំលែករូបថត ឬឯកសារពីកម្មវិធីលំហឯកជន"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"កម្មវិធីមួយចំនួនត្រូវបានដំឡើងរួចហើយនៅក្នុងបន្ទប់ឯកជនរបស់អ្នក"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"មិនអាចរៀបចំបន្ទប់ឯកជនបានទេ"</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="4258842502257201013">"ដើម្បីចូលប្រើប្រាស់បន្ទប់ឯកជនរបស់អ្នក សូមចូលទៅកាន់បញ្ជីកម្មវិធីរបស់អ្នក រួចរំកិលចុះ"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"រួចរាល់"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"រំកិលចុះ ដើម្បីរកបន្ទប់ឯកជន"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"ដើម្បីបង្ហាញ Private Space (មិនមែនជា UX ចុងក្រោយទេ)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"បើកកម្មវិធីការកំណត់"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"ចុចលើសុវត្ថិភាព និងឯកជនភាព &gt; Private Space &gt; លាក់ Private Space នៅពេលជាប់សោ"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"បិទ \"លាក់ Private Space\" នៅពេលប៊ូតុងបិទ/បើកជាប់សោ"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"កំណត់ចំណាំចំពោះបុគ្គលិក Google៖ ការអភិវឌ្ឍមុខងារនេះកំពុងដំណើរការ​នៅឡើយ"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"អ្នក​ក៏​អាច​ត្រូវ​បញ្ចូល​លេខ​កូដ​នេះ​លើ​ឧបករណ៍​ផ្សេង។"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"បញ្ជាក់ ដើម្បីផ្គូផ្គងជាមួយសំណុំដែលបានសម្របសម្រួល"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"កម្រិត​ថ្ម"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"ទូទៅ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"ការកំណត់ទូទៅ"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"រក្សាទុក"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"បោះបង់"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"កែលម្អការបើកដំណើរការសំឡេង"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"ឧបករណ៍នេះប្រើប្រាស់បញ្ញាឯកជន ដើម្បីកែលម្អគំរូបើកដំណើរការសំឡេង។ កម្មវិធីអាចទទួលព័ត៌មានថ្មីៗដោយសង្ខេបដែលប្រមូលផ្ដុំពីអ្នកប្រើប្រាស់ជាច្រើន ដើម្បីរក្សាឯកជនភាព ខណៈពេលកែលម្អគំរូសម្រាប់អ្នកគ្រប់គ្នា។\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"ក្រុមហ៊ុនផ្ដល់សេវាបន្ថែម"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"ពាក្យ​សម្ងាត់ កូដសម្ងាត់ និងសេវាកម្មទិន្នន័យ"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-kn/arrays.xml b/res/values-kn/arrays.xml
index 11e4cea..a79ba9b 100644
--- a/res/values-kn/arrays.xml
+++ b/res/values-kn/arrays.xml
@@ -479,4 +479,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..57a0a89 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>
@@ -113,23 +116,34 @@
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"ಬ್ಲೂಟೂತ್ LE ಆಡಿಯೋವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"ಸಾಧನವು LE ಆಡಿಯೋ ಹಾರ್ಡ್‌ವೇರ್ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಬೆಂಬಲಿಸಿದರೆ ಬ್ಲೂಟೂತ್ 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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"ಖಾಸಗಿ ಸ್ಪೇಸ್"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ಖಾಸಗಿ ಆ್ಯಪ್‌ಗಳನ್ನು ಲಾಕ್ ಮಾಡಿ ಮತ್ತು ಮರೆಮಾಡಿ"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"ನೀವು ಮರೆಮಾಡಲು ಅಥವಾ ಲಾಕ್ ಮಾಡಬಹುದಾದ ಪ್ರತ್ಯೇಕ ಸ್ಪೇಸ್‌ನಲ್ಲಿ ಖಾಸಗಿ ಆ್ಯಪ್‌ಗಳನ್ನು ಇರಿಸಿ"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಲಾಕ್"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡುವ ರೀತಿಯಲ್ಲಿಯೇ ನೀವು ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಬಹುದು ಅಥವಾ ಬೇರೆ ಲಾಕ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು"</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="5804023571114910034">"ಪ್ರೈವೇಟ್ ಸ್ಪೇಸ್‌ನ ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"ಪ್ರೈವೇಟ್ ಸ್ಪೇಸ್‌ನ ಫೇಸ್ ಅನ್‌ಲಾಕ್"</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="7306873010565337671">"ಖಾಸಗಿ ಸ್ಪೇಸ್‌ಗೆ ಹೊಸ ಲಾಕ್ ಆರಿಸಬೇಕೇ?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲಾಕ್ ಮಾಡಿ"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲಾಕ್ ಮಾಡಿ"</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="972581369094289386">"ಲಾಕ್ ಆಗಿರುವಾಗ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಮರೆಮಾಡಿ"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ಸಾಧನದಲ್ಲಿ ಖಾಸಗಿ ಸ್ಪೇಸ್‌ ಬಗ್ಗೆ ಇತರರಿಗೆ ತಿಳಿಯದಂತೆ ಮಾಡಲು, ಆ್ಯಪ್ ಪಟ್ಟಿಯಿಂದ ಅದನ್ನು ಮರೆಮಾಡಬಹುದು"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"ಮರೆಮಾಡಿರುವಾಗ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಿ"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"ಹುಡುಕಾಟ ಪಟ್ಟಿಯಲ್ಲಿ \'ಖಾಸಗಿ ಸ್ಪೇಸ್‌\' ಗಾಗಿ ಹುಡುಕಿ"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಟೈಲ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"ನಿಮ್ಮ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಿ"</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="3075645119800272800">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಅಳಿಸಿ"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಅಳಿಸಲಾಗಿದೆ"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</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="4377296080723608107">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಲಾಕ್ ಆಗಿರುವಾಗ ಅದರಲ್ಲಿರುವ ಆ್ಯಪ್‌ಗಳಿಂದ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಮರೆಮಾಡಲಾಗುತ್ತದೆ"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"ಪ್ರೈವೇಟ್ ಸ್ಪೇಸ್ ಆ್ಯಪ್‌ಗಳಿಂದ ಫೋಟೋಗಳು ಅಥವಾ ಫೈಲ್‌ಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಪ್ರೈವೇಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಿ"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"ಕೆಲವು ಆ್ಯಪ್‌ಗಳನ್ನು ಈಗಾಗಲೇ ನಿಮ್ಮ ಖಾಸಗಿ ಸ್ಪೇಸ್‌ನಲ್ಲಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾಗಿದೆ"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</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="4258842502257201013">"ನಿಮ್ಮ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು, ನಿಮ್ಮ ಆ್ಯಪ್‌ಗಳ ಪಟ್ಟಿಗೆ ಹೋಗಿ, ನಂತರ ಕೆಳಕ್ಕೆ ಸ್ಕ್ರಾಲ್ ಮಾಡಿ"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"ಮುಗಿದಿದೆ"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಹುಡುಕಲು ಕೆಳಕ್ಕೆ ಸ್ಕ್ರಾಲ್ ಮಾಡಿ"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ತೋರಿಸಲು (ಅಂತಿಮ UX ಅಲ್ಲ)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಆ್ಯಪ್ ಅನ್ನು ತೆರೆಯಿರಿ"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"ಲಾಕ್ ಆಗಿರುವಾಗ, ಭದ್ರತೆ &amp; ಗೌಪ್ಯತೆ &gt; ಖಾಸಗಿ ಸ್ಪೇಸ್ &gt; Hide ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಮರೆಮಾಡಿ ಎಂಬುದರ ಮೇಲೆ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"ಟಾಗಲ್ ಲಾಕ್ ಮಾಡಿದ ನಂತರ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಮರೆಮಾಡಿ ಅನ್ನು ಆಫ್ ಮಾಡಿ"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"ಗೂಗ್ಲರ್‌ಗಳಿಗೆ ಸೂಚನೆ: ಈ ಫೀಚರ್‌ನ ಅಭಿವೃದ್ಧಿ ಕಾರ್ಯ ಇನ್ನೂ ಪ್ರಗತಿಯಲ್ಲಿದೆ"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ನಿಮಗೆ ಇತರ ಸಾಧನದಲ್ಲಿ ಈ ಪಾಸ್‌ಕೀಯನ್ನು ಟೈಪ್‌ ಮಾಡುವ ಅಗತ್ಯವಿದೆ."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"ಸಂಯೋಜಿತ ಪ್ಯಾಕೇಜ್‌ನಲ್ಲಿರುವ ಎಲ್ಲಾ ಸಾಧನಗಳಿಗೆ ಜೋಡಿಸುವುದನ್ನು ಮರೆಯದಿರಿ"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ಬ್ಯಾಟರಿ ಮಟ್ಟ"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"ಸಮುದಾಯ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"ಸಮುದಾಯದ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"ಸೇವ್ ಮಾಡಿ"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ರದ್ದುಮಾಡಿ"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"ಧ್ವನಿ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆಯನ್ನು ಸುಧಾರಿಸಿ"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"ಧ್ವನಿ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ ಮಾದರಿಯನ್ನು ಸುಧಾರಿಸಲು ಈ ಸಾಧನವು ಖಾಸಗಿ ಬುದ್ಧಿವಂತಿಕೆಯನ್ನು ಬಳಸುತ್ತದೆ. ಪ್ರತಿಯೊಬ್ಬರಿಗೂ ಮಾದರಿಯನ್ನು ಸುಧಾರಿಸುವಾಗ ಗೌಪ್ಯತೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳಲು ಅನೇಕ ಬಳಕೆದಾರರಲ್ಲಿ ಅಗ್ರಿಗೇಟ್ ಮಾಡಲಾದ ಸಂಕ್ಷಿಪ್ತ ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ಆ್ಯಪ್‌ಗಳು ಪಡೆಯಬಹುದು.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"ಹೆಚ್ಚುವರಿ ಪೂರೈಕೆದಾರರು"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾಸ್‌ಕೀಗಳು ಮತ್ತು ಡೇಟಾ ಸೇವೆಗಳು"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
index e8bd555..50b65b0 100644
--- a/res/values-ko/arrays.xml
+++ b/res/values-ko/arrays.xml
@@ -479,4 +479,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 e7607f6..46a12ed 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>
@@ -113,23 +116,34 @@
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"블루투스 LE 오디오 사용 중지"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"기기가 LE 오디오 하드웨어 기능을 지원하는 경우 블루투스 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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"비공개 스페이스"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"비공개 앱을 잠그고 숨겨진 상태로 유지"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"비공개 앱을 숨기거나 잠글 수 있는 별도의 스페이스에 보관하세요."</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"비공개 스페이스 잠금"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"기기를 잠금 해제하는 방식과 동일하게 비공개 스페이스를 잠금 해제하거나 다른 잠금 방식을 선택할 수 있습니다."</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="5804023571114910034">"비공개 스페이스용 지문 잠금 해제"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"비공개 스페이스용 얼굴 인식 잠금 해제"</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="7306873010565337671">"새로운 비공개 스페이스용 잠금을 선택하시겠습니까?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"자동 잠금"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"비공개 스페이스 자동 잠금"</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="972581369094289386">"잠겨 있을 때 비공개 스페이스 숨기기"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"기기에 비공개 스페이스가 있다는 사실을 다른 사람이 알지 못하도록 앱 목록에서 숨길 수 있습니다."</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"숨겨져 있을 때 비공개 스페이스에 액세스"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"검색창에서 \'비공개 스페이스\'를 검색합니다."</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"비공개 스페이스 타일 탭"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"비공개 스페이스 잠금 해제"</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="3075645119800272800">"비공개 스페이스 삭제"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"비공개 스페이스가 삭제됨"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"비공개 스페이스를 삭제할 수 없음"</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="4377296080723608107">"비공개 스페이스가 잠겨 있으면 비공개 스페이스의 앱에서 보내는 알림이 표시되지 않습니다"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"비공개 스페이스를 잠금 해제하여 비공개 스페이스 앱의 사진이나 파일 공유"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"일부 앱이 이미 비공개 스페이스에 설치되어 있습니다"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"비공개 스페이스를 설정할 수 없습니다"</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="4258842502257201013">"비공개 스페이스에 액세스하려면 앱 목록으로 이동한 후 아래로 스크롤하세요."</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"완료"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"비공개 스페이스를 찾으려면 아래로 스크롤하세요."</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"비공개 스페이스 표시(최종 UX 아님)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"설정 앱을 엽니다."</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"보안 및 개인 정보 보호 &gt; 비공개 스페이스 &gt; 잠겨 있을 때 비공개 스페이스 숨기기를 탭합니다."</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"잠겨 있을 때 비공개 스페이스 숨기기를 사용 중지합니다."</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Google 직원 참고사항: 이 기능은 아직 개발 중입니다."</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"또한 경우에 따라 다른 기기에 이 패스키를 입력해야 합니다."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"통합 세트와의 페어링 확인"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"배터리 수준"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"커뮤니티"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"커뮤니티 설정"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"저장"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"취소"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"음성 활성화 개선"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"이 기기에서 개인 정보를 사용하여 음성 활성화 모델을 개선합니다. 앱에서 여러 사용자로부터 집계한 요약된 업데이트를 수신하여 개인 정보를 보호하는 동시에 모든 사용자를 위한 모델을 개선할 수 있습니다.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"추가 제공업체"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"비밀번호, 패스키, 데이터 서비스"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-ky/arrays.xml b/res/values-ky/arrays.xml
index 4b19f1d..e20cb78 100644
--- a/res/values-ky/arrays.xml
+++ b/res/values-ky/arrays.xml
@@ -479,4 +479,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 2fe2e39..cb65080 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Жеке чөйрө"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Жеке колдонмолорду кулпулап жана жашырып коюңуз"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Жеке колдонмолорду жашырып же кулпулай ала турган өзүнчө чөйрөдө сактаңыз"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"Жеке чөйрөнү кулпулоо"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Жеке чөйрө үчүн түзмөгүңүздүн кулпусун ачуу ыкмасын колдонуп же башка кулпуну тандай аласыз"</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="5804023571114910034">"Жеке мейкиндик үчүн \"Манжа изи менен ачуу\" функциясы"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Жеке мейкиндик үчүн \"Жүзүнөн таанып ачуу\" функциясы"</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="7306873010565337671">"Жеке чөйрө үчүн жаңы кулпуну тандайсызбы?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Автоматтык түрдө кулпулоо"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Жеке мейкиндикти автоматтык түрдө кулпулоо"</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="972581369094289386">"Жеке чөйрө кулпуланган учурда аны жашыруу"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Башкалар түзмөгүңүздө Жеке чөйрө орнотулганын билбеши үчүн, аны колдонмолордун тизмесинен жашырыңыз"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Жеке чөйрө жашырылганда аны көрүү"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Издөө тилкесинде \"Жеке чөйрө\" боюнча издей аласыз"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Жеке чөйрөнүн картасын басыңыз"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Жеке чөйрөнүн кулпусун ачыңыз"</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="3075645119800272800">"Жеке чөйрөнү өчүрүү"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Жеке чөйрө өчүрүлдү"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Жеке чөйрө өчкөн жок"</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="4377296080723608107">"Жеке чөйрөдөгү колдонмолордун билдирмелери ал кулпуланганда жашырылат"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Жеке мейкиндик колдонмолорунан сүрөттөрдү же файлдарды бөлүшүү үчүн мейкиндигиңиздин кулпусун ачыңыз"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Айрым колдонмолор жеке чөйрөңүзгө мурунтан эле орнотулган"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"Жеке чөйрө туураланган жок"</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="4258842502257201013">"Жеке чөйрөңүзгө кирүү үчүн колдонмолоруңуздун тизмесине өтүп, ылдый сыдырыңыз"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Бүттү"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Жеке чөйрөнү табуу үчүн ылдый сыдырыңыз"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Жеке чөйрөнү көрсөтүү үчүн (КТ өзгөрүшү мүмкүн)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Параметрлер колдонмосун ачыңыз"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Кулпуланып турганда Коопсуздук жана купуялык &gt; Жеке чөйрө &gt; Жеке чөйрөнү жашыруу дегенди таптаңыз"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Кулпуланган болсо, Жеке чөйрөнү жашыруу которгучун өчүрүңүз"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Google\'чулар үчүн эскертме: Бул функцияны иштеп чыгуу процесси аяктай элек"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Сиз бул сырсөздү башка түзмөккө дагы киргизишиңиз керек болушу мүмкүн."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Координацияланган топтомго туташуу үчүн ырастаңыз"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Батарея деңгээли"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Жалпы"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Жалпы параметрлер"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Сактоо"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Жок"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Үн менен иштетүүнү жакшыртуу"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Бул түзмөк үн менен иштетүү үлгүсүн жакшыртуу үчүн жеке интеллектти колдонот. Колдонмолор купуялуулукту сактап, ошол эле учурда үлгүнү жакшыруу максатында көптөгөн колдонуучулар үчүн бириктирилген жаңыртуулардын корутундусун ала алышат.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Кошумча провайдерлер"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Сырсөздөр, киргизүүчү ачкычтар жана маалымат кызматтары"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </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..e0a9547 100644
--- a/res/values-lo/arrays.xml
+++ b/res/values-lo/arrays.xml
@@ -479,4 +479,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..2fe5996 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"ພື້ນທີ່ສ່ວນຕົວ"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ລັອກ ແລະ ເຊື່ອງແອັບສ່ວນຕົວໄວ້"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"ຮັກສາແອັບສ່ວນຕົວໄວ້ໃນພື້ນທີ່ແຍກຕ່າງຫາກເຊິ່ງທ່ານສາມາດເຊື່ອງ ຫຼື ລັອກໄດ້"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"ການລັອກພື້ນທີ່ສ່ວນຕົວ"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"ທ່ານສາມາດປົດລັອກພື້ນທີ່ສ່ວນຕົວໄດ້ໂດຍໃຊ້ວິທີດຽວກັນກັບທີ່ທ່ານປົດລັອກອຸປະກອນຂອງທ່ານ ຫຼື ເລືອກການລັອກອື່ນ"</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="5804023571114910034">"ການປົດລັອກດ້ວຍລາຍນິ້ວມືສຳລັບພື້ນທີ່ສ່ວນຕົວ"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"ການປົດລັອກດ້ວຍໜ້າສຳລັບພື້ນທີ່ສ່ວນຕົວ"</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="7306873010565337671">"ເລືອກການລັອກໃໝ່ສຳລັບພື້ນທີ່ສ່ວນຕົວບໍ?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"ລັອກໂດຍອັດຕະໂນມັດ"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"ລັອກພື້ນທີ່ສ່ວນບຸກຄົນໂດຍອັດຕະໂນມັດ"</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="972581369094289386">"ເຊື່ອງພື້ນທີ່ສ່ວນຕົວເມື່ອລັອກໄວ້"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ເພື່ອບໍ່ໃຫ້ຄົນອື່ນຮູ້ວ່າພື້ນທີ່ສ່ວນຕົວຢູ່ໃນອຸປະກອນຂອງທ່ານ, ທ່ານສາມາດເຊື່ອງມັນຈາກລາຍຊື່ແອັບຂອງທ່ານໄດ້"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"ເຂົ້າເຖິງພື້ນທີ່ສ່ວນຕົວເມື່ອເຊື່ອງໄວ້"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"ຊອກຫາ \'ພື້ນທີ່ສ່ວນຕົວ\' ໃນແຖບຊອກຫາ"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"ແຕະແຜ່ນພື້ນທີ່ສ່ວນຕົວ"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"ປົດລັອກພື້ນທີ່ສ່ວນຕົວຂອງທ່ານ"</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="3075645119800272800">"ລຶບພື້ນທີ່ສ່ວນຕົວອອກ"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"ລຶບພື້ນທີ່ສ່ວນຕົວອອກສຳເລັດແລ້ວ"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"ບໍ່ສາມາດລຶບພື້ນທີ່ສ່ວນຕົວອອກໄດ້"</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="4377296080723608107">"ການແຈ້ງເຕືອນຈາກແອັບໃນພື້ນທີ່ສ່ວນຕົວຈະຖືກເຊື່ອງເມື່ອລັອກໄວ້"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"ປົດລັອກພື້ນທີ່ສ່ວນຕົວເພື່ອແບ່ງປັນຮູບພາບ ຫຼື ໄຟລ໌ຈາກແອັບພື້ນທີ່ສ່ວນຕົວ"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"ບາງແອັບໄດ້ຖືກຕິດຕັ້ງໃນພື້ນທີ່ສ່ວນຕົວຂອງທ່ານແລ້ວ"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"ບໍ່ສາມາດຕັ້ງຄ່າພື້ນທີ່ສ່ວນຕົວໄດ້"</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="4258842502257201013">"ເພື່ອເຂົ້າເຖິງພື້ນທີ່ສ່ວນຕົວຂອງທ່ານ, ໃຫ້ເຂົ້າໄປລາຍຊື່ແອັບຂອງທ່ານ ແລ້ວເລື່ອນລົງລຸ່ມ"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"ແລ້ວໆ"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"ເລື່ອນລົງເພື່ອຊອກຫາພື້ນທີ່ສ່ວນຕົວ"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"ເພື່ອສະແດງພື້ນທີ່ສ່ວນຕົວ (ບໍ່ແມ່ນ UX ສຸດທ້າຍ)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"ເປີດແອັບການຕັ້ງຄ່າ"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"ແຕະໃສ່ຄວາມປອດໄພ ແລະ ຄວາມເປັນສ່ວນຕົວ &gt; ພື້ນທີ່ສ່ວນຕົວ &gt; ເຊື່ອງພື້ນທີ່ສ່ວນຕົວເມື່ອລັອກໄວ້"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"ປິດປຸ່ມສະຫຼັບການເຊື່ອງພື້ນທີ່ສ່ວນຕົວເມື່ອລັອກໄວ້"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"ໝາຍເຫດເຖິງ Googlers: ຄຸນສົມບັດນີ້ຍັງຢູ່ລະຫວ່າງການພັດທະນາ"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ທ່ານອາດຕ້ອງພິມ passkey ນີ້ໃນອຸປະກອນອື່ນນຳ"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"ຢືນຢັນເພື່ອຈັບຄູ່ກັບຊຸດທີ່ປະສານກັນ"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ລະດັບແບັດເຕີຣີ"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"ສ່ວນກາງ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"ການຕັ້ງຄ່າສ່ວນກາງ"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"ບັນທຶກ"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ຍົກເລີກ"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"ປັບປຸງການເປີດນຳໃຊ້ດ້ວຍສຽງ"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"ອຸປະກອນນີ້ໃຊ້ຂໍ້ມູນດ້ານການວິເຄາະສ່ວນຕົວເພື່ອປັບປຸງໂມເດວການເປີດນຳໃຊ້ດ້ວຍສຽງ. ແອັບສາມາດຮັບຂໍ້ມູນອັບເດດແບບສະຫຼຸບທີ່ຮວບຮວມມາຈາກຜູ້ໃຊ້ຈຳນວນຫຼາຍເພື່ອຮັກສາຄວາມເປັນສ່ວນຕົວໃນຂະນະທີ່ປັບປຸງໂມເດວສຳລັບທຸກຄົນ.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"ຜູ້ໃຫ້ບໍລິການເພີ່ມເຕີມ"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"ລະຫັດຜ່ານ, ກະແຈຜ່ານ ແລະ ບໍລິການຂໍ້ມູນ"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-lt/arrays.xml b/res/values-lt/arrays.xml
index 9c66346..d6cbf04 100644
--- a/res/values-lt/arrays.xml
+++ b/res/values-lt/arrays.xml
@@ -479,4 +479,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..02357fc 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Privačios erdvės užraktas"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"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="5804023571114910034">"Privačios erdvės atrakinimas piršto atspaudu"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Pasirinkti naują privačios erdvės užraktą?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Užrakinti automatiškai"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Užrakintos privačios erdvės slėpimas"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Jei nenorite, kad kiti žmonės žinotų, jog privati erdvė yra jūsų įrenginyje, galite slėpti ją programų sąraše"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Prieiga prie paslėptos privačios erdvės"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Ieškokite pagal užklausą „Privati erdvė“ paieškos juostoje"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Palieskite privačios erdvės pavadinimą"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Privačios erdvės ištrynimas"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Privati erdvė sėkmingai ištrinta"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Pranešimai iš programų privačioje erdvėje slepiami, kai ji užrakinta"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Nuotraukų arba failų iš privačios erdvės programų 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="1210906480024148398">"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="4258842502257201013">"Jei norite pasiekti 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Norint rodyti privačią erdvę (ne galutinė NP)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Atidarykite Nustatymų programą"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Palieskite „Sauga ir privatumas“ &gt; „Privati erdvė“ &gt; „Užrakintos privačios erdvės slėpimas“"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Išjunkite jungiklį „Užrakintos privačios erdvės slėpimas“"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Pastaba „Google“ darbuotojams: ši funkcija vis dar kuriama"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <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>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Suaktyvinimo balsu tobulinimas"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Šiame įrenginyje naudojama privati informacija, siekiant tobulinti suaktyvinimo balsu modelį. Programos gali gauti apibendrintus atnaujinimus, sukauptus iš daugelio naudotojų, siekiant išsaugoti privatumą ir kartu tobulinti šį modelį visiems.\n\n"<a href="">"Daugiau apie privačią informaciją"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Papildomi teikėjai"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Slaptažodžiai, prieigos raktai ir duomenų paslaugos"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4513,7 +4776,7 @@
     <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>
@@ -4545,8 +4808,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4967,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 +5064,29 @@
     <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>
 </resources>
diff --git a/res/values-lv/arrays.xml b/res/values-lv/arrays.xml
index fdd5bf8..05c0cfe 100644
--- a/res/values-lv/arrays.xml
+++ b/res/values-lv/arrays.xml
@@ -479,4 +479,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..e1ae1e1 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Privātā mape"</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="3006539720164938296">"Privātās mapes bloķēšana"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Varat atbloķēt privāto mapi 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="5804023571114910034">"Autorizācija ar pirksta nospiedumu privātajai telpai"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Vai šai mapei izvēlēties jaunu bloķēšanas metodi?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Automātiski bloķēt"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Privātās mapes paslēpšana, kamēr tā ir bloķēta"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Lai citi nezinātu, ka ierīcē ir privātā mape, varat paslēpt to no lietotņu saraksta."</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Piekļūstiet privātajai mapei, kamēr tā ir paslēpta"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Meklēšanas joslā meklējiet “privātā mape”."</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Pieskarieties elementam “Privātā mape”."</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Atbloķējiet privāto mapi."</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="3075645119800272800">"Dzēst privāto mapi"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Privātā mape ir sekmīgi izdzēsta."</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Privāto mapi 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="4377296080723608107">"Kamēr privātā telpa ir bloķēta, paziņojumi no tajā ievietotajām lietotnēm tiek slēpti."</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Atbloķējiet privāto telpu, lai kopīgotu fotoattēlus vai failus no privātās telpas lietotnēm"</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="1210906480024148398">"Nevarēja iestatīt 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="4258842502257201013">"Lai piekļūtu privātajai telpai, 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Privātās mapes rādīšanai (nav galīgā lietotāja pieredze)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Atveriet lietotni Iestatījumi."</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Pieskarieties vienumam Drošība un konfidencialitāte &gt; Privātā mape &gt; Paslēpt privāto mapi, kad tā ir bloķēta."</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Izslēdziet slēdzi “Paslēpt privāto mapi, kad tā ir bloķēta”."</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Piezīme Google darbiniekiem: šī funkcija joprojām tiek izstrādāta."</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Saglabāt"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Atcelt"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Uzlabot aktivizāciju ar balsi"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Lai uzlabotu modeli aktivizēšanai ar balsi, šī ierīce izmanto privātu informāciju. Lietotnes var saņemt vispārinātus atjauninājumus, kas ietver no daudziem lietotājiem apkopotus datus, vienlaikus nodrošinot konfidencialitāti un uzlabojot modeli visiem lietotājiem.\n\n"<a href="">"Plašāka informācija par privāto informāciju"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Papildu pakalpojumu sniedzēji"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Paroles, piekļuves atslēgas un datu pakalpojumi"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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>
@@ -4445,9 +4703,6 @@
     <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 +4713,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>
@@ -4512,7 +4775,7 @@
     <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>
@@ -4544,8 +4807,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4966,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 +5063,29 @@
     <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>
 </resources>
diff --git a/res/values-mk/arrays.xml b/res/values-mk/arrays.xml
index 25a86b2..5db8d03 100644
--- a/res/values-mk/arrays.xml
+++ b/res/values-mk/arrays.xml
@@ -479,4 +479,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..fb5e54c 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Приватен простор"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Чувајте ги приватните апликации заклучени и скриени"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Чувајте ги приватните апликации во засебен простор што може да го скриете или заклучите"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"Заклучување за „Приватен простор“"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Може да го отклучите „Приватен простор“ исто како што го отклучувате уредот или да изберете друг начин на заклучување"</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="5804023571114910034">"„Отклучување со отпечаток“ за „Приватен простор“"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"„Отклучување со лик“ за „Приватен простор“"</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="7306873010565337671">"Да се избере ново заклучув. за „Приватен простор“?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Заклучување автоматски"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Заклучување на „Приватен простор“ автоматски"</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="972581369094289386">"Скриј го „Приватниот простор“ кога е заклучен"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"За да спречите други луѓе да знаат дека „Приватниот простор“ е на вашиот уред, може да го скриете од списокот со апликации"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Пристапете до „Приватен простор“ кога е скриен"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Пребарајте „Приватен простор“ во полето за пребарување"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Допрете ја плочката „Приватен простор“"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Отклучете го вашиот „Приватен простор“"</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="3075645119800272800">"Избришете го „Приватниот простор“"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"„Приватниот простор“ е успешно избришан"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"„Приватниот простор“ не можеше да се избрише"</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="4377296080723608107">"Известувањата од апликациите во „Приватниот простор“ се скриени кога е заклучен"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Отклучете го „Приватниот простор“ за да споделувате фотографии или датотеки од апликациите во „Приватниот простор“"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Некои апликации се веќе инсталирани во вашиот „Приватен простор“"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"Не можеше да се постави „Приватен простор“"</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="4258842502257201013">"За да пристапите до „Приватен простор“, одете во списокот со апликации и лизгајте надолу"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Готово"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Лизгајте надолу за да најдете „Приватен простор“"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"За да се прикаже „Приватен простор“ (не e конечен КИ)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Отворете ја апликацијата „Поставки“"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Допрете „Безбедност и приватност &gt; Приватен простор &gt; Скриј „Приватен простор“ кога уредот е заклучен“"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Исклучете „Скриј „Приватен простор“ кога уредот е заклучен“"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Забелешка за вработените во Google: функцијава сè уште се развива"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Може ќе треба да ја внесете лозинката и на другиот уред."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Потврдете за спарување со координираниот комплет"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Ниво на батерија"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Заедница"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Заеднички поставки"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Зачувај"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Откажи"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Подобрување на активирање со глас"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Уредов користи приватна интелигенција за подобрување на моделот на активирање со глас. Апликациите може да добиваат резимирани ажурирања што се собираат кај многу корисници за да се одржува приватноста и истовремено да се подобрува моделот за сите.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Дополнителни даватели"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Услуги за лозинки, криптографски клучеви и податоци"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-ml/arrays.xml b/res/values-ml/arrays.xml
index b233808..26df0b6 100644
--- a/res/values-ml/arrays.xml
+++ b/res/values-ml/arrays.xml
@@ -479,4 +479,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..881b5a2 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"സ്വകാര്യ Space"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"സ്വകാര്യ ആപ്പുകൾ ലോക്ക് ചെയ്ത് മറയ്‌ക്കുക"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"നിങ്ങൾക്ക് മറയ്ക്കാനോ ലോക്ക് ചെയ്യാനോ കഴിയുന്ന പ്രത്യേക സ്പേസിൽ സ്വകാര്യ ആപ്പുകൾ സൂക്ഷിക്കുക"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"സ്വകാര്യ സ്‌പേസ് ലോക്ക്"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"ഉപകരണം അൺലോക്ക് ചെയ്യുന്ന അതേ രീതിയിൽ നിങ്ങൾക്ക് സ്വകാര്യ സ്‌പേസ് അൺലോക്ക് ചെയ്യാം അല്ലെങ്കിൽ മറ്റൊരു ലോക്ക് തിരഞ്ഞെടുക്കാം"</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="5804023571114910034">"സ്വകാര്യ സ്പേസിനായുള്ള ഫിംഗർപ്രിന്റ് അൺലോക്ക്"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"സ്വകാര്യ സ്പേസിനായുള്ള ഫെയ്‌സ് അൺലോക്ക്"</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="7306873010565337671">"സ്വകാര്യ സ്‌പേസിന് പുതിയ ലോക്ക് തിരഞ്ഞെടുക്കണോ?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"സ്വയമേവ ലോക്ക് ചെയ്യുക"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"സ്വകാര്യ സ്പേസ് സ്വയമേവ ലോക്ക് ചെയ്യുക"</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="972581369094289386">"ലോക്ക് ചെയ്തിരിക്കുമ്പോൾ സ്വകാര്യ സ്പേസ് മറയ്ക്കുക"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ഉപകരണത്തിലെ സ്വകാര്യ സ്പേസ് ആരും അറിയാതിരിക്കാൻ ആപ്പ് ലിസ്റ്റിൽ നിന്ന് അത് മറയ്ക്കാം"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"മറച്ചിരിക്കുമ്പോൾ സ്വകാര്യ സ്പേസ് ആക്സസ് ചെയ്യൂ"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"തിരയൽ ബാറിൽ \'സ്വകാര്യ സ്പേസ്\' എന്ന് തിരയുക"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"സ്വകാര്യ സ്പേസ് ടൈൽ ടാപ്പ് ചെയ്യുക"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"നിങ്ങളുടെ സ്വകാര്യ സ്പേസ് അൺലോക്ക് ചെയ്യുക"</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="3075645119800272800">"സ്വകാര്യ Space ഇല്ലാതാക്കുക"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"സ്വകാര്യ Space ഇല്ലാതാക്കി"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"സ്വകാര്യ Space ഇല്ലാതാക്കാനായില്ല"</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="4377296080723608107">"സ്വകാര്യ സ്പേസ് ലോക്ക് ചെയ്തിരിക്കുമ്പോൾ, അതിലെ ആപ്പുകളിൽ നിന്നുള്ള അറിയിപ്പുകൾ മറയ്ക്കും"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"സ്വകാര്യ സ്പേസ് ആപ്പുകളിൽ നിന്ന് ഫോട്ടോകളോ ഫയലുകളോ പങ്കിടാൻ സ്വകാര്യ സ്പേസ് അൺലോക്ക് ചെയ്യുക"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"ചില ആപ്പുകൾ ഇതിനകം തന്നെ നിങ്ങളുടെ സ്വകാര്യ സ്പേസിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ട്"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"സ്വകാര്യ സ്പേസ് സജ്ജീകരിക്കാനായില്ല"</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="4258842502257201013">"സ്വകാര്യ സ്പേസ് ആക്സസ് ചെയ്യാൻ, നിങ്ങളുടെ ആപ്പ് ലിസ്റ്റിലേക്ക് പോയി താഴേക്ക് സ്ക്രോൾ ചെയ്യുക"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"പൂർത്തിയായി"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"സ്വകാര്യ സ്പേസ് കണ്ടെത്താൻ താഴേക്ക് സ്ക്രോൾ ചെയ്യുക"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"സ്വകാര്യ സ്പേസ് കാണിക്കാൻ (അന്തിമ UX അല്ല)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"ക്രമീകരണ ആപ്പ് തുറക്കുക"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"സുരക്ഷയും സ്വകാര്യതയും &gt; സ്വകാര്യ സ്‌പേസ് &gt; ലോക്ക് ചെയ്തിരിക്കുമ്പോൾ സ്വകാര്യ സ്‌പേസ് മറയ്‌ക്കുക എന്നിങ്ങനെ ടാപ്പ് ചെയ്യുക"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"\'ലോക്ക് ആണെങ്കിൽ സ്വകാര്യ സ്‌പേസ് മറയ്ക്കുക\' ടോഗിൾ ഓഫാക്കുക"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Googlers-നുള്ള കുറിപ്പ്: ഈ ഫീച്ചർ ഇപ്പോഴും വികസനഘട്ടത്തിലാണ്"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"മറ്റൊരു ഉപകരണത്തിൽ നിങ്ങൾ ഈ പാസ്‌കീ നൽകേണ്ടതായും വരാം."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"കോർഡിനേറ്റഡ് സെറ്റുമായി ജോടിയാക്കാൻ സ്ഥിരീകരിക്കുക"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ബാറ്ററി നില"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"കമ്മ്യൂണൽ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"കമ്മ്യൂണൽ ക്രമീകരണങ്ങൾ"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"സംരക്ഷിക്കുക"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"റദ്ദാക്കുക"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"വോയ്‌സ് ആക്റ്റിവേഷൻ മെച്ചപ്പെടുത്തുക"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"വോയ്‌സ് ആക്‌റ്റിവേഷൻ മോഡൽ മെച്ചപ്പെടുത്താൻ ഈ ഉപകരണം സ്വകാര്യ ഇന്റലിജൻസ് ഉപയോഗിക്കുന്നു. എല്ലാവർക്കുമായി മോഡൽ മെച്ചപ്പെടുത്തുന്നതിനോടൊപ്പം സ്വകാര്യത നിലനിർത്തുന്നതിനായി നിരവധി ഉപയോക്താക്കളിൽ നിന്ന് സമാഹരിച്ച അപ്‌ഡേറ്റുകളുടെ സംഗ്രഹം ആപ്പുകൾക്ക് ലഭിക്കും.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"കൂടുതൽ ക്രെഡൻഷ്യൽ ദാതാക്കൾ"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"പാസ്‌വേഡുകൾ, പാസ്‌കീകൾ, ഡാറ്റാ സേവനങ്ങൾ എന്നിവ"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-mn/arrays.xml b/res/values-mn/arrays.xml
index 77912e9..34855bc 100644
--- a/res/values-mn/arrays.xml
+++ b/res/values-mn/arrays.xml
@@ -479,4 +479,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..09c986b 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Хувийн орон зай"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Хувийн аппуудыг түгжээтэй бөгөөд нуугдсан байлгана уу"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Хувийн аппуудыг та нуух эсвэл түгжих боломжтой тусдаа орон зайд байлгаарай"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"Private Space-н түгжээ"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Та Private Space-н түгжээг төхөөрөмжийнхөө түгжээг тайлдагтайгаа ижил аргаар тайлах эсвэл өөр түгжээ сонгох боломжтой"</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="5804023571114910034">"Хувийн орон зайн Хурууны хээгээр түгжээ тайлах"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Хувийн орон зайн Царайгаар түгжээ тайлах"</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="7306873010565337671">"Private Space-т шинэ түгжээ сонгох уу?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Автоматаар түгжих"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Хувийн орон зайг автоматаар түгжих"</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="972581369094289386">"Түгжээтэй үед Private Space-г нуух"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Таны төхөөрөмжид Private Space байгааг бусад хүнд мэдэгдэхгүй байхын тулд та үүнийг аппуудынхаа жагсаалтаас нууж болно"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Нуусан үед Private Space-т хандах"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Хайлтын талбарт \'Private Space\'-г хайна уу"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Private Space-н хавтанг товшино уу"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Өөрийн Private Space-н түгжээг тайлна уу"</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="3075645119800272800">"Хувийн орон зайг устгах"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Хувийн орон зайг амжилттай устгасан"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Хувийн орон зайг устгаж чадсангүй"</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="4377296080723608107">"Хувийн орон зайг түгжээтэй үед түүний аппуудын мэдэгдлийг нуудаг"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Хувийн орон зайн аппуудаас зураг эсвэл файлууд хуваалцахын тулд хувийн орон зайн түгжээг тайлна уу"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Зарим аппыг таны хувийн орон зайд аль хэдийн суулгасан"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"Хувийн орон зайг тохируулж чадсангүй"</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="4258842502257201013">"Хувийн орон зайдаа хандахын тулд аппуудынхаа жагсаалт руу очоод, дараа нь доош гүйлгэнэ үү"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Болсон"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Хувийн орон зайг олохын тулд доош гүйлгэнэ үү"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Хувийн орон зайг харуулахын тулд (Эцсийн UX биш)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Тохиргоо аппыг нээнэ үү"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Аюулгүй байдал, нууцлал &gt; Хувийн орон зай&gt; Түгжээтэй үед хувийн орон зайг нуухыг товшино уу"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Түгжээтэй үед хувийн орон зайг нуухыг унтраах сэлгүүр"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Google-н ажилчдын санамж: Энэ онцлогийн хөгжүүлэлт үргэлжилсээр байна"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Та мөн энэ түлхүүрийг нөгөө төхөөрөмж дээр оруулах хэрэгтэй болж магадгүй."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Зохицсон багцтай хослуулахыг баталгаажуулна уу"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Зайны түвшин"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Нийтийн"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Нийтийн тохиргоо"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Хадгалах"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Цуцлах"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Дуу хоолойн идэвхжүүлэлтийг сайжруулах"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Энэ төхөөрөмж дуу хоолойн идэвхжүүлэлтийн загварыг сайжруулахын тулд хувийн мэдээллийг ашигладаг. Аппууд нь загварыг хүн бүрд сайжруулахын зэрэгцээ нууцлалыг хадгалахын тулд олон хэрэглэгчээс хуримтлуулсан хураангуй шинэчлэлтүүдийг хүлээн авах боломжтой.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Нэмэлт үйлчилгээ үзүүлэгчид"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Нууц үг, нэвтрэх түлхүүр болон өгөгдлийн үйлчилгээнүүд"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-mr/arrays.xml b/res/values-mr/arrays.xml
index b83f493..4adab31 100644
--- a/res/values-mr/arrays.xml
+++ b/res/values-mr/arrays.xml
@@ -479,4 +479,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 4c18362..738b776 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>
@@ -113,23 +116,34 @@
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"ब्लूटूथ LE ऑडिओ बंद करा"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"डिव्हाइसला LE ऑडिओ हार्डवेअरसंबंधित क्षमतांचा सपोर्ट असल्यास, ब्लूटूथ 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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"खाजगी स्पेस"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"खाजगी अ‍ॅप्स लॉक करून आणि लपवून ठेवा"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"तुम्ही खाजगी अ‍ॅप्स लपवू किंवा लॉक करू शकता अशा वेगळ्या स्पेसमध्ये ठेवा"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"खाजगी स्पेस चे लॉक"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"तुम्ही तुमचे डिव्हाइस अनलॉक करता त्याच प्रकारे तुमची खाजगी स्पेस अनलॉक करू शकता किंवा वेगळे लॉक निवडू शकता"</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="5804023571114910034">"खाजगी स्पेससाठी फिंगरप्रिंट अनलॉक"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"खाजगी स्पेससाठी फेस अनलॉक"</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="7306873010565337671">"खाजगी स्पेस साठी नवीन लॉक निवडायचे आहे का?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"आपोआप लॉक करा"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"खाजगी स्पेस आपोआप लॉक करा"</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="972581369094289386">"खाजगी स्पेस लॉक केलेली असताना ती लपवा"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"डिव्‍हाइसवर खाजगी स्पेस आहे हे इतरांना कळू नये यासाठी ॲप्स सूचीतून ती लपवता येते"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"तुमची खाजगी स्पेस लपवलेली असताना अ‍ॅक्सेस करा"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"शोध बारमध्ये \'खाजगी स्पेस\' शोधा"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"खाजगी स्पेस च्या टाइलवर टॅप करा"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"तुमची खाजगी स्पेस अनलॉक करा"</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="3075645119800272800">"खाजगी स्पेस हटवा"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"खाजगी स्पेस यशस्वीरीत्या हटवली आहे"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"खाजगी स्पेस हटवली जाऊ शकत नाही"</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="4377296080723608107">"खाजगी स्पेस लॉक केलेली असताना त्यामधील ॲप्सच्या सूचना लपवल्या जातात"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"खाजगी स्पेस अ‍ॅप्समधून फोटो किंवा फाइल शेअर करण्यासाठी स्पेस अनलॉक करा"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"तुमच्या खाजगी स्पेसमध्ये काही अ‍ॅप्स आधीपासून इंस्टॉल केलेली आहेत"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"खाजगी स्पेस सेट करता आली नाही"</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="4258842502257201013">"तुमची खाजगी स्पेस अ‍ॅक्सेस करण्‍यासाठी, तुमच्‍या अ‍ॅप्स सूचीवर जा आणि नंतर खाली स्क्रोल करा"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"पूर्ण झाले"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"खाजगी स्पेस शोधण्यासाठी खाली स्क्रोल करा"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"खाजगी स्पेस दाखवण्यासाठी (अंतिम UX नाही)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Settings अ‍ॅप उघडा"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"सुरक्षा आणि गोपनीयता &gt; खाजगी स्पेस &gt; वर टॅप करा लॉक केलेले असताना खाजगी स्पेस लपवा"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"लॉक केलेले असताना खाजगी स्पेस लपवा टॉगल करा"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Googlers साठी टीप: या वैशिष्ट्याचा विकास अद्याप प्रगतीपथावर आहे"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"तुम्हाला इतर डिव्हाइसवर देखील ही पासकी टाईप करण्याची आवश्यकता असू शकते."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"समन्वित सेटशी पेअर करण्याचे कंफर्म करा"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"बॅटरी पातळी"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"सामुदायिक"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"सामुदायिक सेटिंग्ज"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"सेव्ह करा"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"रद्द करा"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"व्हॉइस अ‍ॅक्टिव्हेशनमध्ये सुधारणा करा"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"व्हॉइस ॲक्टिव्हेशन मॉडेलमध्ये सुधारणा करण्यासाठी हे डिव्हाइस खाजगी इंटेलिजन्स वापरते. सर्वांसाठी मॉडेलमध्ये सुधारणा करत असताना गोपनीयता कायम ठेवण्यासाठी ॲप्स ही बऱ्याच वापरकर्त्यांकरिता एकत्रित करून सारांश दिलेली अपडेट मिळवू शकतात.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"अतिरिक्त पुरवठादार"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"पासवर्ड, पासकी आणि डेटा सेवा"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-ms/arrays.xml b/res/values-ms/arrays.xml
index eff1ab3..962bb41 100644
--- a/res/values-ms/arrays.xml
+++ b/res/values-ms/arrays.xml
@@ -479,4 +479,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..0c32aae 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">"Lipatkan 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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,6 +410,33 @@
     <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_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>
@@ -493,6 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Kunci Ruang Peribadi"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Anda boleh membuka kunci Ruang Peribadi 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="5804023571114910034">"Buka Kunci Cap Jari untuk Ruang Peribadi"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Pilih kunci baharu untuk Ruang Peribadi?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Kunci secara automatik"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Sembunyikan Ruang Peribadi apabila dikunci"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Sembunyikan Ruang Peribadi daripada senarai apl anda supaya tidak diketahui pengguna lain"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Akses Ruang Peribadi apabila disembunyikan"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Cari \'Ruang Peribadi\' dalam bar carian"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Ketik jubin Ruang Peribadi"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Padamkan Ruang Peribadi"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Ruang Peribadi berjaya dipadamkan"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Pemberitahuan daripada apl dalam ruang peribadi disembunyikan apabila ruang peribadi dikunci"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Buka kunci ruang peribadi untuk berkongsi foto atau fail daripada apl ruang peribadi"</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="1210906480024148398">"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="4258842502257201013">"Untuk mengakses 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Untuk memaparkan Ruang Peribadi (Bukan UX akhir)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Buka Apl Tetapan"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Ketik Keselamatan &amp; privasi &gt; Ruang Peribadi &gt; Sembunyikan Ruang Peribadi apabila dikunci"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Togol Matikan Sembunyikan Ruang Peribadi apabila dikunci"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Nota kepada Googler: Pembangunan ciri ini belum selesai"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Simpan"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Batal"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Tingkatkan pengaktifan suara"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Peranti ini menggunakan kepintaran peribadi untuk meningkatkan model pengaktifan suara. Apl boleh menerima kemaskinian diringkaskan yang dikumpulkan daripada ramai pengguna untuk mengekalkan privasi sambil meningkatkan model tersebut untuk semua orang.\n\n"<a href="">"Maklumat lanjut tentang kepintaran peribadi"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Penyedia 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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Kata laluan, kunci laluan dan perkhidmatan data"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-my/arrays.xml b/res/values-my/arrays.xml
index f400fc3..aa98436 100644
--- a/res/values-my/arrays.xml
+++ b/res/values-my/arrays.xml
@@ -479,4 +479,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 c805006..50f2b45 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"သီးသန့်ချတ်ခန်း"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"သီးသန့်အက်ပ်များကို လော့ခ်ချပြီး ဖျောက်ထားပါ"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"ဖျောက်ထားနိုင် (သို့) လော့ခ်ချနိုင်သော သီးခြားနေရာတွင် သီးသန့်အက်ပ်များကို ထားပါ"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"သီးသန့်ချတ်ခန်းလော့ခ်"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"သင့်စက်ကို ဖွင့်သည့်နည်းတူ ‘သီးသန့်ချတ်ခန်း’ ကို ဖွင့်နိုင်သည် (သို့) အခြားလော့ခ်တစ်ခု ရွေးနိုင်သည်"</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="5804023571114910034">"သီးသန့်နေရာအတွက် လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"သီးသန့်နေရာအတွက် မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း"</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="7306873010565337671">"‘သီးသန့်ချတ်ခန်း’ အတွက် လော့ခ်အသစ် ရွေးမလား။"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"အလိုအလျောက် လော့ခ်ချရန်"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"သီးသန့်နေရာကို အလိုအလျောက် လော့ခ်ချခြင်း"</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="972581369094289386">"‘သီးသန့်ချတ်ခန်း’ လော့ခ်ချထားချိန်တွင် ဖျောက်ရန်"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"သင့်စက်၌ ‘သီးသန့်ချတ်ခန်း’ ရှိကြောင်း အခြားသူများ မသိတော့စေရန် ၎င်းကို သင့်အက်ပ်စာရင်းမှ ဖျောက်နိုင်သည်"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"‘သီးသန့်ချတ်ခန်း’ ကို ဖျောက်ထားချိန်တွင် သုံးခြင်း"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"ရှာဖွေမှုဘားတွင် ‘သီးသန့်ချတ်ခန်း’ ရှာရန်"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"‘သီးသန့်ချတ်ခန်း’ အကွက်ငယ်ကို တို့ရန်"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"‘သီးသန့်ချတ်ခန်း’ ကို ဖွင့်ရန်"</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="3075645119800272800">"‘သီးသန့်ချတ်ခန်း’ ဖျက်ရန်"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"‘သီးသန့်ချတ်ခန်း’ ကိုဖျက်ပြီးပါပြီ"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"‘သီးသန့်ချတ်ခန်း’ ကိုဖျက်၍မရပါ"</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="4377296080723608107">"သီးသန့်နေရာကို လော့ခ်ချထားချိန်တွင် ၎င်းထဲရှိ အက်ပ်များမှ အကြောင်းကြားချက်များကို ဖျောက်ထားသည်"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"သီးသန့်နေရာရှိ အက်ပ်များမှ ဓာတ်ပုံ (သို့) ဖိုင်များ မျှဝေရန် သီးသန့်နေရာကို လော့ခ်ဖွင့်ပါ"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"အက်ပ်အချို့ကို သင်၏သီးသန့်နေရာတွင် ထည့်သွင်းပြီးဖြစ်သည်"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"သီးသန့်နေရာကို စနစ်ထည့်သွင်း၍မရပါ"</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="4258842502257201013">"သင်၏သီးသန့်နေရာကို ဝင်ရန် အက်ပ်စာရင်းသို့ သွားပြီး အောက်သို့လှိမ့်ပါ"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"ပြီးပြီ"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"သီးသန့်နေရာရှာရန် အောက်သို့လှိမ့်ပါ"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"သီးသန့်ချတ်ခန်းပြရန် (အပြီးသတ် UX မဟုတ်ပါ)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"ဆက်တင်များအက်ပ်ကို ဖွင့်ပါ"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"လုံခြုံရေး၊ ကိုယ်ရေးအချက်အလက်လုံခြုံမှု &gt; သီးသန့်ချတ်ခန်း &gt; လော့ခ်ချထားသည့်အခါ သီးသန့်ချတ်ခန်းဖျောက်ရန် ကိုတို့ပါ"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"လော့ခ်ချထားသည့်အခါ သီးသန့်ချတ်ခန်းဖျောက်ရန်ခလုတ်ကို ပိတ်ပါ"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Google ဝန်ထမ်းများသို့ မှတ်ချက်- ဤအင်္ဂါရပ်ကို ရေးသားဆဲဖြစ်သည်"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ဤ ဖြတ်သန်းခွင့်ကုဒ်ကို အခြား စက်ပစ္စည်းတွင်လည်း ရိုက်ထည့်ရန် လိုအပ်နိုင်သည်။"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"ချိတ်ဆက်ထားသည့်အစီအစဉ်အတိုင်း တွဲချိတ်ရန်အတည်ပြုပါ"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ဘက်ထရီ အားအဆင့်"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"အများသုံး"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"အများသုံး ဆက်တင်များ"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"သိမ်းရန်"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"မလုပ်တော့"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"အသံဖြင့်ဖွင့်ခြင်းကို မွမ်းမံရန်"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"ဤစက်သည် အသံဖြင့်ဖွင့်ခြင်းပုံစံကို မွမ်းမံရန် သီးသန့်အသိဉာဏ် သုံးသည်။ ကိုယ်ရေးအချက်အလက်လုံခြုံမှုကို ထိန်းသိမ်းပြီး လူတိုင်းအတွက် ပုံစံကို မွမ်းမံရန် အသုံးပြုသူအများအပြားကြား ပေါင်းစည်းထားသည့် အနှစ်ချုပ်အပ်ဒိတ်များကို အက်ပ်များက လက်ခံရရှိနိုင်သည်။\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"စနစ် လမ်းညွှန်ခြင်း၊ ခလုတ် ၂ ခု ဖြင့် လမ်းညွှန်ခြင်း၊ ခလုတ် ၃ ခု ဖြင့် လမ်းညွှန်ခြင်း၊ လက်ဟန်ဖြင့် လမ်းညွှန်ခြင်း၊ ပွတ်ဆွဲခြင်း"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ဒစ်ဂျစ်တယ် Assistant"</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="low_label" msgid="6525629096999711220">"နိမ့်"</string>
@@ -4122,21 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"နောက်ထပ် ဝန်ဆောင်မှုပေးသူများ"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"စကားဝှက်၊ လျှို့ဝှက်ကီးနှင့် ဒေတာဝန်ဆောင်မှုများ"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-nb/arrays.xml b/res/values-nb/arrays.xml
index 8e35bb7..a034cce 100644
--- a/res/values-nb/arrays.xml
+++ b/res/values-nb/arrays.xml
@@ -479,4 +479,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 74c6483..7aaa808 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Private Space"</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="3006539720164938296">"Private Space-lås"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Du kan låse opp Private Space på samme måte som du låser opp 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="5804023571114910034">"Opplåsing med fingeravtrykk for det private området"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Vil du velge en ny lås for Private Space?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Lås automatisk"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Lås privat område 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="972581369094289386">"Skjul Private Space når låst"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"For å unngå at andre ser at du har Private Space på telefonen, kan du skjule den i applisten"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Gå til Private Space når den er skjult"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Søk etter «Private Space» i søkefeltet"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Trykk på Private Space-brikken"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Lås opp Private Space"</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="3075645119800272800">"Slett Private Space"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Private Space er slettet"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Kunne ikke slette Private Space"</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="4377296080723608107">"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="2102594859384040485">"Lås opp det private området for å dele bilder eller filer fra apper i det private området"</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="1210906480024148398">"Kunne ikke konfigurere det private området"</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="4258842502257201013">"For å åpne 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Slik viser du Private Space (ikke endelig brukeropplevelse)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Åpne Innstillinger-appen"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Trykk på Sikkerhet og personvern &gt; Private Space &gt; Skjul Private Space når låst"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Slå av bryteren for Skjul Private Space når låst"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Merknad til Googlere: Utviklingen av denne funksjonen pågår fortsatt"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Lagre"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Avbryt"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Forbedre stemmeaktiveringen"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Denne enheten bruker privat intelligens til å forbedre modellen for stemmeaktivering. Apper kan motta oppsummerte oppdateringer som er aggregert fra flere brukere. Dette gjøres for å forbedre modellen for alle samtidig som personvernet ivaretas.\n\n"<a href="">"Mer om privat intelligens"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Andre leverandører"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Passord, passnøkler og datatjenester"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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_timeout_dialog_message" msgid="598509083077743772">"Fant ingen enheter. Sørg for at enhetene er slått på og tilgjengelige for tilkobling."</string>
@@ -4445,9 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-ne/arrays.xml b/res/values-ne/arrays.xml
index c37cd09..9152bf5 100644
--- a/res/values-ne/arrays.xml
+++ b/res/values-ne/arrays.xml
@@ -479,4 +479,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 a460a56..1527125 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>
@@ -113,23 +116,34 @@
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"\"ब्लुटुथ लो इनर्जी अडियो\" अफ गरियोस्"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"डिभाइसमा LE अडियो हार्डवेयर चलाउन मिल्छ भने \"ब्लुटुथ लो इनर्जी अडियो\" सुविधा अफ हुन्छ।"</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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"निजी स्पेस"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"निजी एपहरू लक गरिराख्नुहोस् र लुकाइराख्नुहोस्"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"निजी एपहरू तपाईंले लुकाउन वा लक गर्न सक्ने खालको छुट्टै स्पेसमा राख्नुहोस्"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"निजी स्पेसको लक"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"तपाईं आफूले आफ्नो डिभाइस अनलक गरे जसरी नै निजी स्पेस अनलक गर्न वा अर्कै लक छनौट गर्न सक्नुहुन्छ"</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="5804023571114910034">"निजी स्पेसका लागि फिंगरप्रिन्ट अनलक सुविधा"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"निजी स्पेसका लागि फेस अनलक सुविधा"</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="7306873010565337671">"निजी स्पेसमा नयाँ लक प्रयोग गर्ने हो?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"स्वतः लक गरियोस्"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"निजी स्पेस स्वतः लक गरियोस्"</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="972581369094289386">"निजी स्पेस लक गरिएको बेलामा उक्त स्पेस लुकाउनुहोस्"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"अन्य मानिसहरूलाई तपाईंको डिभाइसमा निजी स्पेस छ भन्ने कुरा थाहा नदिन तपाईं आफ्नो एपको सूचीकरणबाट उक्त स्पेस लुकाउन सक्नुहुन्छ"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"निजी स्पेस लुकाइएको बेलामा उक्त स्पेस एक्सेस गर्नुहोस्"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"सर्च बारमा गई \"निजी स्पेस\" खोज्नुहोस्"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"निजी स्पेसको टाइलमा ट्याप गर्नुहोस्"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"आफ्नो निजी स्पेस अनलक गर्नुहोस्"</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="3075645119800272800">"निजी स्पेस मेटाउनुहोस्"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"निजी स्पेस मेटाइएको छ"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"निजी स्पेस मेटाउन सकिएन"</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="4377296080723608107">"निजी स्पेस लक गरिएका बेला निजी स्पेसका एपबाट प्राप्त सूचनाहरू लुकाइन्छन्"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"निजी स्पेसका एपहरूबाट फोटो वा फाइलहरू सेयर गर्न आफ्नो निजी स्पेस अनलक गर्नुहोस्"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"केही एपहरू तपाईंको निजी स्पेसमा इन्स्टल गरिसकिएका छन्"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"निजी स्पेस सेटअप गर्न सकिएन"</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="4258842502257201013">"निजी स्पेस एक्सेस गर्न आफ्नो एपको सूचीमा जानुहोस् अनि तलतिर स्क्रोल गर्नुहोस्"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"पूरा भयो"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"निजी स्पेस भेट्टाउन तलतिर स्क्रोल गर्नुहोस्"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"निजी स्पेस (अन्तिम UX संस्करण होइन) देखिने बनाउन"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"सेटिङ एप खोल्नुहोस्"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"सुरक्षा तथा गोपनीयता &gt; निजी स्पेस &gt; लक गरिएको बेला निजी स्पेस लुकाइयोस् मा ट्याप गर्नुहोस्"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"लक गरिएका बेला निजी स्पेस लुकाउने सुविधा बन्द गर्ने टगल"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Google कर्मचारीले ख्याल गर्नु पर्ने कुरा: यो सुविधा अझै विकास हुँदै छ"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"तपाईँले सायद यो पासकि अन्य उपकरणमा पनि टाइप गर्नुपर्छ।"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"समायोजित सेटमा कनेक्ट गर्न पुष्टि गर्नुहोस्"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ब्याट्री स्तर"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"सामुदायिक"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"समुदायसम्बन्धी सेटिङ"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"सेभ गर्नुहोस्"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"रद्द गर्नु…"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"बोलेर एक्टिभेट गर्ने सुविधामा सुधार गर्नुहोस्"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"यो डिभाइसले बोलेर एक्टिभेट गर्ने सुविधाको मोडेल सुधार गर्न प्राइभेट इन्टेलिजेन्स प्रयोग गर्छ। सबैका लागि यो मोडेल सुधार गर्ने क्रममा गोपनीयता कायम राख्न एपहरूले धेरै जना प्रयोगकर्ताहरूबाट सङ्कलन गरिएका समग्र जानकारीका आधारमा तयार पारिने संक्षेपीकृत जानकारी प्राप्त गर्न सक्छन्।\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"थप प्रदायकहरू"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"पासवर्ड, पासकी र डेटासम्बन्धी सेवा"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </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..d1c7669 100644
--- a/res/values-nl/arrays.xml
+++ b/res/values-nl/arrays.xml
@@ -479,4 +479,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..f8e26c0 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,6 +47,8 @@
     <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 op 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="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Automatisch draaien gebruiken"</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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Privéruimte"</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="3006539720164938296">"Vergrendeling van privéruimte"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Je kunt Privéruimte 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="5804023571114910034">"Ontgrendelen met vingerafdruk voor privégedeelte"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Nieuwe vergrendeling voor privéruimte kiezen?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Automatisch vergrendelen"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Privéruimte verbergen indien vergrendeld"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Als je niet wilt dat andere mensen weten dat Privéruimte op je apparaat staat, kun je deze verbergen in de lijst met apps"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Toegang krijgen tot Privéruimte indien verborgen"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Zoek naar Privéruimte in de zoekbalk"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tik op de tegel Privéruimte"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Je Privéruimte 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="3075645119800272800">"Privéruimte verwijderen"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Privéruimte verwijderd"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Privéruimte 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="4377296080723608107">"Meldingen van apps in een privéruimte worden verborgen als deze is vergrendeld"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Privégedeelte ontgrendelen om foto\'s of bestanden van apps in je privégedeelte 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="1210906480024148398">"Kan privéruimte 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="4258842502257201013">"Ga voor toegang tot je privéruimte naar je lijst met apps en scroll omlaag"</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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Om Privéruimte te tonen (niet de definitieve gebruikerservaring)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Open de app Instellingen"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Tik op Beveiliging en privacy &gt; Privéruimte &gt; Privéruimte verbergen indien vergrendeld"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Schakelaar Privéruimte verbergen indien vergrendeld"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Opmerking voor Googlers: Deze functie wordt nog ontwikkeld"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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>
@@ -1008,8 +1149,10 @@
     <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="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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Opslaan"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Annuleren"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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>
@@ -2230,12 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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>
@@ -3677,6 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Spraakactivering verbeteren"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Dit apparaat maakt gebruik van privé-informatie om het spraakactiveringsmodel te verbeteren. Apps kunnen samengevatte updates ontvangen die van veel verschillende gebruikers worden verzameld om de privacy te behouden en tegelijkertijd het model voor iedereen te verbeteren.\n\n"<a href="">"Meer informatie over privé-informatie"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Aanvullende providers"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Wachtwoorden, toegangssleutels en gegevensservices"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-or/arrays.xml b/res/values-or/arrays.xml
index 563d018..133d09f 100644
--- a/res/values-or/arrays.xml
+++ b/res/values-or/arrays.xml
@@ -479,4 +479,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..87479b8 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>
@@ -113,23 +116,34 @@
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"ବ୍ଲୁଟୁଥ LE ଅଡିଓକୁ ଅକ୍ଷମ କରନ୍ତୁ"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"ଯଦି ଡିଭାଇସ LE ଅଡିଓ ହାର୍ଡୱେର କ୍ଷମତାକୁ ସମର୍ଥନ କରେ ତେବେ ଏହା ବ୍ଲୁଟୁଥ 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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"ପ୍ରାଇଭେଟ ସ୍ପେସ"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ପ୍ରାଇଭେଟ ଆପ୍ସକୁ ଲକ ଏବଂ ଲୁକ୍କାୟିତ ରଖନ୍ତୁ"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"ଆପଣ ଲୁଚାଇ ପାରୁଥିବା କିମ୍ବା ଲକ କରିପାରୁଥିବା ଏକ ଅଲଗା ସ୍ପେସରେ ପ୍ରାଇଭେଟ ଆପ୍ସକୁ ରଖନ୍ତୁ"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"ଆପଣଙ୍କ ଡିଭାଇସକୁ ଆପଣ ଅନଲକ କରିବା ପରି Private Spaceକୁ ଅନଲକ କରିପାରିବେ କିମ୍ୱା ଏକ ଭିନ୍ନ ଲକ ବାଛିପାରିବେ"</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="5804023571114910034">"ପ୍ରାଇଭେଟ ସ୍ପେସ ପାଇଁ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"ପ୍ରାଇଭେଟ ସ୍ପେସ ପାଇଁ ଫେସ ଅନଲକ"</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="7306873010565337671">"ପ୍ରାଇଭେଟ ସ୍ପେସ ପାଇଁ ଏକ ନୂଆ ଲକ ବାଛିବେ?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"ସ୍ୱତଃ ଲକ କରନ୍ତୁ"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ସ୍ୱତଃ ଲକ କରନ୍ତୁ"</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="972581369094289386">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ ଥିବା ସମୟରେ ଏହାକୁ ଲୁଚାନ୍ତୁ"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ଡିଭାଇସରେ ପ୍ରାଇଭେଟ ସ୍ପେସ ଥିବା ଅନ୍ୟ ଲୋକମାନଙ୍କୁ ନଜଣାଇବାକୁ ଆପଣ ଆପ୍ସ ତାଲିକାରୁ ଏହାକୁ ଲୁଚାଇପାରିବେ"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଲୁକ୍କାୟିତ ଥିବା ସମୟରେ ଏହାକୁ ଆକ୍ସେସ କରନ୍ତୁ"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"ସର୍ଚ୍ଚ ବାରରେ \'ପ୍ରାଇଭେଟ ସ୍ପେସ\' ସର୍ଚ୍ଚ କରନ୍ତୁ"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଟାଇଲରେ ଟାପ କରନ୍ତୁ"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଅନଲକ କରନ୍ତୁ"</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="3075645119800272800">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଡିଲିଟ କରନ୍ତୁ"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"ପ୍ରାଇଭେଟ ସ୍ପେସ ସଫଳତାର ସହ ଡିଲିଟ କରାଯାଇଛି"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଡିଲିଟ କରାଯାଇପାରିଲା ନାହିଁ"</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="4377296080723608107">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ ଥିବା ସମୟରେ ଏଥିରେ ଥିବା ଆପ୍ସରୁ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଲୁଚାଯାଇଥାଏ"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଆପ୍ସରୁ ଫଟୋ କିମ୍ୱା ଫାଇଲଗୁଡ଼ିକ ସେୟାର କରିବା ପାଇଁ ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଅନଲକ କରନ୍ତୁ"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"କିଛି ଆପ୍ସକୁ ପୂର୍ବରୁ ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସରେ ଇନଷ୍ଟଲ କରାଯାଇଛି"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"ପ୍ରାଇଭେଟ ସ୍ପେସ ସେଟ ଅପ କରାଯାଇପାରିଲା ନାହିଁ"</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="4258842502257201013">"ଆପଣଙ୍କର ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ଆପଣଙ୍କ ଆପ୍ସ ତାଲିକାକୁ ଯାଇ ତଳକୁ ସ୍କ୍ରୋଲ କରନ୍ତୁ"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"ହୋଇଗଲା"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଖୋଜିବା ପାଇଁ ତଳକୁ ସ୍କ୍ରୋଲ କରନ୍ତୁ"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଦେଖାଇବା ପାଇଁ (ଫାଇନାଲ UX ନୁହେଁ)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Settings ଆପ ଖୋଲନ୍ତୁ"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"ସୁରକ୍ଷା &amp; ଗୋପନୀୟତା &gt; ପ୍ରାଇଭେଟ ସ୍ପେସ &gt; ପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ ଥିବା ସମୟରେ ଏହାକୁ ଲୁଚାନ୍ତୁରେ ଟାପ କରନ୍ତୁ"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ ଥିବା ସମୟରେ ଏହାକୁ ଲୁଚାନ୍ତୁ ଟୋଗଲ ବନ୍ଦ କରନ୍ତୁ"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Googlerମାନଙ୍କ ପାଇଁ ନୋଟ: ଏହି ଫିଚରର ଡେଭଲପମେଣ୍ଟ ଏବେ ବି ଚାଲିଛି"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ଏହି ପାସ୍‌-କୀକୁ ଅନ୍ୟ ଡିଭାଇସ୍‌ରେ ମଧ୍ୟ ଟାଇପ୍‌ କରିବା ଆବଶ୍ୟକ ହୋଇପରେ।"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"କୋର୍ଡିନେଟ କରାଯାଇଥିବା ସେଟ ସହ ପେୟାର କରିବାକୁ ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ବ୍ୟାଟେରୀ ସ୍ତର"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"କମ୍ୟୁନାଲ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"କମ୍ୟୁନାଲ ସେଟିଂସ"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"ସେଭ୍‌ କରନ୍ତୁ"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ବାତିଲ କରନ୍ତୁ"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"ଭଏସ ସକ୍ରିୟକରଣକୁ ଉନ୍ନତ କରନ୍ତୁ"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"ଭଏସ ସକ୍ରିୟକରଣ ମଡେଲକୁ ଉନ୍ନତ କରିବା ପାଇଁ ଏହି ଡିଭାଇସ ପ୍ରାଇଭେଟ ଇଣ୍ଟେଲିଜେନ୍ସ ବ୍ୟବହାର କରେ। ସମସ୍ତଙ୍କ ପାଇଁ ମଡେଲରେ ଉନ୍ନତି ଆଣିବା ସହିତ ଗୋପନୀୟତା ବଜାୟ ରଖିବା ପାଇଁ ଅନେକ ୟୁଜରଙ୍କଠାରୁ ଏକତ୍ରିତ କରାଯାଇଥିବା ସଂକ୍ଷିପ୍ତ ଅପଡେଟଗୁଡ଼ିକ ଆପ୍ସ ପାଇପାରିବ।\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"ଅତିରିକ୍ତ ପ୍ରଦାନକାରୀ"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"ପାସୱାର୍ଡ, ପାସକୀ ଏବଂ ଡାଟା ସେବାଗୁଡ଼ିକ"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-pa/arrays.xml b/res/values-pa/arrays.xml
index 13330f5..47bb15c 100644
--- a/res/values-pa/arrays.xml
+++ b/res/values-pa/arrays.xml
@@ -479,4 +479,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..79b7faf 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"ਨਿੱਜੀ ਸਪੇਸ"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ਨਿੱਜੀ ਐਪਾਂ ਨੂੰ ਲਾਕ ਕਰ ਕੇ ਅਦਿੱਖ ਰੱਖੋ"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"ਨਿੱਜੀ ਐਪਾਂ ਨੂੰ ਵੱਖਰੀ ਸਪੇਸ ਵਿੱਚ ਰੱਖੋ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਲੁਕਾ ਜਾਂ ਲਾਕ ਕਰ ਸਕਦੇ ਹੋ"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"ਨਿੱਜੀ ਸਪੇਸ ਲਾਕ"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"ਤੁਸੀਂ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਉਸੇ ਤਰੀਕੇ ਨਾਲ ਅਣਲਾਕ ਕਰ ਸਕਦੇ ਹੋ ਜਿਸ ਤਰ੍ਹਾਂ ਤੁਸੀਂ ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਦੇ ਹੋ ਜਾਂ ਕੋਈ ਵੱਖਰਾ ਲਾਕ ਚੁਣੋ"</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="5804023571114910034">"ਨਿੱਜੀ ਸਪੇਸ ਲਈ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"ਨਿੱਜੀ ਸਪੇਸ ਲਈ ਫ਼ੇਸ ਅਣਲਾਕ"</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="7306873010565337671">"ਕੀ ਨਿੱਜੀ ਸਪੇਸ ਲਈ ਨਵਾਂ ਲਾਕ ਚੁਣਨਾ ਹੈ?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"ਆਪਣੇ ਆਪ ਲਾਕ ਹੋਣ ਦੀ ਸੁਵਿਧਾ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"ਨਿੱਜੀ ਸਪੇਸ ਆਪਣੇ ਆਪ ਲਾਕ ਹੋਣ ਦੀ ਸੁਵਿਧਾ ਪ੍ਰਾਪਤ ਕਰੋ"</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="972581369094289386">"ਲਾਕ ਹੋਣ \'ਤੇ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਲੁਕਾਓ"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ਹੋਰ ਲੋਕਾਂ ਤੋਂ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦੀ ਨਿੱਜੀ ਸਪੇਸ ਲੁਕਾਉਣ ਲਈ, ਇਸਨੂੰ ਤੁਹਾਡੀ ਐਪ ਸੂਚੀ ਵਿੱਚੋਂ ਲੁਕਾ ਸਕਦੇ ਹੋ"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"ਅਦਿੱਖ ਹੋਣ \'ਤੇ ਨਿੱਜੀ ਸਪੇਸ ਤੱਕ ਪਹੁੰਚ ਕਰੋ"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"ਖੋਜ ਪੱਟੀ ਵਿੱਚ \'ਨਿੱਜੀ ਸਪੇਸ\' ਨੂੰ ਖੋਜੋ"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"ਨਿੱਜੀ ਸਪੇਸ ਦੀ ਟਾਇਲ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"ਆਪਣੀ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਅਣਲਾਕ ਕਰੋ"</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="3075645119800272800">"ਨਿੱਜੀ ਸਪੇਸ ਮਿਟਾਓ"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਸਫਲਤਾਪੂਰਵਕ ਮਿਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ"</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="4377296080723608107">"ਨਿੱਜੀ ਸਪੇਸ ਦੇ ਲਾਕ ਹੋਣ \'ਤੇ, ਨਿੱਜੀ ਸਪੇਸ ਵਿੱਚ ਮੌਜੂਦ ਐਪਾਂ ਦੀਆਂ ਸੂਚਨਾਵਾਂ ਲੁਕੀਆਂ ਹੁੰਦੀਆਂ ਹਨ"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"ਨਿੱਜੀ ਸਪੇਸ ਵਾਲੀਆਂ ਐਪਾਂ ਤੋਂ ਫ਼ੋਟੋਆਂ ਜਾਂ ਫ਼ਾਈਲਾਂ ਨੂੰ ਸਾਂਝਾ ਕਰਨ ਲਈ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਅਣਲਾਕ ਕਰੋ"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"ਤੁਹਾਡੀ ਨਿੱਜੀ ਸਪੇਸ ਵਿੱਚ ਕੁਝ ਐਪਾਂ ਪਹਿਲਾਂ ਹੀ ਸਥਾਪਤ ਕੀਤੀਆਂ ਹੋਈਆਂ ਹਨ"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"ਨਿੱਜੀ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"</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="4258842502257201013">"ਆਪਣੀ ਨਿੱਜੀ ਸਪੇਸ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ, ਆਪਣੀ ਐਪ ਸੂਚੀ \'ਤੇ ਜਾ ਕੇ ਹੇਠਾਂ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰੋ"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"ਹੋ ਗਿਆ"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਲੱਭਣ ਲਈ ਹੇਠਾਂ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰੋ"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"ਨਿੱਜੀ ਸਪੇਸ ਦਿਖਾਉਣ ਲਈ (ਅੰਤਿਮ UX ਨਹੀਂ)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"ਸੈਟਿੰਗਾਂ ਐਪ ਖੋਲ੍ਹੋ"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"ਸੁਰੱਖਿਆ ਅਤੇ ਪਰਦੇਦਾਰੀ &gt; ਨਿੱਜੀ ਸਪੇਸ &gt; \'ਲਾਕ ਹੋਣ \'ਤੇ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਲੁਕਾਓ\' \'ਤੇ ਟੈਪ ਕਰੋ"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"\'ਲਾਕ ਹੋਣ \'ਤੇ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਲੁਕਾਓ\' ਟੌਗਲ ਨੂੰ ਬੰਦ ਕਰੋ"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"ਗੂਗਲਰਾਂ ਲਈ ਨੋਟ: ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਦਾ ਵਿਕਾਸ ਹਾਲੇ ਵੀ ਪ੍ਰਕਿਰਿਆ-ਅਧੀਨ ਹੈ"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ਤੁਹਾਨੂੰ ਹੋਰ ਡੀਵਾਈਸ ਤੇ ਵੀ ਇਹ ਪਾਸਕੁੰਜੀ ਟਾਈਪ ਕਰਨ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ।"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"ਤਾਲ-ਮੇਲ ਵਾਲੇ ਸੈੱਟ ਨਾਲ ਜੋੜਾਬੱਧ ਕਰਨ ਲਈ ਤਸਦੀਕ ਕਰੋ"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ਬੈਟਰੀ ਪੱਧਰ"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"ਭਾਈਚਾਰਕ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"ਭਾਈਚਾਰਕ ਸੈਟਿੰਗਾਂ"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"ਰੱਖਿਅਤ ਕਰੋ"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ਰੱਦ ਕਰੋ"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"ਅਵਾਜ਼ੀ ਕਿਰਿਆਸ਼ੀਲਤਾ ਮਾਡਲ ਨੂੰ ਬਿਹਤਰ ਬਣਾਓ"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"ਇਹ ਡੀਵਾਈਸ ਅਵਾਜ਼ੀ ਕਿਰਿਆਸ਼ੀਲਤਾ ਮਾਡਲ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਪ੍ਰਾਈਵੇਟ ਇੰਟੈਲੀਜੈਂਸ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਹਰੇਕ ਲਈ ਮਾਡਲ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਦੌਰਾਨ ਪਰਦੇਦਾਰੀ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਣ ਲਈ ਐਪਾਂ ਨੂੰ ਸਾਰਾਂਸ਼ ਕੀਤੇ ਅਜਿਹੇ ਅੱਪਡੇਟ ਪ੍ਰਾਪਤ ਹੋ ਸਕਦੇ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਕਈ ਵਰਤੋਂਕਾਰਾਂ ਤੋਂ ਇਕੱਤਰ ਕੀਤਾ ਗਿਆ ਹੁੰਦਾ ਹੈ।\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"ਵਧੀਕ ਪ੍ਰਦਾਨਕ"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"ਪਾਸਵਰਡ, ਪਾਸਕੀਆਂ ਅਤੇ ਡਾਟਾ ਸੇਵਾਵਾਂ"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
index a51b5c4..01b10b4 100644
--- a/res/values-pl/arrays.xml
+++ b/res/values-pl/arrays.xml
@@ -479,4 +479,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..1942a98 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Obszar prywatny"</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="3006539720164938296">"Blokada obszaru prywatnego"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Obszar prywatny 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="5804023571114910034">"Odblokowywanie odciskiem palca na potrzeby przestrzeni prywatnej"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Wybrać nową blokadę dla obszaru prywatnego?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Blokowanie automatyczne"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Ukryj Obszar prywatny po jego zablokowaniu"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Aby inni nie wiedzieli, że na urządzeniu jest Obszar prywatny, można ukryć go na liście aplikacji"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Dostęp do Obszaru prywatnego po jego ukryciu"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"W pasku wyszukiwania wyszukaj „Obszar prywatny”"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Kliknij kafelek Obszar prywatny"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Odblokuj Obszar prywatny"</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="3075645119800272800">"Usuń obszar prywatny"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Usunięto obszar prywatny"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Nie udało się usunąć obszaru prywatnego"</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="4377296080723608107">"Powiadomienia z aplikacji w obszarze prywatnym są ukryte, gdy jest on zablokowany"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Odblokuj przestrzeń prywatną, aby udostępniać zdjęcia i pliki z aplikacji z przestrzeni prywatnej"</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="1210906480024148398">"Nie udało się skonfigurować obszaru prywatnego"</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="4258842502257201013">"Aby uzyskać dostęp do obszaru prywatnego, 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Aby wyświetlić obszar prywatny (niefinalna wersja UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Otwórz aplikację Ustawienia"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Kliknij Bezpieczeństwo i prywatność &gt; Obszar prywatny &gt; Ukryj obszar prywatny po jego zablokowaniu"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Wyłącz przełącznikiem Ukryj obszar prywatny po jego zablokowaniu"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Uwaga dla pracowników Google: prace nad tą funkcją wciąż trwają"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Zapisz"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Anuluj"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Ulepszaj aktywację głosową"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"To urządzenie wykorzystuje inteligencję prywatną do ulepszania modelu aktywacji głosowej. Aplikacje mogą otrzymywać podsumowane dane od wielu użytkowników, które są łączone, aby zachować prywatność, jednocześnie ulepszając model dla wszystkich.\n\n"<a href="">"Więcej informacji o inteligencji prywatnej"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Dostawcy dodatkowi"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Usługi haseł, kluczy i danych"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4513,7 +4776,7 @@
     <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>
@@ -4545,8 +4808,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4967,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 +5064,29 @@
     <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>
 </resources>
diff --git a/res/values-pt-rBR/arrays.xml b/res/values-pt-rBR/arrays.xml
index b11e99e..2e9649b 100644
--- a/res/values-pt-rBR/arrays.xml
+++ b/res/values-pt-rBR/arrays.xml
@@ -479,4 +479,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 662ceb9..05970b2 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">"Deslize 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Bloqueio do Espaço particular"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Você pode desbloquear o 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="5804023571114910034">"Desbloqueio por impressão digital para o espaço privado"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Escolher outro bloqueio para o Espaço particular?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Bloquear automaticamente"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Ocultar o Espaço particular quando bloqueado"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Oculte o Espaço particular na sua lista de apps para que outras pessoas não saibam que ele está no dispositivo"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Acessar o Espaço particular quando oculto"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Pesquisar \"Espaço particular\" na barra de pesquisa"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tocar no bloco Espaço particular"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Desbloquear seu Espaço particular"</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="3075645119800272800">"Excluir o Espaço particular"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"O Espaço particular foi excluído"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Não foi possível excluir o Espaço particular"</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="4377296080723608107">"Notificações de apps no Espaço particular ficam ocultas quando ele está bloqueado"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Desbloqueie o espaço privado para compartilhar fotos ou arquivos de apps dele"</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="1210906480024148398">"Não foi possível configurar o Espaço particular"</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="4258842502257201013">"Para acessar o Espaço particular, 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Para mostrar o Espaço particular (UX não final)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Abra o app Configurações"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Toque em \"Segurança e privacidade &gt; Espaço particular &gt; Ocultar o Espaço particular quando bloqueado\""</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Botão \"Ocultar o Espaço particular quando bloqueado\""</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Observação para Googlers: esse recurso ainda está em desenvolvimento"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Salvar"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancelar"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 <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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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>
@@ -1852,7 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 quando não usado"</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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Melhorar a ativação por voz"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Este dispositivo usa informações particulares para melhorar o modelo de ativação por voz. Os apps podem receber atualizações resumidas que são agregadas entre vários usuários para manter a privacidade e, ao mesmo tempo, melhorar o modelo para todos.\n\n"<a href="">"Saiba mais sobre a inteligência particular"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Outros provedores"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Senhas, chaves de acesso e serviços de dados"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index 521acfc..ede92a2 100644
--- a/res/values-pt-rPT/arrays.xml
+++ b/res/values-pt-rPT/arrays.xml
@@ -479,4 +479,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 193e236..4bc0984 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 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Bloqueio do espaço privado"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"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="5804023571114910034">"Desbloqueio por impressão digital para o espaço privado"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Escolher um novo bloqueio para o espaço privado?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Bloquear automaticamente"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Ocultar espaço privado quando bloqueado"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Para não saberem que o espaço privado está no seu dispositivo, oculte-o da lista de apps"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Aceda ao espaço privado quando estiver oculto"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Pesquise \"espaço privado\" na barra de pesquisa"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Toque no mosaico do espaço privado"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Eliminar espaço privado"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Espaço privado eliminado com êxito"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"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="2102594859384040485">"Desbloqueie o espaço privado para partilhar fotos ou ficheiros de apps do espaço privado"</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="1210906480024148398">"Não foi possível configurar o 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="4258842502257201013">"Para aceder ao 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"P/ mostrar espaço privado (não é a exp. do utilizador final)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Abra a app Definições"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Toque em Segurança e privacidade &gt; Espaço privado &gt; Ocultar espaço privado quando bloqueado"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Botão para desativar Ocultar espaço privado quando bloqueado"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Nota para os funcionários da Google: o desenvolvimento desta funcionalidade ainda está em curso"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Guardar"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancelar"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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">"Remova autorizações, elimine ficheiros temporários, pare notificações e arquive 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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Melhorar ativação por voz"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Este dispositivo usa informações privadas para melhorar o modelo de ativação por voz. As apps podem receber atualizações resumidas que são agregadas a partir de muitos utilizadores para manter a privacidade e melhorar o modelo para todos.\n\n"<a href="">"Saiba mais sobre as informações privadas"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 página inicial para invocar a app de assistente digital."</string>
     <string name="low_label" msgid="6525629096999711220">"Baixa"</string>
@@ -4122,21 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Fornecedores 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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Palavras-passe, chaves de acesso e serviços de dados"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml
index b11e99e..2e9649b 100644
--- a/res/values-pt/arrays.xml
+++ b/res/values-pt/arrays.xml
@@ -479,4 +479,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 662ceb9..05970b2 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">"Deslize 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Bloqueio do Espaço particular"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Você pode desbloquear o 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="5804023571114910034">"Desbloqueio por impressão digital para o espaço privado"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Escolher outro bloqueio para o Espaço particular?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Bloquear automaticamente"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Ocultar o Espaço particular quando bloqueado"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Oculte o Espaço particular na sua lista de apps para que outras pessoas não saibam que ele está no dispositivo"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Acessar o Espaço particular quando oculto"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Pesquisar \"Espaço particular\" na barra de pesquisa"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tocar no bloco Espaço particular"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Desbloquear seu Espaço particular"</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="3075645119800272800">"Excluir o Espaço particular"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"O Espaço particular foi excluído"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Não foi possível excluir o Espaço particular"</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="4377296080723608107">"Notificações de apps no Espaço particular ficam ocultas quando ele está bloqueado"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Desbloqueie o espaço privado para compartilhar fotos ou arquivos de apps dele"</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="1210906480024148398">"Não foi possível configurar o Espaço particular"</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="4258842502257201013">"Para acessar o Espaço particular, 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Para mostrar o Espaço particular (UX não final)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Abra o app Configurações"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Toque em \"Segurança e privacidade &gt; Espaço particular &gt; Ocultar o Espaço particular quando bloqueado\""</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Botão \"Ocultar o Espaço particular quando bloqueado\""</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Observação para Googlers: esse recurso ainda está em desenvolvimento"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Salvar"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancelar"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 <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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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>
@@ -1852,7 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 quando não usado"</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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Melhorar a ativação por voz"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Este dispositivo usa informações particulares para melhorar o modelo de ativação por voz. Os apps podem receber atualizações resumidas que são agregadas entre vários usuários para manter a privacidade e, ao mesmo tempo, melhorar o modelo para todos.\n\n"<a href="">"Saiba mais sobre a inteligência particular"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Outros provedores"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Senhas, chaves de acesso e serviços de dados"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-ro/arrays.xml b/res/values-ro/arrays.xml
index 02b5f3d..f8ace1d 100644
--- a/res/values-ro/arrays.xml
+++ b/res/values-ro/arrays.xml
@@ -479,4 +479,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 62e0883..9e2b7ea 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Blocarea spațiului privat"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"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="5804023571114910034">"Deblocare cu amprenta pentru spațiul privat"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Alegi un aspect nou pentru Spațiul privat?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Blochează automat"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Ascunde Spațiul privat când este blocat"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"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="982809349769470185">"Accesează Spațiul privat când este ascuns"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Caută „Spațiu privat” în bara de căutare"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Atinge cardul Spațiu privat"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Șterge Spațiul privat"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Spațiul privat a fost șters"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"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="2102594859384040485">"Deblochează spațiul privat pentru a trimite fotografii sau fișiere din aplicații din spațiul privat"</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="1210906480024148398">"Nu s-a putut configura spațiul 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="4258842502257201013">"Pentru a accesa 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Pentru a afișa Spațiul privat (UX temporară)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Deschide aplicația Setări"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Atinge Securitate și confidențialitate &gt; Spațiul privat &gt; Ascunde Spațiul privat când este blocat"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Dezactivează comutatorul Ascunde Spațiul privat când este blocat"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Notă pentru angajații Google: funcția este încă în dezvoltare"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Salvează"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Anulează"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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">"Se restabilește <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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Îmbunătățește activarea vocală"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Dispozitivul folosește informații private pentru a îmbunătăți modelul de activare vocală. Aplicațiile pot primi actualizări rezumate, agregate de la mai mulți utilizatori, pentru a păstra confidențialitatea și a îmbunătăți modelul pentru toată lumea.\n\n"<a href="">"Mai multe despre informațiile private"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Furnizori suplimentari"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Parole, chei de acces și servicii de date"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4512,7 +4775,7 @@
     <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>
@@ -4544,8 +4807,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4966,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 +5063,29 @@
     <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>
 </resources>
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
index b4b05f1..8954f52 100644
--- a/res/values-ru/arrays.xml
+++ b/res/values-ru/arrays.xml
@@ -479,4 +479,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 5d9a093..0fce793 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Личное пространство"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Спрячьте приложения в личное пространство и закройте доступ к нему"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Создайте отдельное пространство для личных приложений, которое можно скрыть или защитить с помощью блокировки."</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"Блокировка личного пространства"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Вы можете использовать тот же способ разблокировки, который используется для экрана, или выбрать другой."</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="5804023571114910034">"Разблокировка по отпечатку пальца для личного пространства"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Фейсконтроль для личного пространства"</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="7306873010565337671">"Изменить способ блокировки личного пространства?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Блокировать автоматически"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Автоматическая блокировка личного пространства"</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="972581369094289386">"Скрыть личное пространство, если доступ к нему заблокирован"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Вы можете скрыть личное пространство из списка приложений"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Доступ к личному пространству, когда оно скрыто"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Введите запрос \"Личное пространство\" в строку поиска"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Выберите параметр \"Личное пространство\""</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Разблокируйте личное пространство"</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="3075645119800272800">"Удалить личное пространство"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Личное пространство удалено."</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Не получилось удалить личное пространство."</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="4377296080723608107">"Когда доступ к личному пространству заблокирован, уведомления из добавленных в него приложений скрываются"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Чтобы делиться фото и файлами из приложений, добавленных в личное пространство, разблокируйте доступ к нему"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"В вашем личном пространстве уже установлены некоторые приложения"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"Не удалось создать личное пространство"</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="4258842502257201013">"Чтобы найти личное пространство, перейдите в список приложений и прокрутите экран вниз."</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Готово"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Чтобы найти личное пространство, прокрутите экран вниз."</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Чтобы показать личное пространство (интерфейс в разработке)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Откройте приложение \"Настройки\"."</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Выберите \"Безопасность и конфиденциальность &gt; Личное пространство &gt; Скрыть личное пространство, если доступ к нему заблокирован\"."</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Отключите переключатель \"Скрыть личное пространство, если доступ к нему заблокирован\"."</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Примечание для сотрудников Google. Разработка этой функции ещё не завершена."</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Возможно, потребуется ввести ключ доступа на другом устройстве."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Подтвердите, чтобы подключиться к координированному набору."</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Уровень заряда батареи"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Совместные"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Совместные настройки"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Сохранить"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Отмена"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Улучшать активацию голосом"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Чтобы улучшать модель активации голосом, это устройство использует личные данные. Приложения могут получать объединенную информацию большого числа пользователей. Это позволяет обеспечивать конфиденциальность и совершенствовать модель для всех.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Дополнительные поставщики"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Сервисы для паролей, ключей доступа и данных"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4513,7 +4776,7 @@
     <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>
@@ -4545,8 +4808,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4967,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 +5064,29 @@
     <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>
 </resources>
diff --git a/res/values-si/arrays.xml b/res/values-si/arrays.xml
index c1e87a2..cffd8d8 100644
--- a/res/values-si/arrays.xml
+++ b/res/values-si/arrays.xml
@@ -479,4 +479,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..92dfda7 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>
@@ -113,23 +116,34 @@
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"බ්ලූටූත් LE ශ්‍රව්‍ය අබල කරන්න"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"උපාංගය LE ශ්‍රව්‍ය දෘඨාංග හැකියා වෙත සහාය දක්වන්නේ නම් බ්ලූටූත් 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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"පෞද්ගලික ඉඩ"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"පෞද්ගලික යෙදුම් අගුළු දමා සඟවා තබා ගන්න"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"පෞද්ගලික යෙදුම් ඔබට සැඟවීමට හෝ අගුළු දැමීමට හැකි වෙනම අවකාශයක තබා ගන්න"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"පෞද්ගලික අවකාශ අගුල"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"ඔබට ඔබේ උපාංගය අගුළු හරින ආකාරයටම පෞද්ගලික අවකාශය අගුළු ඇරීමට හෝ වෙනත් අගුලක් තෝරා ගැනීමට හැක"</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="5804023571114910034">"පෞද්ගලික අවකාශය සඳහා ඇඟිලි සලකුණු අගුළු හැරීම"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"පෞද්ගලික අවකාශය සඳහා මුහුණෙන් අගුළු හැරීම"</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="7306873010565337671">"පෞද්ගලික අවකාශය සඳහා නව අගුලක් තෝරා ගන්න ද?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"ස්වයංක්‍රීයව අගුළු දමන්න"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"පෞද්ගලික ඉඩ ස්වයංක්‍රීයව අගුළු දමන්න"</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="972581369094289386">"අගුළු දමා ඇති විට පෞද්ගලික අවකාශය සඟවන්න"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"ඔබේ උපාංගයෙහි පෞද්ගලික අවකාශය ඇති බව වෙනත් පුද්ගලයින් දැන ගැනීම නැවැත්වීමට, ඔබට එය ඔබේ යෙදුම් ලැයිස්තුවෙන් සැඟවිය හැක"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"සැඟවුණු විට පෞද්ගලික අවකාශයට ප්‍රවේශ වන්න"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"සෙවීම් තීරුවේ \'පෞද්ගලික අවකාශය\' සඳහා සොයන්න"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"පෞද්ගලික අවකාශයේ ටයිලය තට්ටු කරන්න"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"ඔබේ පෞද්ගලික අවකාශය අගුළු හරින්න"</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="3075645119800272800">"පෞද්ගලික ඉඩ මකන්න"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"පෞද්ගලික ඉඩ සාර්ථකව මකා ඇත"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"පෞද්ගලික ඉඩ මැකීමට නොහැකි විය"</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="4377296080723608107">"පෞද්ගලික අවකාශය තුළ යෙදුම්වලින් ලැබෙන දැනුම්දීම් එය අගුළු දමා ඇති විට සඟවනු ලැබේ"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"පෞද්ගලික අවකාශ යෙදුම් වෙටීම් ඡායාරූප හෝ ගොනු බෙදා ගැනීමට පෞද්ගලික අවකාශය අගුළු හරින්න"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"සමහර යෙදුම් දැනටමත් ඔබේ පෞද්ගලික අවකාශයේ ස්ථාපනය කර ඇත"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"පෞද්ගලික අවකාශය පිහිටුවීමට නොහැකි විය"</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="4258842502257201013">"ඔබේ පෞද්ගලික අවකාශය වෙත ප්‍රවේශ වීම සඳහා, ඔබේ යෙදුම් ලැයිස්තුවට ගොස් පහළට අනුචලනය කරන්න"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"නිමයි"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"පෞද්ගලික අවකාශය සොයා ගැනීමට පහළට අනුචලනය කරන්න"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"පෞද්ගලික අවකාශය පෙන්වීමට (අවසාන UX නොවේ)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"සැකසීම් යෙදුම විවෘත කරන්න"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"ආරක්ෂාව සහ පෞද්ගලිකත්වය &gt; පෞද්ගලික අවකාශය &gt; අගුළු දමා ඇති විට පෞද්ගලික අවකාශය සඟවන්න මත තට්ටු කරන්න"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"ටොගල් අගුළු දැමූ විට පෞද්ගලික අවකාශය සැඟවීම ක්‍රියා විරහිත කරන්න"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"ගූගල්කරුවන් වෙත සටහන: මෙම විශේෂාංගයේ සංවර්ධනය තවමත් සිදු වෙමින් පවතී"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ඔබට මෙම මුරයතුර අනෙක් උපාංගයේ ටයිප් කිරීමට සිදුවනු ඇත."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"සම්බන්ධීකරණය කළ කට්ටලය සමඟ යුගල කිරීම තහවුරු කරන්න"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"බැටරි මට්ටම"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"වාර්ගික"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"වාර්ගික සැකසීම්"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"සුරකින්න"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"අවලංගු කරන්න"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"හඬ සක්‍රිය කිරීම වැඩි දියුණු කරන්න"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"මෙම උපාංගය හඬ සක්‍රිය කිරීමේ ආකෘතිය වැඩි දියුණු කිරීමට පෞද්ගලික බුද්ධිය භාවිතා කරයි. සියලු දෙනා සඳහා ආකෘතිය වැඩි දියුණු කරන අතරේ පෞද්ගලිකත්වය පවත්වා ගැනීම සඳහා බොහෝ පරිශීලකයින් හරහා එකතු කරන ලද සාරාංශගත යාවත්කාලීන කිරීම් යෙදුම්වලට ලැබිය හැක.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"අතිරේක සපයන්නන්"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"මුරපද, මුරයතුරු සහ දත්ත සේවා"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-sk/arrays.xml b/res/values-sk/arrays.xml
index 4f0b91f..578c756 100644
--- a/res/values-sk/arrays.xml
+++ b/res/values-sk/arrays.xml
@@ -479,4 +479,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..1c0d341 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Zámka súkromného priestoru"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Súkromný priestor môžete uzamknúť 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="5804023571114910034">"Odomknutie odtlačkom prsta pre súkromný priestor"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Nastavte odomknutie tvárou pre súkromný priestor"</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="7306873010565337671">"Chcete pre súkromný priestor vybrať novú zámku?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Automatické uzamykanie"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Skrytie súkromného priestoru pri uzamknutí"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Ak chcete zabrániť ostatným ľuďom, aby sa dozvedeli, že v zariadení máte Súkromný priestor, môžete ho skryť zo zoznamu aplikácií"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Prístup do Súkromného priestoru, keď je skrytý"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Vyhľadajte vo vyhľadávacom paneli položku Súkromný priestor"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Klepnutím zobrazíte dlaždicu Súkromného priestoru"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Odomknite svoj 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="3075645119800272800">"Odstránenie súkromného priestoru"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Súkromný priestor bol úspešne odstránený"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Keď je súkromný priestor uzamknutý, upozornenia z aplikácií v ňom sú skryté"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Odomknite súkromný priestor a zdieľajte fotky či súbory z aplikácií v ňom"</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="1210906480024148398">"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="4258842502257201013">"Prístup do súkromného priestoru získate tak, že prejdete na zoznam aplikácií a potom 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Na zobr. súkr. priestoru (nejde o finálne použ. prostredie)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Otvorte aplikáciu Nastavenia"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Klepnite na položky Zabezpečenie a ochrana súkromia &gt; Súkromný priestor &gt; Skrytie súkromného priestoru pri uzamknutí"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Vypnite prepínač Skrytie súkromného priestoru pri uzamknutí"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Poznámka pre googlerov: túto funkciu stále vyvíjame"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <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>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Zlepšite aktiváciu hlasom"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Toto zariadenie zlepšuje model aktivácie hlasom pomocou súkromných údajov. Aplikácie môžu dostávať súhrnné aktuality, ktoré sú agregované od mnohých používateľov, aby chránili súkromie a zároveň zlepšovali daný model pre každého.\n\n"<a href="">"Ďalšie informácie o súkromných údajoch"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Ďalší poskytovatelia"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Heslá, prístupové kľúče a služby poskytujúce údaje"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4513,7 +4776,7 @@
     <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>
@@ -4545,8 +4808,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4967,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 +5064,29 @@
     <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>
 </resources>
diff --git a/res/values-sl/arrays.xml b/res/values-sl/arrays.xml
index 7291e8e..7fa6e79 100644
--- a/res/values-sl/arrays.xml
+++ b/res/values-sl/arrays.xml
@@ -479,4 +479,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 788c55b..785f6a7 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Zaklepanje zasebnega prostora"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"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="5804023571114910034">"Odklepanje s prstnim odtisom za zasebni prostor"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Želite izbrati novo zaklepanje za zasebni prostor?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Samodejno zakleni"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Skrivanje zasebnega prostora, kadar je zaklenjen"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Če ne želite, da bi druge osebe vedele, da je v napravi zasebni prostor, ga lahko skrijete, da ni prikazan na seznamu aplikacij"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Dostop do zasebnega prostora, kadar je skrit"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"V vrstici za iskanje poiščite izraz »Zasebni prostor«"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Dotaknite se ploščice »Zasebni prostor«"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Brisanje zasebnega prostora"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Zasebni prostor je bil uspešno izbrisan"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Obvestila aplikacij v zasebnem prostoru so skrita, kadar je zasebni prostor zaklenjen"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Odklenite zasebni prostor, če želite deliti fotografije ali datoteke iz aplikacij v zasebnem prostoru"</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="1210906480024148398">"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="4258842502257201013">"Za dostop do zasebnega prostora odprite seznam aplikacij in se nato pomaknite navzdol"</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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Za prikaz zasebnega prostora (ni končna uporabniška izkušnja)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Odprite aplikacijo Nastavitve"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Dotaknite se »Varnost in zasebnost« &gt; »Zasebni prostor« &gt; »Skrivanje zasebnega prostora, kadar je zaklenjen«"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Izklopite preklopnik »Skrivanje zasebnega prostora, kadar je zaklenjen«"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Obvestilo za zaposlene pri Googlu: Razvoj te funkcije še vedno poteka"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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">"Še naprej uporabljaj aplikacije 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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Shrani"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Prekliči"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 alarma"</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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Izboljšanje glasovnega aktiviranja"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Ta naprava uporablja zasebne podatke za izboljšanje modela glasovnega aktiviranja. Aplikacije lahko prejemajo povzetke posodobitev, zbranih od številnih uporabnikov, za varovanje zasebnosti pri izboljšanju modela za vse uporabnike.\n\n"<a href="">"Več o zasebnih podatkih"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Dodatni ponudniki"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Gesla, ključi za dostop in podatkovne storitve"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4513,7 +4776,7 @@
     <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>
@@ -4545,8 +4808,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4967,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 +5064,29 @@
     <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>
 </resources>
diff --git a/res/values-sq/arrays.xml b/res/values-sq/arrays.xml
index 5111be2..4649573 100644
--- a/res/values-sq/arrays.xml
+++ b/res/values-sq/arrays.xml
@@ -479,4 +479,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 c539fb4..cffb4c9 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Kyçja e \"Hapësirës private\""</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"\"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="5804023571114910034">"\"Shkyçja me gjurmën e gishtit\" për hapësirën private"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"\"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="7306873010565337671">"Të zgjidhet +kyçje e re për \"Hapësirën private\"?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Kyç automatikisht"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Fshih \"Hapësirën private\" kur është e kyçur"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Për të ndaluar që të tjerët të dinë se \"Hapësira private\" është në pajisjen tënde, mund ta fshehësh nga lista jote e aplikacioneve"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Qasu te \"Hapësira private\" kur është e fshehur"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Kontrollo për \"Hapësirën private\" në shiritin e kërkimit"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Trokit te pllakëza e \"Hapësirës private\""</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Shkyç \"Hapësirën 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="3075645119800272800">"Fshi \"Hapësirën private\""</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"\"Hapësira private\" u fshi me sukses"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"\"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="4377296080723608107">"Njoftimet nga aplikacionet në hapësirën private janë të fshehura kur ajo është e kyçur"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Shkyç hapësirën private për të ndarë fotografitë ose skedarët nga aplikacionet e hapësirës private"</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="1210906480024148398">"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="4258842502257201013">"Për t\'u qasur te hapësira 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Për të shfaqur \"Hapësirën private\" (UX jo përfundimtare)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Hap aplikacionin \"Cilësimet\""</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Trokit te \"Siguria dhe privatësia &gt; Hapësira private &gt; Fshih \"Hapësirën private\" kur ajo kyçet\""</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Çaktivizo butonin \"Fshih \'Hapësirën private\' kur ajo kyçet\""</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Shënim për punonjësit e Google: Zhvillimi i kësaj veçorie është ende në progres"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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">"Vazhdo të përdorësh aplikacionet në Fold"</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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Ruaj"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Anulo"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Përmirëso aktivizimin zanor"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Kjo pajisje përdor inteligjencën private për të përmirësuar modelin e aktivizimit zanor. Aplikacionet mund të marrin përditësime të përmbledhura që janë mbledhur nga shumë përdorues për të ruajtur privatësinë ndërkohë që përmirësojnë modelin për të gjithë.\n\n"<a href="">"Më shumë rreth inteligjencës private"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Ofrues 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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Fjalëkalimet, çelësat e kalimit dhe shërbimet e të dhënave"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-sr/arrays.xml b/res/values-sr/arrays.xml
index 831fbee..177bf08 100644
--- a/res/values-sr/arrays.xml
+++ b/res/values-sr/arrays.xml
@@ -479,4 +479,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 4148932..036f889 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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>
@@ -362,9 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Приватни простор"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Нека приватне апликације буду закључане и сакривене"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Чувајте приватне апликације у засебном простору који можете да сакријете или закључате"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"Закључавање приватног простора"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Можете да откључавате приватни простор исто као што откључавате уређај или да одаберете другачији тип откључавања"</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="5804023571114910034">"Откључавање отиском прста за приватни простор"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Откључавање лицем за приватни простор"</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="7306873010565337671">"Одабраћете ново закључавање за приватни простор?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Аутоматски закључај"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Аутоматски закључајте приватан простор"</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="972581369094289386">"Сакријте приватни простор кад је закључан"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Приватни простор можете да сакријете са листе апликација"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Приступите приватном простору кад је сакривен"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Потражите Приватни простор на траци за претрагу"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Додирните плочицу Приватни простор"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Откључајте приватни простор"</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="3075645119800272800">"Избриши приватни простор"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Приватни простор је избрисан"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Брисање приватног простора није успело"</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="4377296080723608107">"Обавештења из апликација у приватном простору су скривена кад је он закључан"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Откључајте приватни простор да бисте делили слике или фајлове из апликација у приватном простору"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Неке апликације су већ инсталиране у приватном простору"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"Подешавање приватног простора није успело"</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="4258842502257201013">"Да бисте приступили приватном простору, отворите листу апликација и скролујте надоле"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Готово"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Скролујте надоле да бисте пронашли приватни простор"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Да бисте приказали приватно простор (није коначни UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Отворите апликацију Подешавања"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Додирните Безбедност &amp; Приватност &gt; Приватни простор &gt; Сакријте приватни простор кад је закључан"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Прекидач Сакријте приватни простор кад је закључан"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Напомена запосленима у Google-у: Програмирање ове апликације је још у току"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Можда ће бити потребно да унесете овај приступни кôд и на другом уређају."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Потврдите ради упаривања са координисаним скупом"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Ниво батерије"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Заједничко"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Заједничка подешавања"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Сачувај"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Откажи"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Побољшавај активацију гласом"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Овај уређај користи приватна сазнања да би побољшао модел активације гласом. Апликације могу да добијају сажете новости које су обједињене за велики број корисника у циљу очувања приватности и побољшања модела за све.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Додатни добављачи услуга"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Услуге за лозинке, приступне кодове и податке"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4512,7 +4775,7 @@
     <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>
@@ -4544,8 +4807,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4966,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 +5063,29 @@
     <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>
 </resources>
diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml
index e4c73a8..949a18f 100644
--- a/res/values-sv/arrays.xml
+++ b/res/values-sv/arrays.xml
@@ -479,4 +479,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 a98ae6b..b42971a 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 till 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Privat rum"</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="3006539720164938296">"Lås privat rum"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Du kan låsa upp privat 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_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="5804023571114910034">"Fingeravtryckslås för privat rum"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Ansiktslås för privat rum"</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="7306873010565337671">"Vill du välja ett nytt lås för ditt privata rum?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Lås automatiskt"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Dölj privat rum när det är låst"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Du kan dölja privat rum i applistan så andra inte ser det"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Kom åt privat rum när det är dolt"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Sök efter privat rum i sökfältet"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Tryck på rutan för privat rum"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Lås upp ditt privata rum"</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="3075645119800272800">"Radera privat rum"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Det privata rummet har raderats"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Det gick inte att radera det privata rummet"</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="4377296080723608107">"Aviseringar från appar i privat rum döljs när det är låst"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Lås upp ditt privata rum för att dela foton eller filer från appar i det privata rummet"</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="1210906480024148398">"Det gick inte att ställa in privat rum"</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="4258842502257201013">"Om du vill få åtkomst till ditt privata rum ö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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"För att visa privat rum (Ej slutgiltig UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Öppna appen Inställningar"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Tryck på Säkerhet och integritet &gt; Privat rum &gt; Dölj privat rum när det är låst"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Inaktivera Dölj privat rum när det är låst"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Anteckning för anställda hos Google: Utvecklingen av den här funktionen pågår fortfarande"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Spara"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Avbryt"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 är oanvänd"</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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Förbättra röstaktivering"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Den här enheten använder privata uppgifter för att förbättra röstaktiveringsmodellen. Appar kan få uppdaterade sammanfattningar som har samlats in från många användare för att bevara integriteten samtidigt som modellen förbättras för alla.\n\n"<a href="">"Läs mer om privata uppgifter"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Ytterligare leverantörer"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Lösenord, nycklar och datatjänster"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-sw/arrays.xml b/res/values-sw/arrays.xml
index c448b3b..923f46e 100644
--- a/res/values-sw/arrays.xml
+++ b/res/values-sw/arrays.xml
@@ -479,4 +479,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..bb103d5 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Nafasi 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="3006539720164938296">"Mbinu ya kufunga Nafasi ya Faragha"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Unaweza kufungua Nafasi 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="5804023571114910034">"Kufungua Sehemu ya Faragha kwa Alama ya Kidole"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Kufungua Sehemu ya Faragha kwa 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="7306873010565337671">"Utachagua mbinu mpya ya kufunga Nafasi ya Faragha?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Funga kiotomatiki"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Ficha Nafasi ya Faragha wakati umefunga"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Ili Nafasi ya Faragha isionekane na wengine wanaotumia kifaa chako, ifiche kwenye orodha ya programu"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Fikia Nafasi ya Faragha wakati imefichwa"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Tafuta \'Nafasi ya Faragha\' kwenye upau wa kutafutia"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Gusa kigae cha Nafasi ya Faragha"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Fungua Nafasi 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="3075645119800272800">"Futa Nafasi ya Faragha"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Imefuta Nafasi ya Faragha"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Imeshindwa kufuta Nafasi 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="4377296080723608107">"Arifa za programu kwenye sehemu ya faragha hufichwa wakati umeifunga"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Fungua sehemu ya faragha ili ushiriki picha au faili kutoka kwenye programu zilizo katika sehemu ya faragha"</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="1210906480024148398">"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="4258842502257201013">"Ili ufikie 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Ili kuonyesha Nafasi ya Faragha (Si UX ya mwisho)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Fungua Programu ya Mipangilio"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Gusa Usalama &amp; faragha &gt; Nafasi ya Faragha &gt; Ficha Nafasi ya Faragha wakati imefungwa"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Zima kipengele cha kuwasha/kuzima mipangilio ya Ficha Nafasi ya Faragha wakati imefungwa"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Dokezo kwa WanaGoogle: Bado kipengele hiki kinatengenezwa"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Hifadhi"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Ghairi"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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">"Yaliyo 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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Boresha hatua ya kuwezesha sauti"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Kifaa hiki hutumia umahiri wa faragha kuboresha muundo wa hatua ya kuwezesha sauti. Programu zinaweza kupokea muhtasari wa taarifa zilizojumlishwa kwa watumiaji wengi ili kudumisha faragha huku ikiboresha muundo kwa kila mtu.\n\n"<a href="">"Maelezo zaidi kuhusu umahiri wa faragha"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Watoa huduma wa 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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Manenosiri, funguo za siri na huduma za data"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </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..62732a4 100644
--- a/res/values-ta/arrays.xml
+++ b/res/values-ta/arrays.xml
@@ -479,4 +479,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..c86821f 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>
@@ -113,23 +116,34 @@
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"புளூடூத் LE ஆடியோவை முடக்கு"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"LE ஆடியோ துணைப் பொருள் திறன்களைச் சாதனம் ஆதரித்தால் புளூடூத் 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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"தனிப்பட்ட சேமிப்பிடம்"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"தனிப்பட்ட ஆப்ஸை லாக் செய்தும் மறைத்தும் வைக்கலாம்"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"தனிப்பட்ட ஆப்ஸை நீங்கள் மறைக்கக்கூடிய அல்லது பூட்டக்கூடிய தனி இடத்தில் வைக்கலாம்"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"தனிப்பட்ட சேமிப்பிடப் பூட்டு"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"உங்கள் சாதனத்தை அன்லாக் செய்வதுபோலவே தனிப்பட்ட சேமிப்பிடத்தை அன்லாக் செய்யலாம் அல்லது வேறு பூட்டைத் தேர்ந்தெடுக்கலாம்"</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="5804023571114910034">"தனிப்பட்ட இடத்திற்கான கைரேகை அன்லாக்"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"தனிப்பட்ட இடத்திற்கான முகம் காட்டித் திறத்தல்"</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="7306873010565337671">"தனிப்பட்ட இடத்திற்கான புது பூட்டைத் தேர்வுசெய்யவா?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"தானாகவே பூட்டுதல்"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"ரகசிய இடத்தைத் தானாகவே பூட்டுதல்"</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="972581369094289386">"பூட்டப்பட்டிருக்கும்போது தனிப்பட்ட சேமிப்பிடத்தை மறைத்தல்"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"சாதனத்தில் உள்ள தனிப்பட்ட சேமிப்பிடத்தைப் பிறர் அறியக்கூடாதெனில், உங்கள் ஆப்ஸ் பட்டியலில் இருந்து அதை மறைக்கலாம்"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"மறைக்கப்பட்டிருக்கும்போது தனிப்பட்ட சேமிப்பிடத்தை அணுகுதல்"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"தேடல் பட்டியில் \'தனிப்பட்ட சேமிப்பிடம்\' எனத் தேடுங்கள்"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"தனிப்பட்ட சேமிப்பிடக் கட்டத்தைத் தட்டுங்கள்"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"உங்கள் தனிப்பட்ட சேமிப்பிடத்தை அன்லாக் செய்யுங்கள்"</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="3075645119800272800">"தனிப்பட்ட சேமிப்பிடத்தை நீக்குதல்"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"தனிப்பட்ட சேமிப்பிடம் நீக்கப்பட்டது"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"தனிப்பட்ட சேமிப்பிடத்தை நீக்க முடியவில்லை"</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="4377296080723608107">"தனிப்பட்ட இடம் பூட்டப்பட்டிருக்கும்போது அதிலுள்ள ஆப்ஸின் அறிவிப்புகள் மறைக்கப்படும்"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"தனிப்பட்ட இடத்தில் இருக்கும் ஆப்ஸிலுள்ள படங்களையோ ஃபைல்களையோ பகிர தனிப்பட்ட இடத்தை அன்லாக் செய்யுங்கள்"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"உங்கள் தனிப்பட்ட இடத்தில் ஏற்கெனவே சில ஆப்ஸ் நிறுவப்பட்டுள்ளன"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"தனிப்பட்ட இடத்தை அமைக்க முடியவில்லை"</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="4258842502257201013">"உங்கள் தனிப்பட்ட இடத்தை அணுக, ஆப்ஸ் பட்டியலுக்குச் சென்று கீழே நகர்த்துங்கள்"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"முடிந்தது"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"தனிப்பட்ட இடத்தைக் கண்டறிய கீழே நகர்த்துங்கள்"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"தனிப்பட்ட சேமிப்பிடத்தைக் காட்ட (இறுதி பயனர் அனுபவம் அல்ல)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"அமைப்புகள் ஆப்ஸைத் திறக்கவும்"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"\'பாதுகாப்பு &amp; தனியுரிமை &gt; தனிப்பட்ட சேமிப்பிடம் &gt; பூட்டியிருக்கையில் தனிப்பட்ட சேமிப்பிடத்தை மறை\' என்பதைத் தட்டவும்"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"\'பூட்டியிருக்கையில் தனிப்பட்ட சேமிப்பிடத்தை மறை\' என்பதை முடக்கவும்"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Googlerகளின் கவனத்திற்கு: இந்த அம்சத்தின் மேம்பாடு இன்னும் செயலில் உள்ளது"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"நீங்கள் இந்தக் கடவுச்சொல்லை வேறொரு சாதனத்திலும் உள்ளிட வேண்டியிருக்கலாம்."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"ஒருங்கிணைக்கப்பட்ட தொகுப்பில் உள்ள சாதனங்களுடன் இணைப்பதை உறுதிசெய்துகொள்ளுங்கள்"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"பேட்டரி நிலை"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"சமூகம்"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"சமூக அமைப்புகள்"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"சேமி"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ரத்துசெய்"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"குரல் மூலம் செயல்படுத்துதலை மேம்படுத்து"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"குரல் மூலம் செயல்படுத்தும் மாடலை மேம்படுத்த இந்தச் சாதனம் தனிப்பட்ட நுண்ணறிவைப் பயன்படுத்துகிறது. மாடலை அனைவருக்கும் மேம்படுத்தும்போது தனியுரிமையைப் பராமரிக்க, பல பயனர்களிடமிருந்து தொகுக்கப்பட்ட சுருக்கமான புதுப்பிப்புகளை ஆப்ஸ் பெறலாம்.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"கூடுதல் வழங்குநர்கள்"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"கடவுச்சொற்கள், கடவுச்சாவிகள் மற்றும் தரவுச் சேவைகள்"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-te/arrays.xml b/res/values-te/arrays.xml
index 0f9d73c..88c51f0 100644
--- a/res/values-te/arrays.xml
+++ b/res/values-te/arrays.xml
@@ -479,4 +479,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 807e15b..e7aa757 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>
@@ -113,23 +116,34 @@
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"బ్లూటూత్ LE ఆడియోను డిజేబుల్ చేయండి"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"పరికరం LE ఆడియో హార్డ్‌వేర్ సామర్థ్యాలను సపోర్ట్ చేస్తే బ్లూటూత్ 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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"ప్రైవేట్ స్పేస్"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ప్రైవేట్ యాప్‌లను లాక్ చేసి దాచి ఉంచండి"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"మీరు దాచడానికి లేదా లాక్ చేయడానికి వీలు ఉండే ప్రత్యేక స్పేస్‌లో ప్రైవేట్ యాప్‌లను ఉంచండి"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"ప్రైవేట్ స్పేస్ లాక్"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"మీరు మీ పరికరాన్ని ఎలా అయితే అన్‌లాక్ చేస్తారో, అలాగే ప్రైవేట్ స్పేస్‌ను అన్‌లాక్ చేయవచ్చు, లేదా వేరే లాక్‌ను ఎంచుకోవచ్చు"</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="5804023571114910034">"ప్రైవేట్ స్పేస్ కోసం వేలిముద్ర అన్‌లాక్"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"ప్రైవేట్ స్పేస్ కోసం ఫేస్ అన్‌లాక్"</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="7306873010565337671">"ప్రైవేట్ స్పేస్ కోసం కొత్త లాక్‌ను ఎంచుకోవాలా?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"ఆటోమేటిక్‌గా లాక్ చేయండి"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"ప్రైవేట్ స్పేస్‌ను ఆటోమేటిక్‌గా లాక్ చేయండి"</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="972581369094289386">"లాక్ చేయబడినప్పుడు ప్రైవేట్ స్పేస్‌ను దాచండి"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"మీ పరికరంలో ప్రైవేట్ స్పేస్ ఉందని ఇతర వ్యక్తులకు తెలియకుండా ఆపడానికి, మీరు దానిని మీ యాప్‌ల లిస్ట్‌లో దాచవచ్చు"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"దాచినప్పుడు ప్రైవేట్ స్పేస్‌ను యాక్సెస్ చేయండి"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"సెర్చ్ బార్‌లో \'ప్రైవేట్ స్పేస్\' కోసం సెర్చ్ చేయండి"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"ప్రైవేట్ స్పేస్ టైల్‌ను ట్యాప్ చేయండి"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"మీ ప్రైవేట్ స్పేస్‌ను అన్‌లాక్ చేయండి"</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="3075645119800272800">"ప్రైవేట్ స్పేస్‌ను తొలగించండి"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"ప్రైవేట్ స్పేస్ విజయవంతంగా తొలగించబడింది"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"ప్రైవేట్ స్పేస్‌ను తొలగించడం సాధ్యం కాలేదు"</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="4377296080723608107">"ప్రైవేట్ స్పేస్ లాక్ అయ్యి ఉన్నప్పుడు, అందులోని యాప్‌ల నుండి నోటిఫికేషన్‌లు రావు"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"ప్రైవేట్ స్పేస్‌ను అన్‌లాక్ చేసి, ప్రైవేట్ స్పేస్ యాప్‌లలోని ఫోటోలు లేదా ఫైల్స్‌ను షేర్ చేయండి"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"కొన్ని యాప్‌లు ఇప్పటికే మీ ప్రైవేట్ స్పేస్‌లో ఇన్‌స్టాల్ అయి ఉంటాయి"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"ప్రైవేట్ స్పేస్‌ను సెటప్ చేయడం సాధ్యపడలేదు"</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="4258842502257201013">"మీ ప్రైవేట్ స్పేస్‌ను యాక్సెస్ చేయడానికి, మీ యాప్‌ల లిస్ట్‌కు వెళ్లి, తర్వాత కిందికి స్క్రోల్ చేయండి"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"పూర్తయింది"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"కిందికి స్క్రోల్ చేసి ప్రైవేట్ స్పేస్‌ను కనుగొనండి"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"ప్రైవేట్ స్పేస్‌ను చూపించడానికి (ఫైనల్ UX కాదు)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"సెట్టింగ్‌లు యాప్‌ను తెరవండి"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"సెక్యూరిటీ, గోప్యత, ప్రైవేట్ స్పేస్‌లను ట్యాప్ చేయండి; లాక్ చేయబడినప్పుడు ప్రైవేట్ స్పేస్‌ను దాచండి"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"టోగుల్‌ను లాక్ చేస్తే \'ప్రైవేట్ స్పేస్ చూపద్దు\'ను ఆఫ్ చేయండి"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Google ఉద్యోగులకు గమనిక: ఈ ఫీచర్‌ను డెవలప్ చేయడం ఇంకా ప్రోగ్రెస్‌లో ఉంది"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"మీరు ఈ పాస్‌కీని ఇతర పరికరంలో కూడా టైప్ చేయాల్సి రావచ్చు."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"కోఆర్డినేటెడ్ సెట్‌తో పెయిర్ చేయడానికి నిర్ధారించండి"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"బ్యాటరీ స్థాయి"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"కమ్యూనల్"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"కమ్యూనల్ సెట్టింగ్‌లు"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"సేవ్ చేయండి"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"రద్దు చేయండి"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"వాయిస్ యాక్టివేషన్‌ను మెరుగుపరచండి"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"వాయిస్ యాక్టివేషన్ మోడల్‌ను మెరుగుపరచడానికి ఈ పరికరం ప్రైవేట్ ఇంటెలిజెన్స్‌ను ఉపయోగిస్తుంది. అందరికీ మోడల్‌ను మెరుగుపరిచేటప్పుడు గోప్యతను నిర్వహించడానికి చాలా మంది యూజర్‌లలో సమగ్రమైన అప్‌డేట్‌లను యాప్‌లు స్వీకరించగలవు.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"అదనపు ప్రొవైడర్‌లు"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"పాస్‌వర్డ్‌లు, పాస్-కీలు, అలాగే డేటా సర్వీస్‌లు"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-th/arrays.xml b/res/values-th/arrays.xml
index dd07c77..a9bb803 100644
--- a/res/values-th/arrays.xml
+++ b/res/values-th/arrays.xml
@@ -479,4 +479,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..a24276d 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"พื้นที่ส่วนตัว"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ล็อกและซ่อนแอปส่วนตัวไว้"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"เก็บแอปส่วนตัวไว้ในพื้นที่แยกต่างหากซึ่งคุณจะซ่อนหรือล็อกได้"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"การล็อกพื้นที่ส่วนตัว"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"คุณจะปลดล็อกพื้นที่ส่วนตัวได้โดยใช้วิธีเดียวกับที่คุณปลดล็อกอุปกรณ์ หรือเลือกการล็อกอื่น"</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="5804023571114910034">"การปลดล็อกด้วยลายนิ้วมือสำหรับพื้นที่ส่วนตัว"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"การปลดล็อกด้วยใบหน้าสำหรับพื้นที่ส่วนตัว"</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="7306873010565337671">"เลือกการล็อกใหม่สำหรับพื้นที่ส่วนตัวไหม"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"ล็อกโดยอัตโนมัติ"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"ล็อกพื้นที่ส่วนตัวโดยอัตโนมัติ"</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="972581369094289386">"ซ่อนพื้นที่ส่วนตัวเมื่อล็อกไว้"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"คุณซ่อนพื้นที่ส่วนตัวจากรายการแอปได้ เพื่อไม่ให้คนอื่นรู้ว่ามีพื้นที่ส่วนตัวอยู่ในอุปกรณ์ของคุณ"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"เข้าถึงพื้นที่ส่วนตัวเมื่อซ่อนไว้"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"ค้นหา \"พื้นที่ส่วนตัว\" ในแถบค้นหา"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"แตะการ์ดพื้นที่ส่วนตัว"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"ปลดล็อกพื้นที่ส่วนตัว"</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="3075645119800272800">"ลบพื้นที่ส่วนตัว"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"ลบพื้นที่ส่วนตัวเรียบร้อยแล้ว"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"ลบพื้นที่ส่วนตัวไม่ได้"</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="4377296080723608107">"การแจ้งเตือนจากแอปในพื้นที่ส่วนตัวจะถูกซ่อนเมื่อล็อกไว้"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"ปลดล็อกพื้นที่ส่วนตัวเพื่อแชร์รูปภาพหรือไฟล์จากแอปในพื้นที่ส่วนตัว"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"แอปบางแอปได้รับการติดตั้งในพื้นที่ส่วนตัวอยู่แล้ว"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"ตั้งค่าพื้นที่ส่วนตัวไม่ได้"</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="4258842502257201013">"หากต้องการเข้าถึงพื้นที่ส่วนตัว ให้ไปที่รายการแอปแล้วเลื่อนลงไปด้านล่าง"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"เสร็จสิ้น"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"เลื่อนลงเพื่อค้นหาพื้นที่ส่วนตัว"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"เพื่อแสดงพื้นที่ส่วนตัว (ไม่ใช่ UX สุดท้าย)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"เปิดแอปการตั้งค่า"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"แตะความปลอดภัยและความเป็นส่วนตัว &gt; พื้นที่ส่วนตัว &gt; ซ่อนพื้นที่ส่วนตัวเมื่อล็อกไว้"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"ปิดปุ่มสลับ \"ซ่อนพื้นที่ส่วนตัวเมื่อล็อกไว้\""</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"หมายเหตุถึง Googler: ฟีเจอร์นี้อยู่ระหว่างการพัฒนา"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"คุณอาจจำเป็นต้องพิมพ์รหัสผ่านนี้ลงในอุปกรณ์อีกเครื่องหนึ่งด้วยเช่นกัน"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"ยืนยันการจับคู่กับชุดที่ทำงานร่วมกัน"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ระดับแบตเตอรี่"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"ส่วนกลาง"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"การตั้งค่าส่วนกลาง"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"บันทึก"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ยกเลิก"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"ปรับปรุงการเปิดใช้งานด้วยเสียง"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"อุปกรณ์นี้ใช้ข้อมูลเชิงวิเคราะห์ส่วนตัวเพื่อปรับปรุงโมเดลการเปิดใช้งานด้วยเสียง แอปจะรับข้อมูลอัปเดตแบบสรุปที่รวบรวมมาจากผู้ใช้จำนวนมากเพื่อรักษาความเป็นส่วนตัวขณะที่ปรับปรุงโมเดลสำหรับทุกคน\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"ผู้ให้บริการเพิ่มเติม"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"รหัสผ่าน พาสคีย์ และบริการอินเทอร์เน็ต"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-tl/arrays.xml b/res/values-tl/arrays.xml
index f9ef5e2..a3c1d5a 100644
--- a/res/values-tl/arrays.xml
+++ b/res/values-tl/arrays.xml
@@ -479,4 +479,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..27548759 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Lock ng Pribadong Space"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Puwede mong i-unlock ang Pribadong Space sa parehong paraan kung paano mo i-unlock ang iyong device, 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="5804023571114910034">"Pag-unlock Gamit ang Fingerprint para sa Pribadong Space"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Pumili ng bagong lock para sa Pribadong Space?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Awtomatikong i-lock"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Itago ang Pribadong Space kapag naka-lock"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"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="982809349769470185">"I-access ang Pribadong Space kapag nakatago"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Hanapin ang \'Pribadong Space\' sa search bar"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"I-tap ang tile ng Pribadong Space"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"I-delete ang Pribadong Space"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Na-delete ang Pribadong Space"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Hindi ma-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="4377296080723608107">"Nakatago ang mga notification mula sa mga app sa pribadong space kapag naka-lock ito"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"I-unlock ang iyong pribadong space para magbahagi ng mga larawan o file mula sa mga app sa pribadong space"</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="1210906480024148398">"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="4258842502257201013">"Para ma-access 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Para ipakita ang Pribadong Space (Hindi final na UX)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Buksan ang App na Mga Setting"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Mag-tap sa Seguridad at privacy &gt; Pribadong Space &gt; I-hide ang Pribadong Space kapag naka-lock"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Toggle: I-off ang I-hide ang Pribadong Space kapag naka-lock"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Paalala sa mga Googler: Dine-develop pa ang feature na ito"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"I-save"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Kanselahin"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Pahusayin ang pag-activate gamit ang boses"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Gumagamit ang device ng pribadong intelligence para mapahusay ang modelo ng pag-activate gamit ang boses. Puwedeng makatanggap ang mga app ng mga nakabuod na update na pinagsama-sama sa maraming user para mapanatili ang privacy habang pinapahusay ang modelo para sa lahat.\n\n"<a href="">"Higit pa tungkol sa pribadong intelligence"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Mga karagdagang provider"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Mga password, passkey, at serbisyo sa data"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml
index 5892ae1..cb4447e 100644
--- a/res/values-tr/arrays.xml
+++ b/res/values-tr/arrays.xml
@@ -479,4 +479,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 3c3a0ba..7f34a1b 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>
@@ -113,23 +116,34 @@
     <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_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 basma"</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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Gizli 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="3006539720164938296">"Gizli alan kilidi"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Gizli 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="5804023571114910034">"Özel alan için Parmak İzi Kilidi"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Ö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="7306873010565337671">"Gizli alan için yeni bir kilit seçilsin mi?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Otomatik olarak kilitleyin"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Ö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="972581369094289386">"Kilitli olduğunda gizli alanı gizle"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Başkalarının, cihazınızda gizli alan olduğunu bilmesini önlemek için bunu uygulama listenizde gizleyin"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Gizli olduğunda gizli alana erişin"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Arama çubuğuna \"Gizli alan\" yazın"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Gizli alan kutusuna dokunun"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Gizli 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="3075645119800272800">"Gizli alanı sil"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Gizli alan silindi"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Gizli 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="4377296080723608107">"Kilitli olduğunda özel alandaki uygulamaların gönderdiği bildirimler gizlenir"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Özel alan uygulamalarındaki 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="1210906480024148398">"Ö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="4258842502257201013">"Ö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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Gizli alanı göstermek için (Nihai kullanıcı deneyimi değil)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Ayarlar uygulamasını açın"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Güvenlik ve gizlilik &gt; Gizli Alan &gt; Kilitli olduğunda gizli alanı gizle\'ye dokunun"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"\"Kilitli olduğunda gizli alanı gizle\" ayarını kapat düğmesi"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Google çalışanlarına not: Bu özellik hâlâ geliştirme aşamasındadır"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Kaydet"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"İptal"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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> arası pil kullanımı"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Son tam şarjdan sonraki ekran süresi"</string>
@@ -2461,8 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Sesli etkinleştirmeyi iyileştir"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Bu cihaz, sesli etkinleştirme modelini iyileştirmek için gizli bilgileri kullanır. Uygulamalar, modeli herkes için iyileştirirken gizliliği de korumak üzere birçok kullanıcıdan toplanan özetlenmiş güncellemeler alabilir.\n\n"<a href="">"Gizli bilgiler 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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Ek sağlayıcılar"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Şifreler, geçiş anahtarları ve veri hizmetleri"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-uk/arrays.xml b/res/values-uk/arrays.xml
index a4f69f8..43c4c5f 100644
--- a/res/values-uk/arrays.xml
+++ b/res/values-uk/arrays.xml
@@ -479,4 +479,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..2fb55ad 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Приватний простір"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Зберігайте приватні додатки в прихованому й заблокованому сховищі"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Зберігайте приватні додатки в окремому просторі, який можна приховати або заблокувати"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"Блокування приватного простору"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Ви можете розблоковувати приватний простір так само, як і свій пристрій, або вибрати інший спосіб розблокування"</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="5804023571114910034">"Розблокування відбитком пальця для особистого простору"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Фейс-контроль для особистого простору"</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="7306873010565337671">"Вибрати нове блокування приватного простору?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Блокувати автоматично"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Автоматичне блокування приватного простору"</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="972581369094289386">"Приховати приватний простір, коли його заблоковано"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Приховайте приватний простір зі списку додатків, щоб ніхто не дізнався про його наявність на пристрої"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Отримуйте доступ до приватного простору, коли його приховано"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"У рядку пошуку введіть \"приватний простір\""</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Натисніть панель \"Приватний простір\""</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Розблокуйте приватний простір"</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="3075645119800272800">"Видалити приватний простір"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Приватний простір видалено"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Не вдалося видалити приватний простір"</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="4377296080723608107">"Сповіщення додатків у приватному просторі приховуються, коли його заблоковано"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Щоб ділитися фотографіями або файлами з додатків особистого простору, розблокуйте його"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Деякі додатки вже встановлено в приватному просторі"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"Не вдалося налаштувати приватний простір"</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="4258842502257201013">"Щоб отримати доступ до приватного простору, перейдіть до списку додатків і прокрутіть сторінку вниз"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Готово"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Прокрутіть сторінку вниз, щоб знайти приватний простір"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Показувати приватний простір (неостаточна версія)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Відкрийте додаток Налаштування"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Виберіть \"Безпека й конфіденційність\" &gt; \"Приватний простір\" &gt; \"Приховати приватний простір, коли його заблоковано\""</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Вимкніть \"Приховати приватний простір, коли його заблоковано\""</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Примітка для працівників компанії Google: розробка цієї функції ще триває"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Також потрібно ввести цей ключ доступу на іншому пристрої."</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Підтвердьте, щоб підключатися до набору узгоджених пристроїв"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Рівень заряду акумулятора"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Для спільного використання"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Налаштування для спільного використання"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Зберегти"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Скасувати"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Покращувати активацію голосом"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Цей пристрій використовує приватну інформацію, щоб покращувати модель активації голосом. Додатки можуть отримувати зведені узагальнені дані від різних користувачів, щоб підтримувати конфіденційність і водночас покращувати модель для всіх.\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Інші постачальники"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Сервіси керування паролями, ключами доступу й даними"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4513,7 +4776,7 @@
     <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>
@@ -4545,8 +4808,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4967,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 +5064,29 @@
     <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>
 </resources>
diff --git a/res/values-ur/arrays.xml b/res/values-ur/arrays.xml
index d469c60..6a1220e 100644
--- a/res/values-ur/arrays.xml
+++ b/res/values-ur/arrays.xml
@@ -479,4 +479,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..9841041 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>
@@ -113,23 +116,34 @@
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"‏بلوٹوتھ LE آڈیو غیر فعال کریں"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"‏اگر آلہ LE آڈیو ہارڈویئر کی صلاحیتوں کو سپورٹ کرتا ہے تو یہ بلوٹوتھ 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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"نجی اسپیس"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"نجی ایپس کو مقفل اور پوشیدہ رکھیں"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"نجی ایپس کو الگ اسپیس میں رکھیں جنہیں آپ پوشیدہ یا مقفل کر سکتے ہیں"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"نجی اسپیس لاک"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"آپ نجی اسپیس کو اسی طرح غیر مقفل کر سکتے ہیں جس طرح آپ اپنے آلے کو غیر مقفل کرتے ہیں یا ایک مختلف قفل کا انتخاب سکتے ہیں"</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="5804023571114910034">"پرائیویٹ اسپیس کے لیے فنگر پرنٹ اَن لاک"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"پرائیویٹ اسپیس کے لیے فیس اَنلاک"</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="7306873010565337671">"نجی اسپیس کے لیے نیا لاک منتخب کریں؟"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"خودکار طور پر مقفل کریں"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"پرائیویٹ اسپیس کو خودکار طور پر مقفل کریں"</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="972581369094289386">"مقفل ہونے پر نجی اسپیس چھپائیں"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"دیگر لوگوں کو معلوم نہ ہوں کہ آپ کے آلے پر نجی اسپیس ہے، آپ اسے اپنی ایپس کی فہرست سے چھپا سکتے ہیں"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"پوشیدہ ہونے پر نجی اسپیس تک رسائی حاصل کریں"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"تلاش بار میں \'نجی اسپیس\' تلاش کریں"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"نجی اسپیس ٹائل پر تھپتھپائیں"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"اپنی نجی اسپیس کو غیر مقفل کریں"</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="3075645119800272800">"نجی اسپیس حذف کریں"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"نجی اسپیس کامیابی کے ساتھ حذف ہو گئی"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"نجی اسپیس کو حذف نہیں کیا جا سکا"</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="4377296080723608107">"نجی اسپیس میں موجود ایپس کے مقفل ہونے پر ان کی اطلاعات پوشیدہ ہو جاتی ہیں"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"پرائیویٹ اسپیس ایپس سے تصاویر یا فائلز کا اشتراک کرنے کے لیے پرائیویٹ اسپیس کو غیر مقفل کریں"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"کچھ ایپس آپ کی نجی اسپیس میں پہلے سے ہی انسٹال ہیں"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"نجی اسپیس سیٹ اپ نہیں کی جا سکی"</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="4258842502257201013">"اپنی نجی اسپیس تک رسائی حاصل کرنے کے لیے، اپنی ایپس کی فہرست پر جائیں پھر نیچے اسکرول کریں"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"ہو گیا"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"نجی اسپیس تلاش کرنے کے لیے نیچے اسکرول کریں"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"‏نجی اسپیس دکھانے کے لیے (حتمی UX نہیں)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"ترتیبات ایپ کھولیں"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"‏سیکیورٹی &amp; رازداری &gt; نجی اسپیس &gt; مقفل ہونے پر نجی اسپیس چھپائیں پر تھپتھپائیں"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"مقفل ہونے پر نجی اسپیس کو چھپائیں ٹوگل کو آف کریں"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"‏Googlers کے لیے نوٹ: اس خصوصیت کی ڈویلپمنٹ ابھی بھی پیشرفت میں ہے"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"آپ کو دیگر آلہ پر بھی اس پاس کلید کو ٹائپ کرنے کی ضرورت ہو سکتی ہے۔"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"مربوط سیٹ کے ساتھ جوڑا بنانے کی تصدیق کریں"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"بیٹری کی سطح"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"کمیونل"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"کمیونل ترتیبات"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"محفوظ کریں"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"منسوخ کریں"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"آواز کی فعالیت کو بہتر بنائیں"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"یہ آلہ آواز کی فعالیت کے ماڈل کو بہتر بنانے کے لیے نجی ذہانت کا استعمال کرتا ہے۔ ایپس خلاصہ شدہ اپ ڈیٹس حاصل کر سکتی ہیں جو کہ بہت سے صارفین کے درمیان جمع کی جاتی ہیں تاکہ ہر ایک کے لیے ماڈل کو بہتر بناتے ہوئے رازداری کو برقرار رکھا جا سکے۔\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"اضافی فراہم کنندگان"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"پاس ورڈز، پاس کیز اور ڈیٹا سروسز"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-uz/arrays.xml b/res/values-uz/arrays.xml
index 1038caa..c5a3dac 100644
--- a/res/values-uz/arrays.xml
+++ b/res/values-uz/arrays.xml
@@ -479,4 +479,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..923c826 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">"Davom etish uchun tepaga suring"</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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"Maxfiy joy"</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="3006539720164938296">"Maxfiy joy qulfi"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Maxfiy joyni qurilmangizniki bilan ayni usulda qulfdan chiqarishingiz mumkin yoki boshqa qulf tanlang"</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="5804023571114910034">"Maxfiy joyni barmoq izi bilan ochish"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"Maxfiy joyni 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="7306873010565337671">"Maxfiy joy uchun yangi qulf yaratilsinmi?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Avtomatik qulflash"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Qulflanganida Maxfiy joyni berkitish"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Qurilmada Xavfsiz joy borligini boshqalar bilmasligi uchun ilovalar roʻyxatidan yashirish mumkin"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Berkitilganida Maxfiy joyga kirish"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Qidiruv satrida \"Maxfiy joy\"ni qidiring"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Maxfiy joy katakchaisni bosing"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Maxfiiy joyni 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="3075645119800272800">"Maxfiy joyni oʻchirish"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Maxfiy joy oʻchirildi"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Maxfiy joy oʻchmadi"</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="4377296080723608107">"Qulflanganida maxfiy joydagi ilovalardan bildirishnomalar berkitiladi"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Maxfiy joy ilovalaridan rasm yoki fayl ulashish uchun maxfiy joy 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="1210906480024148398">"Maxfiy joy 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="4258842502257201013">"Maxfiy joyga 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Maxfiy joyni chiqarish uchun (yakuniy interfeys emas)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Sozlamalar ilovasini ochish"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Sozlamalar &gt; Maxfiylik &gt; Maxfiy joy &gt; Qulflanganda Maxfiy joyni berkitish ustiga bosing"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Quflanganda Maxfiy joyni berkitish sozlamasini faolsizlantirish"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Googlerlar diqqatiga: Bu funksiya hali ham ishlab chiqish jarayonida"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Saqlash"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Bekor qilish"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Ovoz bilan faollashtirishni yaxshilang"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Ovozli faollashtirish modelini yaxshilash uchun ushbu qurilma shaxsiy maʼlumotlardan foydalanadi. Ilovalar koʻp sonli foydalanuvchilarning umumiy maʼlumotlarini olishlari mumkin. Bu bizga maxfiylikni taʼminlash va barcha uchun modelni yaxshilash imkonini beradi.\n\n"<a href="">"Shaxsiy maʼlumotlar 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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Qoʻshimcha taʼminotchilar"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Parollar, kalitlar va maʼlumot xizmatlari"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-vi/arrays.xml b/res/values-vi/arrays.xml
index afbf7b3..d29136c 100644
--- a/res/values-vi/arrays.xml
+++ b/res/values-vi/arrays.xml
@@ -479,4 +479,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 c5f9f59..96c1ff4 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Khoá không gian riêng tư"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"Bạn có thể mở khoá Không gian riêng tư giống như cách 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="5804023571114910034">"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="6613018437620070183">"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="7306873010565337671">"Chọn một khoá mới cho Không gian riêng tư?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Tự động khoá"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"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="972581369094289386">"Ẩn Không gian riêng tư khi khoá"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Ẩn Không gian riêng tư khỏi các ứng dụng để không ai biết"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Truy cập Không gian riêng tư khi tính năng này đang ẩn"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Tìm kiếm \"Không gian riêng tư\" trong thanh tìm kiếm"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Nhấn vào ô Không gian riêng tư"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"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="3075645119800272800">"Xoá Không gian riêng tư"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Đã xoá xong Không gian riêng tư"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"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="4377296080723608107">"Thông báo của các ứng dụng trong không gian riêng tư sẽ bị ẩn khi tính năng này đang khoá"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Mở khoá không gian riêng tư để chia sẻ ảnh hoặc tệp từ các ứng dụng trong không gian riêng tư"</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="1210906480024148398">"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="4258842502257201013">"Để truy cập không gian riêng tư của bạn, hãy mở danh sách ứng dụng rồi di chuyể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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Cách cho hiện Không gian riêng tư (Không phải UX chính thức)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Mở ứng dụng Cài đặt"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Nhấn vào Bảo mật và quyền riêng tư &gt; Không gian riêng tư &gt; Ẩn Không gian riêng tư khi khoá"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Chuyển nút \"Ẩn Không gian riêng tư khi khoá\" sang tắt"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Ghi chú dành cho nhân viên của Google: Tính năng này vẫn đang trong quá trình phát triển"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <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>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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>
@@ -3677,6 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Cải thiện tính năng kích hoạt bằng giọng nói"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Thiết bị này sử dụng hiểu biết riêng tư để cải thiện mô hình kích hoạt bằng giọng nói. Các ứng dụng có thể nhận được nội dung cập nhật tóm tắt và tổng hợp từ nhiều người dùng để đảm bảo quyền riêng tư trong khi vẫn có thể cải thiện mô hình này cho mọi người.\n\n"<a href="">"Tìm hiểu thêm về hiểu biết riêng tư"</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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Các nhà cung cấp khác"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Dịch vụ dữ liệu, khoá truy cập và mật khẩu"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml
index 0da27b1..fb9d893 100644
--- a/res/values-zh-rCN/arrays.xml
+++ b/res/values-zh-rCN/arrays.xml
@@ -479,4 +479,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..07b43e4 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>
@@ -113,23 +116,34 @@
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"停用蓝牙 LE 音频"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"如果设备支持 LE 音频硬件功能，则停用蓝牙 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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"私密空间"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"让私密应用保持锁定状态并隐藏"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"将私密应用放在可以隐藏或锁定的独立空间中"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"私密空间锁定"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"您可以像解锁设备一样解锁私密空间，也可以选择其他锁定方式"</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="5804023571114910034">"使用指纹解锁私密空间"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"使用人脸解锁私密空间"</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="7306873010565337671">"选择用于锁定私密空间的新方式？"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"自动锁定"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"自动锁定私密空间"</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="972581369094289386">"隐藏锁定的私密空间"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"如要防止其他人知道您的设备上有私密空间，您可以从应用列表中隐藏该空间"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"访问隐藏的私密空间"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"在搜索栏中搜索“私密空间”"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"点按私密空间功能块"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"解锁您的私密空间"</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="3075645119800272800">"删除私密空间"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"已成功删除私密空间"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"无法删除私密空间"</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="4377296080723608107">"私密空间处于锁定状态时，系统会隐藏私密空间中应用的通知"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"解锁私密空间，即可分享私密空间应用中的照片或文件"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"某些应用已经安装在私密空间中"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"无法设置私密空间"</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="4258842502257201013">"若要访问私密空间，请前往应用列表，然后向下滚动"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"完成"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"向下滚动可找到私密空间"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"显示私密空间（非最终用户体验）"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"打开“设置”应用"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"依次点按“安全和隐私”&gt;“私密空间”&gt;“隐藏锁定的私密空间”"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"关闭“隐藏锁定的私密空间”切换开关"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Google 员工请注意：此功能的开发仍在进行中"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"您可能还需要在另一台设备上输入此通行密钥。"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"确认与协调组配对"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"电池电量"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"共用"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"通用设置"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"保存"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"取消"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"改进语音启动"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"此设备使用私人情报改进语音启动模型。应用可接收从众多用户处汇总的最新动态摘要，从而在维护隐私的同时为所有用户改进此模型。\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"其他提供方"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"密码、通行密钥和数据服务"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-zh-rHK/arrays.xml b/res/values-zh-rHK/arrays.xml
index 2e9de69..5465990 100644
--- a/res/values-zh-rHK/arrays.xml
+++ b/res/values-zh-rHK/arrays.xml
@@ -479,4 +479,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 ee9bfc2..17d31bd 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"私人空間"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"讓私人應用程式保持鎖定及隱藏"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"將私人應用程式安裝在可隱藏或鎖定的獨立空間"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"「私人空間」鎖定"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"你可使用解鎖裝置的方式來解鎖「私人空間」，或選擇其他鎖定方式"</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="5804023571114910034">"使用指紋解鎖私人空間"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"使用面孔解鎖私人空間"</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="7306873010565337671">"要為「私人空間」選擇新的鎖定方式嗎？"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"自動上鎖"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"自動鎖定私人空間"</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="972581369094289386">"在鎖定時隱藏「私人空間」"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"如要防止其他使用者知道裝置上有「私人空間」，可以從應用程式清單中隱藏該空間"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"存取隱藏的「私人空間」"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"在搜尋列中搜尋「私人空間」"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"輕按「私人空間」圖塊"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"解鎖「私人空間」"</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="3075645119800272800">"刪除「私人空間」"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"已成功刪除「私人空間」"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"無法刪除「私人空間」"</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="4377296080723608107">"私人空間處於鎖定狀態時，系統會隱藏私人空間應用程式的通知"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"解鎖私人空間，即可分享來自私人空間應用程式的相片或檔案"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"部分應用程式已安裝在私人空間內"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"無法設定私人空間"</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="4258842502257201013">"如要存取的私人空間，請前往應用程式清單並向下捲動畫面"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"完成"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"向下捲動以尋找私人空間"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"顯示「私人空間」(不是最終版本的使用者體驗)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"開啟「設定」應用程式"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"輕按 [安全性和私隱權] &gt; [私人空間] &gt; [在鎖定時「隱藏私人空間」]"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"關閉「在鎖定時隱藏『私人空間』」切換按鈕"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Google 員工注意事項：此功能仍在開發中"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"你可能也必須在另一部裝置上輸入這個密碼金鑰。"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"確認與協調組合配對"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"電量"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"共用"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"共用設定"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"儲存"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"取消"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"改善語音啟用功能"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"為提升語音啟動模型的品質，此裝置會使用私人資料技術。應用程式可接收由多名使用者的資料彙整而成的更新摘要，為所有人改善模型的同時，也保障使用者的私隱。\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"其他供應商"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"密碼、密鑰及資料服務"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
index 406bdcf..b358037 100644
--- a/res/values-zh-rTW/arrays.xml
+++ b/res/values-zh-rTW/arrays.xml
@@ -479,4 +479,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..5c70617 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"私人空間"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"讓私人應用程式保持鎖定及隱藏的狀態"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"將私人應用程式安裝在可隱藏或鎖定的獨立空間"</string>
+    <string name="private_space_lock_title" msgid="3006539720164938296">"私人空間鎖定"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"你可以用解鎖裝置的方式來解鎖私人空間，或選擇其他鎖定設定"</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="5804023571114910034">"使用指紋解鎖私人空間"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"使用人臉解鎖私人空間"</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="7306873010565337671">"要選擇鎖定私人空間的新設定嗎？"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"自動鎖定"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"自動鎖定私人空間"</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="972581369094289386">"隱藏鎖定的私人空間"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"如要防止其他使用者知道裝置上有私人空間，可以從應用程式清單中隱藏該空間"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"存取隱藏的私人空間"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"在搜尋列中搜尋「私人空間」"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"輕觸私人空間設定方塊"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"解鎖私人空間"</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="3075645119800272800">"刪除私人空間"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"成功刪除私人空間"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"無法刪除私人空間"</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="4377296080723608107">"私人空間鎖定時，系統會隱藏來自私人空間應用程式的通知"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"解鎖私人空間後，就能分享來自私人空間應用程式的相片或檔案"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"部分應用程式已安裝在私人空間內"</string>
+    <string name="private_space_error_screen_title" msgid="1210906480024148398">"無法設定私人空間"</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="4258842502257201013">"如要存取私人空間，請前往應用程式清單並向下捲動畫面"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"完成"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"向下捲動畫面即可找到私人空間"</string>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"顯示私人空間 (非最終使用者體驗版本)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"開啟「設定」應用程式"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"依序輕觸「安全性與隱私權」&gt;「私人空間」&gt;「隱藏鎖定的私人空間」"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"關閉「隱藏鎖定的私人空間」切換按鈕"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Google 員工注意事項：這項功能仍在開發中"</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>
@@ -648,13 +780,15 @@
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"你可能也必須在另一個裝置上輸入這個密碼金鑰。"</string>
     <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"確認與協同組配對"</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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <string name="battery_level_title" msgid="1371765298786083448">"電池電量"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"共通"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"共通設定"</string>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1416,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 +1425,14 @@
     <string name="menu_save" msgid="6611465355127483100">"儲存"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"取消"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1445,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1454,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1498,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 +1505,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 +1512,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 +1694,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1757,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 +1846,14 @@
     <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="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>
@@ -1789,7 +1951,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 +2015,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 +2040,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 +2069,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 +2090,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 +2107,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 +2161,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 +2298,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 +2321,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 +2362,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 +2407,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>
@@ -2253,7 +2424,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2465,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 +2509,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 +2517,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 +2637,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 +2725,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 +2775,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 +2822,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 +2957,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>
@@ -2948,7 +3110,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 +3160,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 +3196,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 +3380,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 +3409,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 +3468,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,8 +3673,8 @@
     <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>
@@ -3569,6 +3740,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 +3850,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 +3871,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"提升語音啟動功能"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"為提升語音啟動模型的品質，這部裝置會使用私人資料技術。應用程式可接收涵蓋多位使用者的匯總摘要更新，在維護隱私權的同時為所有使用者提升模型品質。\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 +3991,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 +4016,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 +4046,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 +4115,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 +4144,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 +4304,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"其他提供者"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"密碼、密碼金鑰和資料服務"</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="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_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 +4384,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 +4398,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 +4412,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 +4494,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4518,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4561,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4358,8 +4588,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4379,11 +4633,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4703,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 +4713,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>
@@ -4511,7 +4774,7 @@
     <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>
@@ -4543,8 +4806,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4965,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 +5062,29 @@
     <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>
 </resources>
diff --git a/res/values-zu/arrays.xml b/res/values-zu/arrays.xml
index fbea6d2..3bac8c0 100644
--- a/res/values-zu/arrays.xml
+++ b/res/values-zu/arrays.xml
@@ -479,4 +479,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..3bed6ae 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>
@@ -113,23 +116,34 @@
     <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_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 +187,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 +212,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 +281,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 +387,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 +410,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 +545,86 @@
     <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="7078627930195569767">"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="3006539720164938296">"Ukhiye Wesikhala Esigodliwe"</string>
+    <string name="private_space_one_lock_summary" msgid="2759953747682959371">"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="5804023571114910034">"Ukuvula Ngesigxivizo Somunwe Indawo Engasese"</string>
+    <string name="private_space_face_unlock_title" msgid="6613018437620070183">"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="7306873010565337671">"Khetha isikhiya esisha Kusikhala Esigodliwe?"</string>
+    <string name="private_space_auto_lock_title" msgid="4757097802686131305">"Khiya ngokuzenzakalelayo"</string>
+    <string name="private_space_auto_lock_page_title" msgid="2993714305725968632">"Khiya indawo engasese ngokuzenzakalelayo"</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="972581369094289386">"Fihla Isikhala Esiyifihlo uma ikhiyile"</string>
+    <string name="privatespace_hide_page_summary" msgid="1052569521186403642">"Ukuvimbela abantu ukuthi bazi Isikhala Esiyimfihlo kwidivayisi yakho ungasifihla ohlwini lwama-app wakho"</string>
+    <string name="privatespace_access_header" msgid="982809349769470185">"Finyelela IsIkhala Esiyimfihlo uma sifihliwe"</string>
+    <string name="privatespace_search_description" msgid="983837656432484282">"Sesha \'Isikhala Esiyimfihlo\' ndaweni yokusesha"</string>
+    <string name="privatespace_tap_tile_description" msgid="4146608898639668340">"Thepha indawo Yesikhala Esiyimfihlo"</string>
+    <string name="privatespace_unlock_description" msgid="4132755357482447360">"Vula Isikhala sakho Esiyimfihlo"</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="3075645119800272800">"Sula Isikhala Esiyimfihlo"</string>
+    <string name="private_space_deleted" msgid="7825768516955610897">"Isikhala Esiyimfihlo sidilithwe ngokuphumelelayo"</string>
+    <string name="private_space_delete_failed" msgid="8500755484258565011">"Isikhala Esiyimfihlo asikwazanga ukudilithwa"</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="4377296080723608107">"Izaziso ezisuka kuma-app Asesikhaleni Esigodliwe ziyafihlwa uma sikhiyiwe"</string>
+    <string name="private_space_share_photos_title" msgid="2102594859384040485">"Vula indawo yakho engasese ukuze wabelane ngezithombe noma amafayela avela kuma-app endawo yangasese"</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="1210906480024148398">"Ayikwazanga ukumisa isikhala esigodliwe"</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="4258842502257201013">"Ukuze ufinyelele esikhaleni 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>
+    <!-- no translation found for private_space_retry_signin_title (8090276618867918844) -->
+    <skip />
+    <!-- no translation found for private_space_retry_summary (1920444015972648774) -->
+    <skip />
+    <!-- no translation found for private_space_skip_login_label (7078019409056628192) -->
+    <skip />
+    <!-- no translation found for private_space_continue_login_label (7779965766333065391) -->
+    <skip />
+    <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="privatespace_unhide_header" msgid="1192011539687584004">"Ukubonisa Isikhala Esiyimfihlo (Hhayi i-UX yokugcina)"</string>
+    <string name="privatespace_open_settings" msgid="5038101805604421393">"Vula i-App Yamasethingi"</string>
+    <string name="privatespace_tap_settings" msgid="928932826450238276">"Thepha Kwezokuphepha &amp; ubumfihlo &gt; Isikhala Esiyimfihlo &gt; Fihla Isikhala Esigodliwe uma ikhiyiwe"</string>
+    <string name="privatespace_turnoff_hide" msgid="4858511423837613842">"Vala Ukufihla Isikhala Esiyimfihlo lapho ukuguqula kukhiyiwe"</string>
+    <string name="privatespace_development_note" msgid="2999992301558700721">"Isaziso esiya kosebenza kwa-Google: Ukuthuthukiswa kwalesi sakhi kusaqhubeka"</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>
@@ -648,13 +780,15 @@
     <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_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 +841,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 +861,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 +885,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 +986,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 +1013,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 +1046,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 +1149,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 +1163,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 +1294,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 +1389,11 @@
     <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>
+    <!-- no translation found for satellite_setting (706846910912477125) -->
+    <skip />
     <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 +1417,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 +1426,14 @@
     <string name="menu_save" msgid="6611465355127483100">"Londoloza"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Khansela"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <!-- no translation found for error_duplicate_apn_entry (7792928408935276618) -->
+    <skip />
     <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 +1446,8 @@
     <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>
+    <!-- no translation found for reset_esim_desc (6125192435907740751) -->
+    <skip />
     <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 +1455,18 @@
     <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>
+    <!-- no translation found for reset_esim_error_title (6516110227665862295) -->
+    <skip />
+    <!-- no translation found for reset_esim_error_msg (8459527827897797168) -->
+    <skip />
     <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>
+    <!-- no translation found for main_clear_final_desc_esim (6592404057237813989) -->
+    <skip />
     <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 +1499,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 +1506,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 +1513,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 +1695,16 @@
     <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>
+    <!-- no translation found for restoring_step_one (3465050101254272874) -->
+    <skip />
+    <!-- no translation found for restoring_step_two (140484846432595108) -->
+    <skip />
+    <!-- no translation found for restoring_step_three (3712883580876329811) -->
+    <skip />
+    <!-- no translation found for restoring_step_four (8966846882470446209) -->
+    <skip />
     <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 +1758,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 +1847,14 @@
     <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="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>
@@ -1790,7 +1952,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 +2016,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 +2041,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 +2070,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 +2091,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 +2108,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 +2162,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 +2299,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 +2322,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 +2363,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 +2408,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>
@@ -2254,7 +2425,8 @@
     <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_incompatible_charging_title (1567827436103364999) -->
+    <skip />
     <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 +2466,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 +2510,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 +2518,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 +2638,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 +2726,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 +2776,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 +2823,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 +2958,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>
@@ -2949,7 +3111,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 +3161,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 +3197,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 +3381,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 +3410,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 +3469,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,8 +3674,8 @@
     <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>
@@ -3570,6 +3741,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 +3851,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 +3872,18 @@
     <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="permit_receive_sandboxed_detection_training_data" msgid="3929496847420108753">"Thuthukisa ukusetshenziswa kwezwi"</string>
+    <string name="receive_sandboxed_detection_training_data_description" msgid="1415687008184625050">"Le divayisi isebenzisa ubuchule obuyimfihlo ukuze buthuthukise imodeli yokusebenzisa izwi. Ama-app angathola izibuyekezo ezifinyeziwe ezihlukanisiwe phakathi nabasebenzisi abaningi ukuze kulondolozwe ubumfihlo lapho kuthuthukiswa imodeli yawo wonke umuntu.\n\n"<a href="">"Okuningi mayelana nobuchule obuyimfihlo"</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 +3992,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 +4017,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 +4047,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 +4116,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 +4145,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 +4305,30 @@
     <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>
+    <!-- no translation found for credman_chosen_app_title (7735183808067729319) -->
+    <skip />
     <string name="credman_credentials" msgid="4931371941253324143">"Abahlinzeki abangeziwe"</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>
+    <!-- no translation found for credman_button_change (4072629639218503790) -->
+    <skip />
+    <!-- no translation found for credman_button_open (7519871964170816850) -->
+    <skip />
     <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="8191267620665129205">"Amaphasiwedi, okhiye bokudlula namasevisi edatha"</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="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_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 +4385,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 +4399,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 +4413,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 +4495,12 @@
     <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>
+    <!-- no translation found for mobile_network_erase_sim (5387971155494245850) -->
+    <skip />
     <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 +4519,40 @@
     <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>
+    <!-- no translation found for satellite_setting_title (2543034229989047673) -->
+    <skip />
+    <!-- no translation found for satellite_setting_enabled_summary (3554127722727530845) -->
+    <skip />
+    <!-- no translation found for satellite_setting_disabled_summary (6789122487534159857) -->
+    <skip />
+    <!-- no translation found for keywords_satellite_setting (3312183289776517695) -->
+    <skip />
+    <!-- no translation found for category_name_about_satellite_messaging (3756205049485508340) -->
+    <skip />
+    <!-- no translation found for title_about_satellite_setting (9212860038048311345) -->
+    <skip />
+    <!-- no translation found for category_title_your_satellite_plan (3017895097366691841) -->
+    <skip />
+    <!-- no translation found for title_have_satellite_plan (2048372355699977947) -->
+    <skip />
+    <!-- no translation found for title_no_satellite_plan (2876056203035197505) -->
+    <skip />
+    <!-- no translation found for summary_add_satellite_setting (3815254731634052432) -->
+    <skip />
+    <!-- no translation found for category_name_how_it_works (585303230539269496) -->
+    <skip />
+    <!-- no translation found for title_satellite_connection_guide (3294802307913609072) -->
+    <skip />
+    <!-- no translation found for summary_satellite_connection_guide (3496123195218418456) -->
+    <skip />
+    <!-- no translation found for title_supported_service (4275535165812691571) -->
+    <skip />
+    <!-- no translation found for summary_supported_service (4320535903444834786) -->
+    <skip />
+    <!-- no translation found for satellite_setting_summary_more_information (4008690241760925372) -->
+    <skip />
+    <!-- no translation found for more_about_satellite_messaging (3385673133561348509) -->
+    <skip />
     <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,9 +4562,12 @@
     <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>
+    <!-- no translation found for sim_action_switch_sub_dialog_text (7474905814976249607) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_downloaded (6415848271400253954) -->
+    <skip />
+    <!-- no translation found for sim_action_switch_sub_dialog_text_single_sim (421658355882679837) -->
+    <skip />
     <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>
@@ -4359,8 +4589,32 @@
     <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>
+    <!-- no translation found for sim_onboarding_progressbar_turning_sim_on (1163318788393361574) -->
+    <skip />
+    <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>
@@ -4380,11 +4634,15 @@
     <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>
+    <!-- no translation found for erase_sim_dialog_text (1406141218170595272) -->
+    <skip />
     <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>
+    <!-- no translation found for erasing_sim (4237180547590463930) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_title (1445700500168357303) -->
+    <skip />
+    <!-- no translation found for erase_sim_fail_text (6898841004987411547) -->
+    <skip />
     <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 +4704,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 +4714,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>
@@ -4512,7 +4775,7 @@
     <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>
@@ -4544,8 +4807,10 @@
     <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>
+    <!-- no translation found for sim_category_active_sim (3077009911935592178) -->
+    <skip />
+    <!-- no translation found for sim_category_inactive_sim (7351553344148400450) -->
+    <skip />
     <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 +4966,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 +5063,29 @@
     <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>
 </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..433620d
--- 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. -->
@@ -689,6 +696,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>
@@ -746,14 +756,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..3e0b8d9 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,7 @@
     <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>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7fe1daa..78900bc 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] -->
@@ -160,10 +169,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 +249,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 +267,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 +282,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 +298,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 +432,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 +492,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 +650,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 +671,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 +812,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 +893,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 +935,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 +1115,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 +1211,180 @@
 
     <!-- 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 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. [CHAR LIMIT=40] -->
+    <string name="private_space_auto_lock_title">Lock automatically</string>
+    <!-- Title for private space auto lock settings page. [CHAR LIMIT=50] -->
+    <string name="private_space_auto_lock_page_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 Private Space is 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=60] -->
+    <string name="privatespace_search_description">Search for \'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 successfully 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 apps in private space 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 from private space apps</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 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 access 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>
+
+    <!-- TODO(b/309950257): Remove below strings once QSTIle fulfillment is complete. -->
+    <!-- Header in hide Private Space settings page to unhide Private Space. [CHAR LIMIT=90] -->
+    <string name="privatespace_unhide_header">To show Private Space (Not final UX)</string>
+    <!-- Text in hide Private Space settings page on how to open Private Space setting. [CHAR LIMIT=NONE] -->
+    <string name="privatespace_open_settings">Open the Settings App</string>
+    <!-- Text in hide Private Space settings page on how to open Private Space setting. [CHAR LIMIT=NONE] -->
+    <string name="privatespace_tap_settings">Tap on Security &amp; privacy > Private Space > Hide Private Space when locked</string>
+    <!-- Text in hide Private Space settings page to off hide toggle. [CHAR LIMIT=90] -->
+    <string name="privatespace_turnoff_hide">Turn off \‘Hide Private Space when locked\’ toggle</string>
+    <!-- Note in hide Private Space settings page to inform that this is a development feature. [CHAR LIMIT=NONE] -->
+    <string name="privatespace_development_note">Note to Googlers: The development of this feature is still in progress</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] -->
@@ -1468,7 +1756,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 +1779,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,8 +1804,8 @@
     <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 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. Link text to bring the user to "scanning settings" screen. [CHAR LIMIT=NONE]-->
@@ -1645,6 +1939,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 +1986,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 +2041,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 +2198,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 +2246,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 +2258,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 +2315,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 +2387,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 +2705,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 +2733,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 +2766,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 +2812,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 +3029,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 +3174,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 +3220,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 +3273,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 +3326,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 +3344,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 +3356,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 +3391,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 +3408,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 +3426,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 +3498,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 +3521,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 +3534,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 +3984,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 +4106,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 +4312,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] -->
@@ -4240,7 +4568,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 +4699,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 +4737,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 +4764,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 +4778,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 +4790,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 +4822,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 +4864,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 +4914,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 +5032,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. -->
@@ -4808,7 +5166,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 +5361,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 +5383,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 +5413,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 +5534,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 +5553,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 +5637,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] -->
@@ -5329,7 +5688,7 @@
     <!-- Charge to full button for battery defender tips [CHAR LIMIT=NONE] -->
     <string name="battery_tip_charge_to_full_button">Charge to full</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 +5782,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 +5895,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 +5911,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 +6195,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 +6401,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 +6517,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 +6529,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 +6542,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 +6617,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 +7042,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 +7098,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 +7122,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] -->
@@ -7076,7 +7416,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 +7535,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 +7643,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 +8031,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 +8167,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 +8263,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 +8416,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>
 
@@ -8666,20 +9018,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">
@@ -8864,6 +9220,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 +9553,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 +9612,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 +9630,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 +9936,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 +10018,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 +10108,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>
 
@@ -9913,9 +10294,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 +10372,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 +10392,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 +10488,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,7 +10784,7 @@
     <!-- 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>
+    <string name="credman_chosen_app_title">Preferred service</string>
     <!-- Preference category for showing additional credential providers. [CHAR LIMIT=60] -->
     <string name="credman_credentials">Additional providers</string>
     <!-- Summary for passwords settings that shows how many passwords are saved for each autofill
@@ -10427,6 +10802,10 @@
     <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>
 
     <!-- Message of the warning dialog for setting the auto-fill app. [CHAR_LIMIT=NONE] -->
     <string name="autofill_confirmation_message">
@@ -10445,13 +10824,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">Passwords, passkeys, and data services</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 +10848,45 @@
         ]]>
     </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>
 
+    <!-- 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 +11065,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 +11103,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 +11138,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 +11362,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>
@@ -10973,7 +11383,7 @@
 
     <!-- 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 +11428,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 +11488,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] -->
@@ -11088,11 +11535,63 @@
     <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=30] -->
+    <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>
@@ -11144,15 +11643,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 +11810,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 +11836,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>
@@ -11484,7 +11990,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] -->
@@ -11550,9 +12056,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 +12586,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 +12816,74 @@
 
     <!-- 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>
-</resources>
+
+    <!-- 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>
+</resources>
\ No newline at end of file
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..7266bda 100644
--- a/res/xml/accounts_dashboard_settings_credman.xml
+++ b/res/xml/accounts_dashboard_settings_credman.xml
@@ -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..9473e17 100644
--- a/res/xml/accounts_personal_dashboard_settings_credman.xml
+++ b/res/xml/accounts_personal_dashboard_settings_credman.xml
@@ -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..54db839
--- /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"
+    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..d649940 100644
--- a/res/xml/accounts_work_dashboard_settings_credman.xml
+++ b/res/xml/accounts_work_dashboard_settings_credman.xml
@@ -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/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..f1c62bb 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"
@@ -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>
 
@@ -74,11 +79,13 @@
         settings:keywords="@string/keywords_time_format">
         <SwitchPreference
             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
             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..fb5e280 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,7 +700,7 @@
             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" />
@@ -685,32 +720,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 +754,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 +821,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 +839,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..5cd60f0 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,7 +86,7 @@
             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"
@@ -97,7 +98,7 @@
              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 +119,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 +204,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 +214,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..e62f5c0 100644
--- a/res/xml/power_usage_summary.xml
+++ b/res/xml/power_usage_summary.xml
@@ -51,7 +51,7 @@
         settings:keywords="@string/keywords_battery_saver"
         settings:controller="com.android.settings.fuelgauge.BatterySaverController" />
 
-    <SwitchPreference
+    <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..82f6c57
--- /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_page_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..a3dfbf2
--- /dev/null
+++ b/res/xml/private_space_settings.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"
+    android:key="private_space_title"
+    android:title="@string/private_space_title"
+    settings:searchable="false">
+
+    <com.android.settingslib.widget.IllustrationPreference
+        android:key="privatespace_hide_video"
+        settings:searchable="false"
+        settings:lottie_rawRes="@drawable/privatespace_placeholder_image"/>
+
+    <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_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..f26d207
--- /dev/null
+++ b/res/xml/privatespace_hide_locked.xml
@@ -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.
+  -->
+<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" />
+
+        <Preference
+        android:key="private_space_note"
+        android:summary="@string/privatespace_development_note"
+        android:selectable="false"
+        settings:searchable="false" />
+
+    <PreferenceCategory
+        android:title="@string/privatespace_unhide_header">
+
+        <Preference
+        android:key="search_when_locked_footer"
+        android:icon="@drawable/counter_1_24dp"
+        android:title="@string/privatespace_open_settings"
+        android:selectable="false"
+        settings:searchable="false" />
+
+        <Preference
+            android:key="tap_tile_footer"
+            android:icon="@drawable/counter_2_24dp"
+            android:title="@string/privatespace_tap_settings"
+            android:selectable="false"
+            settings:searchable="false" />
+
+        <Preference
+            android:key="turn_off_footer"
+            android:icon="@drawable/counter_3_24dp"
+            android:title="@string/privatespace_turnoff_hide"
+            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..743a122 100644
--- a/res/xml/special_access.xml
+++ b/res/xml/special_access.xml
@@ -95,11 +95,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/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..84ea528 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,7 +43,7 @@
         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"
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/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..4238ff8 100644
--- a/src/com/android/settings/SettingsActivityUtil.kt
+++ b/src/com/android/settings/SettingsActivityUtil.kt
@@ -28,7 +28,7 @@
 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.DisplayOverOtherAppsAppListProvider
@@ -37,6 +37,7 @@
 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 +66,24 @@
             WifiControlAppListProvider.getAppInfoRoutePrefix(),
         NfcTagAppsSettingsProvider::class.qualifiedName to
             NfcTagAppsSettingsProvider.getAppInfoRoutePrefix(),
+        VoiceActivationAppsListProvider::class.qualifiedName to
+            VoiceActivationAppsListProvider.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..0dbf05e 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;
 
@@ -104,10 +103,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 +111,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);
         }
@@ -240,7 +234,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..78f5b4c
--- /dev/null
+++ b/src/com/android/settings/accessibility/HearingDevicePairingFragment.java
@@ -0,0 +1,492 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.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.getName() + ", 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);
+        }
+    }
+
+    void removeDevice(CachedBluetoothDevice cachedDevice) {
+        if (DEBUG) {
+            Log.d(TAG, "removeDevice: " + cachedDevice);
+        }
+        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);
+        }
+        if (cachedDevice.getHearingAidInfo() == null) {
+            if (DEBUG) {
+                Log.d(TAG, "Set hearing aid info on device: " + cachedDevice);
+            }
+            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);
+        }
+        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);
+                        }
+                        if (newState == BluetoothProfile.STATE_CONNECTED) {
+                            gatt.discoverServices();
+                        }
+                    }
+
+                    @Override
+                    public void onServicesDiscovered(BluetoothGatt gatt, int status) {
+                        super.onServicesDiscovered(gatt, status);
+                        boolean isCompatible = gatt.getService(BluetoothUuid.HEARING_AID.getUuid())
+                                != null
+                                || gatt.getService(BluetoothUuid.HAS.getUuid()) != null;
+                        if (DEBUG) {
+                            Log.d(TAG,
+                                    "onServicesDiscovered, compatible with Android: " + isCompatible
+                                            + ", device: " + cachedDevice);
+                        }
+                        if (isCompatible) {
+                            addDevice(cachedDevice);
+                        }
+                    }
+                });
+        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..6f21fb8 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,6 +234,32 @@
         // permittedServices null means all accessibility services are allowed.
         boolean serviceAllowed = permittedServices == null || permittedServices.contains(
                 preference.getPackageName());
+
+        if (android.security.Flags.extendEcmToAllSettings()) {
+            preference.checkEcmRestrictionAndSetDisabled(
+                    AppOpsManager.OPSTR_BIND_ACCESSIBILITY_SERVICE,
+                    preference.getPackageName(), preference.getUid());
+            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);
+                }
+            }
+            return;
+        }
+
         boolean appOpsAllowed;
         if (serviceAllowed) {
             try {
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..c25c38e 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,7 +146,7 @@
         return mAudioManager.getRingerModeInternal() == AudioManager.RINGER_MODE_SILENT;
     }
 
-    private static VibrationAttributes createPreviewVibrationAttributes(
+    static VibrationAttributes createPreviewVibrationAttributes(
             @VibrationAttributes.Usage int vibrationUsage) {
         return new VibrationAttributes.Builder()
                 .setUsage(vibrationUsage)
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..50134ba 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;
@@ -245,19 +248,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..74a9673 100644
--- a/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
+++ b/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
@@ -53,7 +53,7 @@
      * @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";
 
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..d536932 100644
--- a/src/com/android/settings/applications/AppCounter.java
+++ b/src/com/android/settings/applications/AppCounter.java
@@ -16,33 +16,49 @@
 
 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.UserHandle;
 import android.os.UserManager;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
+
 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
+                    | (mFf.archiving() ? 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++;
@@ -62,5 +78,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/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..6976149 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, mPackageInfo.applicationInfo.uid);
+            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..0ccbe5b 100644
--- a/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java
@@ -138,9 +138,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 +292,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;
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..82d55f3 100644
--- a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
+++ b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
@@ -731,10 +731,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..f8a3b0f 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.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.os.UserManager;
 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.LAUNCHER";
+
     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,44 @@
 
         return cmpi;
     }
+
+    public static @Nullable Intent createSettingsActivityIntent(
+            @NonNull Context context,
+            @Nullable CharSequence packageName,
+            @Nullable CharSequence settingsActivity,
+            int currentUserId) {
+        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);
+
+        int contextUserId = context.getUser().getIdentifier();
+        if (currentUserId != contextUserId && UserManager.isHeadlessSystemUserMode()) {
+            Log.w(
+                    TAG,
+                    "onLeftSideClicked(): using context for current user ("
+                            + currentUserId
+                            + ") instead of user "
+                            + contextUserId
+                            + " on headless system user mode");
+            context = context.createContextAsUser(UserHandle.of(currentUserId), /* flags= */ 0);
+        }
+
+        return intent;
+    }
 }
diff --git a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java
index 6747b36..2f04b62 100644
--- a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java
+++ b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java
@@ -18,10 +18,9 @@
 
 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.ActivityNotFoundException;
 import android.content.ComponentName;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -34,6 +33,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 +45,12 @@
 import android.provider.Settings;
 import android.service.autofill.AutofillServiceInfo;
 import android.text.TextUtils;
-import android.util.IconDrawableFactory;
 import android.util.Log;
+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,6 +70,7 @@
 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;
@@ -95,15 +99,15 @@
     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;
@@ -112,11 +116,11 @@
 
     private boolean mVisibility = false;
     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 +130,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,7 +155,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        if (mCredentialManager == null) {
+        if (!isConnected()) {
             return UNSUPPORTED_ON_DEVICE;
         }
 
@@ -156,12 +167,26 @@
             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 +208,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 +305,7 @@
 
         NewProviderConfirmationDialogFragment fragment =
                 newNewProviderConfirmationDialogFragment(
-                        serviceInfo.packageName, appName, /* setActivityResult= */ true);
+                        serviceInfo.packageName, appName, /* shouldSetActivityResult= */ true);
         if (fragment == null || mFragmentManager == null) {
             return;
         }
@@ -299,8 +329,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,7 +377,8 @@
         }
     }
 
-    private void setVisibility(boolean newVisibility) {
+    @VisibleForTesting
+    public void setVisibility(boolean newVisibility) {
         if (newVisibility == mVisibility) {
             return;
         }
@@ -323,6 +390,11 @@
     }
 
     @VisibleForTesting
+    public boolean getVisibility() {
+        return mVisibility;
+    }
+
+    @VisibleForTesting
     void setAvailableServices(
             List<CredentialProviderInfo> availableServices, String flagOverrideForTest) {
         mFlagOverrideForTest = flagOverrideForTest;
@@ -389,7 +461,7 @@
 
     /** Aggregates the list of services and builds a list of UI prefs to show. */
     @VisibleForTesting
-    public Map<String, SwitchPreference> buildPreferenceList(
+    public Map<String, CombiPreference> buildPreferenceList(
             Context context, PreferenceGroup group) {
         // Get the selected autofill provider. If it is the placeholder then replace it with an
         // empty string.
@@ -415,12 +487,13 @@
             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,9 +507,14 @@
             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);
         }
@@ -449,14 +527,15 @@
 
     /** 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());
     }
 
     /**
@@ -510,54 +589,81 @@
         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 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 void onCheckChanged(CombiPreference p, boolean isChecked) {
+                        if (isChecked) {
+                            if (mEnabledPackageNames.size() >= MAX_SELECTABLE_PROVIDERS) {
+                                // Show the error if too many enabled.
+                                pref.setChecked(false);
+                                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;
+                                }
 
-                            if (fragment == null || mFragmentManager == null) {
-                                return true;
+                                fragment.show(mFragmentManager, ErrorDialogFragment.TAG);
+                                return;
                             }
 
-                            fragment.show(mFragmentManager, ErrorDialogFragment.TAG);
-                            return true;
-                        }
+                            togglePackageNameEnabled(packageName);
 
-                        togglePackageNameEnabled(packageName);
-
-                        // Enable all prefs.
-                        if (mPrefs.containsKey(packageName)) {
-                            mPrefs.get(packageName).setChecked(true);
+                            // Enable all prefs.
+                            if (mPrefs.containsKey(packageName)) {
+                                mPrefs.get(packageName).setChecked(true);
+                            }
+                        } else {
+                            togglePackageNameDisabled(packageName);
                         }
-                        return true;
-                    } else {
-                        togglePackageNameDisabled(packageName);
                     }
 
-                    return true;
+                    @Override
+                    public void onLeftSideClicked() {
+                        Intent settingsIntent =
+                                CombinedProviderInfo.createSettingsActivityIntent(
+                                        mContext, packageName, settingsActivity, getUser());
+                        if (settingsIntent != null) {
+                            try {
+                                mContext.startActivity(settingsIntent);
+                            } catch (ActivityNotFoundException e) {
+                                Log.e(TAG, "Failed to open settings activity", e);
+                            }
+                        }
+                    }
                 });
 
         return pref;
@@ -605,13 +711,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 +728,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 +746,7 @@
                 final DialogFragment fragment = newErrorDialogFragment();
 
                 if (fragment == null || mFragmentManager == null) {
-                    return;
+                    return activityResult;
                 }
 
                 fragment.show(mFragmentManager, ErrorDialogFragment.TAG);
@@ -652,9 +758,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 +780,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 +867,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 +964,96 @@
             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.onCheckChanged(CombiPreference.this, mSwitch.isChecked());
+                }
+            }
+        }
+
+        // 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 */
+            void 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..495c104
--- /dev/null
+++ b/src/com/android/settings/applications/credentials/CredentialsPickerActivity.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.applications.credentials;
+
+
+import com.android.settings.SettingsActivity;
+
+/** Standalone activity used to launch a {@link DefaultCombinedPicker} fragment. */
+public class CredentialsPickerActivity extends SettingsActivity {
+
+    @Override
+    protected boolean isValidFragment(String fragmentName) {
+        return super.isValidFragment(fragmentName)
+                || DefaultCombinedPicker.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..0bffee9 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);
@@ -132,17 +136,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 +309,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..722cb1a
--- /dev/null
+++ b/src/com/android/settings/applications/credentials/DefaultCombinedPickerPrivate.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.applications.credentials;
+
+import android.os.UserManager;
+
+import com.android.settings.Utils;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment.ProfileType;
+
+public class DefaultCombinedPickerPrivate extends DefaultCombinedPicker {
+    @Override
+    protected int getUser() {
+        UserManager userManager = getContext().getSystemService(UserManager.class);
+        return Utils.getCurrentUserIdOfType(userManager, ProfileType.PRIVATE);
+    }
+}
diff --git a/src/com/android/settings/applications/credentials/DefaultCombinedPreferenceController.java b/src/com/android/settings/applications/credentials/DefaultCombinedPreferenceController.java
index 59c33b2..0fb1769 100644
--- a/src/com/android/settings/applications/credentials/DefaultCombinedPreferenceController.java
+++ b/src/com/android/settings/applications/credentials/DefaultCombinedPreferenceController.java
@@ -16,24 +16,29 @@
 
 package com.android.settings.applications.credentials;
 
-import android.content.ComponentName;
+import android.content.ActivityNotFoundException;
 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 android.util.Slog;
 
+import androidx.annotation.Nullable;
+import androidx.annotation.NonNull;
+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 +78,87 @@
 
     @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()),
+                    createSettingsActivityIntent(
+                            topProvider.getPackageName(), topProvider.getSettingsActivity()));
+        } else {
+            updatePreferenceForProvider(preference, null, null, null, null);
+        }
+    }
+
+    @VisibleForTesting
+    public void updatePreferenceForProvider(
+            Preference preference,
+            @Nullable CharSequence appName,
+            @Nullable String appSubtitle,
+            @Nullable Drawable appIcon,
+            @Nullable Intent settingsActivityIntent) {
+        if (appName == null) {
+            preference.setTitle(R.string.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() {
+                            if (settingsActivityIntent != null) {
+                                try {
+                                    startActivity(settingsActivityIntent);
+                                } catch (ActivityNotFoundException e) {
+                                    Slog.e(TAG, "Failed to open settings activity", e);
+                                }
+                            }
+                        }
+
+                        public void onChangeButtonClicked() {
+                            startActivity(createIntentToOpenPicker());
+                        }
+                    });
+
+            // Hide the open button if there is no defined settings activity.
+            primaryPref.setOpenButtonVisible(settingsActivityIntent != null);
+            primaryPref.setButtonsVisible(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 +192,19 @@
         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() {
+        return new Intent(mContext, CredentialsPickerActivity.class);
+    }
+
+    /** Creates an intent to open the settings activity of the primary provider (if available). */
+    public @Nullable Intent createSettingsActivityIntent(
+            @Nullable String packageName, @Nullable String settingsActivity) {
+        return CombinedProviderInfo.createSettingsActivityIntent(
+                mContext, packageName, settingsActivity, getUser());
+    }
 }
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..b8e2529
--- /dev/null
+++ b/src/com/android/settings/applications/credentials/PrimaryProviderPreference.java
@@ -0,0 +1,215 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.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 mButtonsVisible = 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);
+        mButtonFrameView.setVisibility(mButtonsVisible ? View.VISIBLE : View.GONE);
+
+        // There is a special case where if the provider == none then we should
+        // hide the buttons and when the preference is tapped we can open the
+        // provider selection dialog.
+        setOnPreferenceClickListener(
+                new Preference.OnPreferenceClickListener() {
+                    public boolean onPreferenceClick(@NonNull Preference preference) {
+                        return handlePreferenceClickNewSettingsUi();
+                    }
+                });
+    }
+
+    private boolean handlePreferenceClickNewSettingsUi() {
+        if (mDelegate != null && !mButtonsVisible) {
+            mDelegate.onChangeButtonClicked();
+            return true;
+        }
+
+        return false;
+    }
+
+    public void setOpenButtonVisible(boolean isVisible) {
+        if (mOpenButton != null) {
+            mOpenButton.setVisibility(isVisible ? View.VISIBLE : View.GONE);
+            setVisibility(mOpenButton, isVisible);
+        }
+
+        mOpenButtonVisible = isVisible;
+    }
+
+    public void setButtonsVisible(boolean isVisible) {
+        if (mButtonFrameView != null) {
+            setVisibility(mButtonFrameView, isVisible);
+        }
+
+        mButtonsVisible = isVisible;
+    }
+
+    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/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..1d96688 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);
@@ -244,7 +249,7 @@
             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;
 
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java
index d734a27..e370f3e 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplications.java
+++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java
@@ -689,7 +689,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 +705,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 +742,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 +1054,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 +1062,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 +1078,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..55ba8ac 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;
@@ -45,12 +46,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 +106,7 @@
         mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
         mPackageManager = mContext.getPackageManager();
         mIPackageManager = AppGlobals.getPackageManager();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -167,35 +169,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 +209,8 @@
         });
         pref.setOnPreferenceChangeListener((preference, newValue) -> false);
         pref.setSingleLineTitle(true);
+        pref.checkEcmRestrictionAndSetDisabled(Manifest.permission.BIND_DEVICE_ADMIN,
+                item.getPackageName(), item.getUid());
     }
 
     /**
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..00f0625 100644
--- a/src/com/android/settings/applications/specialaccess/notificationaccess/ApprovalPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/ApprovalPreferenceController.java
@@ -41,6 +41,8 @@
     private PreferenceFragmentCompat mParent;
     private NotificationManager mNm;
     private PackageManager mPm;
+    // The appOp representing this preference
+    private String mAppOpStr;
 
     public ApprovalPreferenceController(Context context, String key) {
         super(context, key);
@@ -71,6 +73,14 @@
         return this;
     }
 
+    /**
+     * Set the associated appOp for the Setting
+     */
+    public ApprovalPreferenceController setAppOpStr(String appOpStr) {
+        mAppOpStr = appOpStr;
+        return this;
+    }
+
     @Override
     public int getAvailabilityStatus() {
         return AVAILABLE;
@@ -107,8 +117,20 @@
                 return false;
             }
         });
-        preference.updateState(
-                mCn.getPackageName(), mPkgInfo.applicationInfo.uid, isAllowedCn, isEnabled);
+
+        if (android.security.Flags.extendEcmToAllSettings()) {
+            if (!isAllowedCn && !isEnabled) {
+                preference.setEnabled(false);
+            } else if (isEnabled) {
+                preference.setEnabled(true);
+            } else {
+                preference.checkEcmRestrictionAndSetDisabled(mAppOpStr,
+                        mCn.getPackageName(), mPkgInfo.applicationInfo.uid);
+            }
+        } else {
+            preference.updateState(
+                    mCn.getPackageName(), mPkgInfo.applicationInfo.uid, isAllowedCn, isEnabled);
+        }
     }
 
     public void disable(final ComponentName cn) {
@@ -117,7 +139,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 +161,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..89767dd 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)
+                .setAppOpStr(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..4c9f813 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,6 +23,7 @@
 import android.telephony.SmsManager;
 import android.view.View;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.DropDownPreference;
 import androidx.preference.Preference;
@@ -126,7 +126,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,
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..292d977 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;
@@ -171,7 +171,7 @@
             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());
     }
 
diff --git a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
index 46f534d..44b1b3b 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
@@ -367,7 +367,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 +389,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 +407,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..53892bd 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;
@@ -249,20 +251,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 +276,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 +514,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..e4f2586 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;
 
 /**
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..d8d3484 100644
--- a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
+++ b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
@@ -328,8 +328,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..62e9757 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);
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java b/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
index 68fbe38..472410b 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
@@ -100,7 +100,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()
         );
 
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..eb50e08 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
@@ -537,7 +537,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 +551,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/FaceSettings.java b/src/com/android/settings/biometrics/face/FaceSettings.java
index 2e94404..bebb5c7 100644
--- a/src/com/android/settings/biometrics/face/FaceSettings.java
+++ b/src/com/android/settings/biometrics/face/FaceSettings.java
@@ -182,7 +182,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 +418,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/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..57c1195 100644
--- a/src/com/android/settings/biometrics/face/FaceUpdater.java
+++ b/src/com/android/settings/biometrics/face/FaceUpdater.java
@@ -50,8 +50,9 @@
     /** 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);
+        this.enroll(userId, hardwareAuthToken, cancel,
+                new NotifyingEnrollmentCallback(mContext, callback), disabledFeatures,
+                null, false);
     }
 
     /** Wrapper around the {@link FaceManager#enroll} method. */
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index a62bd67..c7f73cb 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -21,8 +21,6 @@
 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 +51,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 +67,14 @@
 import com.android.settings.biometrics.BiometricEnrollSidecar;
 import com.android.settings.biometrics.BiometricUtils;
 import com.android.settings.biometrics.BiometricsEnrollEnrolling;
+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 +87,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 +103,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 +190,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 +207,10 @@
         final int currentDensity = displayDensity.getDefaultDisplayDensityValues()
                 [currentDensityIndex];
         final int defaultDensity = displayDensity.getDefaultDensityForDefaultDisplay();
+
+        if (getResources().getConfiguration().fontScale > 1) {
+            return false;
+        }
         return defaultDensity == currentDensity;
     }
 
@@ -217,14 +224,6 @@
     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 (savedInstanceState != null) {
             restoreSavedState(savedInstanceState);
         }
@@ -248,7 +247,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 +289,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,16 +340,10 @@
     }
 
     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,
@@ -365,6 +366,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 +610,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 +620,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 +686,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 +728,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 +760,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 +1199,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..be3a769 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,22 @@
     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();
+        if (Flags.udfpsEnrollCalibration()) {
+            if (mCalibrator != null) {
+                ret.putExtras(mCalibrator.getExtrasForNextIntent(true));
+            }
+        }
+        return ret;
     }
 
     @Override
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..242b745 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;
@@ -67,6 +69,8 @@
 
     private DevicePolicyManager mDevicePolicyManager;
     private boolean mCanAssumeUdfps;
+    @Nullable
+    protected UdfpsEnrollCalibrator mCalibrator;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -85,6 +89,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 +136,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 +165,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 +383,11 @@
             intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE,
                     BiometricUtils.getGatekeeperPasswordHandle(getIntent()));
         }
+        if (Flags.udfpsEnrollCalibration()) {
+            if (mCalibrator != null) {
+                intent.putExtras(mCalibrator.getExtrasForNextIntent(false));
+            }
+        }
         return intent;
     }
 
@@ -406,7 +433,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 +447,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/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..4d1d499 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
@@ -60,7 +60,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;
@@ -75,8 +75,10 @@
 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;
@@ -84,6 +86,7 @@
 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 +94,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 +150,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 +636,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 +667,7 @@
                     mRequireScreenOnToAuthPreferenceController.isChecked());
             mRequireScreenOnToAuthPreference.setOnPreferenceChangeListener(
                     (preference, newValue) -> {
-                        final boolean isChecked = ((SwitchPreference) preference).isChecked();
+                        final boolean isChecked = ((TwoStatePreference) preference).isChecked();
                         mRequireScreenOnToAuthPreferenceController.setChecked(!isChecked);
                         return true;
                     });
@@ -741,7 +793,7 @@
                 // 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());
+                        getActivity());
                 if (getActivity().isInMultiWindowMode() && !isActivityEmbedded) {
                     BiometricsSplitScreenDialog.newInstance(TYPE_FINGERPRINT).show(
                             getActivity().getSupportFragmentManager(),
@@ -754,7 +806,7 @@
                 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 +891,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 +901,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 +930,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 +978,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 +990,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 +1088,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 +1416,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/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..abc31c9
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeatureImpl.java
@@ -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.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.settings.R;
+
+import java.util.function.Function;
+
+public class SfpsEnrollmentFeatureImpl implements SfpsEnrollmentFeature {
+
+    @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 int duration = 550;
+        final ObjectAnimator help = ObjectAnimator.ofFloat(target,
+                "translationX" /* propertyName */,
+                0, translationX, -1 * translationX, translationX, 0f);
+        help.setInterpolator(new AccelerateInterpolator());
+        help.setDuration(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..c58a06d
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/OWNERS
@@ -0,0 +1,3 @@
+# Owners for Biometric Fingerprint
+joshmccloskey@google.com
+jbolinger@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..58ef509
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/conversion/Util.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.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.shared.model.EnrollReason
+import com.android.settings.biometrics.fingerprint2.shared.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/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..984d04c
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractorImpl.kt
@@ -0,0 +1,255 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.os.CancellationSignal
+import android.util.Log
+import com.android.settings.biometrics.GatekeeperPasswordProvider
+import com.android.settings.biometrics.fingerprint2.conversion.Util.toEnrollError
+import com.android.settings.biometrics.fingerprint2.conversion.Util.toOriginalReason
+import com.android.settings.biometrics.fingerprint2.shared.data.repository.PressToAuthProvider
+import com.android.settings.biometrics.fingerprint2.shared.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintFlow
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollState
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptModel
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintData
+import com.android.settings.biometrics.fingerprint2.shared.model.SetupWizard
+import com.android.settings.password.ChooseLockSettingsHelper
+import com.android.systemui.biometrics.shared.model.toFingerprintSensor
+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,
+  private val gatekeeperPasswordProvider: GatekeeperPasswordProvider,
+  private val pressToAuthProvider: PressToAuthProvider,
+  private val fingerprintFlow: FingerprintFlow,
+) : 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 = flow {
+    val sensorPropertiesInternal = fingerprintManager.sensorPropertiesInternal
+    emit(
+      if (sensorPropertiesInternal.isEmpty()) null
+      else sensorPropertiesInternal.first().toFingerprintSensor()
+    )
+  }
+
+  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()
+    fingerprintManager.enroll(
+      hardwareAuthToken,
+      cancellationSignal,
+      applicationContext.userId,
+      enrollmentCallback,
+      enrollReason.toOriginalReason(),
+    )
+    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 pressToAuthEnabled(): Boolean = suspendCancellableCoroutine {
+    it.resume(pressToAuthProvider.isEnabled)
+  }
+
+  override suspend fun authenticate(): FingerprintAuthAttemptModel =
+    suspendCancellableCoroutine { c: CancellableContinuation<FingerprintAuthAttemptModel> ->
+      val authenticationCallback =
+        object : FingerprintManager.AuthenticationCallback() {
+
+          override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
+            super.onAuthenticationError(errorCode, errString)
+            if (c.isCompleted) {
+              Log.d(TAG, "framework sent down onAuthError after finish")
+              return
+            }
+            c.resume(FingerprintAuthAttemptModel.Error(errorCode, errString.toString()))
+          }
+
+          override fun onAuthenticationSucceeded(result: FingerprintManager.AuthenticationResult) {
+            super.onAuthenticationSucceeded(result)
+            if (c.isCompleted) {
+              Log.d(TAG, "framework sent down onAuthError after finish")
+              return
+            }
+            c.resume(FingerprintAuthAttemptModel.Success(result.fingerprint?.biometricId ?: -1))
+          }
+        }
+
+      val cancellationSignal = CancellationSignal()
+      c.invokeOnCancellation { cancellationSignal.cancel() }
+      fingerprintManager.authenticate(
+        null,
+        cancellationSignal,
+        authenticationCallback,
+        null,
+        applicationContext.userId
+      )
+    }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/repository/PressToAuthProviderImpl.kt b/src/com/android/settings/biometrics/fingerprint2/repository/PressToAuthProviderImpl.kt
new file mode 100644
index 0000000..38c5335
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/repository/PressToAuthProviderImpl.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.biometrics.fingerprint2.repository
+
+import android.content.Context
+import android.provider.Settings
+import com.android.settings.biometrics.fingerprint2.shared.data.repository.PressToAuthProvider
+
+class PressToAuthProviderImpl(val context: Context) : PressToAuthProvider {
+  override val isEnabled: Boolean
+    get() {
+      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)
+    }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/shared/Android.bp b/src/com/android/settings/biometrics/fingerprint2/shared/Android.bp
new file mode 100644
index 0000000..145f3d6
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/shared/Android.bp
@@ -0,0 +1,14 @@
+// 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.
+android_library {
+    name: "FingerprintManagerInteractor",
+    srcs: [
+      "**/*.kt"
+    ],
+    static_libs: [
+      "BiometricsSharedLib",
+      "kotlinx-coroutines-android",
+    ],
+}
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics/fingerprint2/shared/AndroidManifest.xml b/src/com/android/settings/biometrics/fingerprint2/shared/AndroidManifest.xml
new file mode 100644
index 0000000..e2c97fc
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/shared/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.shared">
+</manifest>
diff --git a/src/com/android/settings/biometrics/fingerprint2/shared/data/repository/PressToAuthProvider.kt b/src/com/android/settings/biometrics/fingerprint2/shared/data/repository/PressToAuthProvider.kt
new file mode 100644
index 0000000..e776b9a
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/shared/data/repository/PressToAuthProvider.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.biometrics.fingerprint2.shared.data.repository
+
+/**
+ * Interface that indicates if press to auth is on or off.
+ */
+interface PressToAuthProvider {
+    /**
+     * Indicates true if the PressToAuth feature is enabled, false otherwise.
+     */
+    val isEnabled: Boolean
+}
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics/fingerprint2/shared/domain/interactor/FingerprintManagerInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/shared/domain/interactor/FingerprintManagerInteractor.kt
new file mode 100644
index 0000000..94afa49
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/shared/domain/interactor/FingerprintManagerInteractor.kt
@@ -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.biometrics.fingerprint2.shared.domain.interactor
+
+import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptModel
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintData
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollState
+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
+
+  /** Indicates if the press to auth feature has been enabled */
+  suspend fun pressToAuthEnabled(): Boolean
+
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/shared/model/EnrollReason.kt b/src/com/android/settings/biometrics/fingerprint2/shared/model/EnrollReason.kt
new file mode 100644
index 0000000..47a0af0
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/shared/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.shared.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/shared/model/FingerEnrollState.kt b/src/com/android/settings/biometrics/fingerprint2/shared/model/FingerEnrollState.kt
new file mode 100644
index 0000000..4766d59
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/shared/model/FingerEnrollState.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.biometrics.fingerprint2.shared.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/shared/model/FingerprintData.kt b/src/com/android/settings/biometrics/fingerprint2/shared/model/FingerprintData.kt
new file mode 100644
index 0000000..b2aa25c
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/shared/model/FingerprintData.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.biometrics.fingerprint2.shared.model
+
+data class FingerprintData(
+  val name: String,
+  val fingerId: Int,
+  val deviceId: Long,
+)
+
+sealed class FingerprintAuthAttemptModel {
+  data class Success(
+    val fingerId: Int,
+  ) : FingerprintAuthAttemptModel()
+
+  data class Error(
+    val error: Int,
+    val message: String,
+  ) : FingerprintAuthAttemptModel()
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/shared/model/FingerprintFlow.kt b/src/com/android/settings/biometrics/fingerprint2/shared/model/FingerprintFlow.kt
new file mode 100644
index 0000000..93c7577
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/shared/model/FingerprintFlow.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.biometrics.fingerprint2.shared.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()
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..de2a1ee
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/activity/FingerprintEnrollmentV2Activity.kt
@@ -0,0 +1,343 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.provider.Settings
+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.domain.interactor.FingerprintManagerInteractorImpl
+import com.android.settings.biometrics.fingerprint2.shared.model.Default
+import com.android.settings.biometrics.fingerprint2.shared.model.SetupWizard
+import com.android.settings.biometrics.fingerprint2.repository.PressToAuthProviderImpl
+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.AccessibilityViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.BackgroundViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Confirmation
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Education
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Enrollment
+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.FingerprintEnrollNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintGatekeeperViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintScrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Finish
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FoldStateViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.GatekeeperInfo
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Intro
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.LaunchConfirmDeviceCredential
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.OrientationStateViewModel
+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.combine
+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: FingerprintEnrollNavigationViewModel
+  private lateinit var gatekeeperViewModel: FingerprintGatekeeperViewModel
+  private lateinit var fingerprintEnrollViewModel: FingerprintEnrollViewModel
+  private lateinit var accessibilityViewModel: AccessibilityViewModel
+  private lateinit var foldStateViewModel: FoldStateViewModel
+  private lateinit var orientationStateViewModel: OrientationStateViewModel
+  private lateinit var fingerprintScrollViewModel: FingerprintScrollViewModel
+  private lateinit var backgroundViewModel: BackgroundViewModel
+  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)
+    foldStateViewModel.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 {
+      gatekeeperViewModel.onConfirmDevice(wasSuccessful, gateKeeperPasswordHandle)
+    }
+  }
+
+  override fun onCreate(savedInstanceState: Bundle?) {
+    super.onCreate(savedInstanceState)
+    setContentView(R.layout.fingerprint_v2_enroll_main)
+
+    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]
+
+
+    val interactor =
+      FingerprintManagerInteractorImpl(
+        context,
+        backgroundDispatcher,
+        fingerprintManager,
+        GatekeeperPasswordProvider(LockPatternUtils(context)),
+        PressToAuthProviderImpl(context),
+        enrollType,
+      )
+
+    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)
+
+    gatekeeperViewModel =
+      ViewModelProvider(
+        this,
+        FingerprintGatekeeperViewModel.FingerprintGatekeeperViewModelFactory(
+          gatekeeperInfo,
+          interactor,
+        )
+      )[FingerprintGatekeeperViewModel::class.java]
+
+    navigationViewModel =
+      ViewModelProvider(
+        this,
+        FingerprintEnrollNavigationViewModel.FingerprintEnrollNavigationViewModelFactory(
+          backgroundDispatcher,
+          interactor,
+          gatekeeperViewModel,
+          gatekeeperInfo is GatekeeperInfo.GatekeeperPasswordInfo,
+          enrollType,
+        )
+      )[FingerprintEnrollNavigationViewModel::class.java]
+
+    // Initialize FoldStateViewModel
+    foldStateViewModel =
+      ViewModelProvider(this, FoldStateViewModel.FoldStateViewModelFactory(context))[
+        FoldStateViewModel::class.java]
+    foldStateViewModel.onConfigurationChange(resources.configuration)
+
+    // Initialize FingerprintViewModel
+    fingerprintEnrollViewModel =
+      ViewModelProvider(
+        this,
+        FingerprintEnrollViewModel.FingerprintEnrollViewModelFactory(
+          interactor,
+          gatekeeperViewModel,
+          navigationViewModel,
+        )
+      )[FingerprintEnrollViewModel::class.java]
+
+    // Initialize scroll view model
+    fingerprintScrollViewModel =
+      ViewModelProvider(this, FingerprintScrollViewModel.FingerprintScrollViewModelFactory())[
+        FingerprintScrollViewModel::class.java]
+
+    // Initialize AccessibilityViewModel
+    accessibilityViewModel =
+      ViewModelProvider(
+        this,
+        AccessibilityViewModel.AccessibilityViewModelFactory(
+          getSystemService(AccessibilityManager::class.java)!!
+        )
+      )[AccessibilityViewModel::class.java]
+
+    // Initialize OrientationViewModel
+    orientationStateViewModel =
+      ViewModelProvider(this, OrientationStateViewModel.OrientationViewModelFactory(context))[
+        OrientationStateViewModel::class.java]
+
+    // Initialize FingerprintEnrollEnrollingViewModel
+    fingerprintEnrollEnrollingViewModel =
+      ViewModelProvider(
+        this,
+        FingerprintEnrollEnrollingViewModel.FingerprintEnrollEnrollingViewModelFactory(
+          fingerprintEnrollViewModel,
+          backgroundViewModel
+        )
+      )[FingerprintEnrollEnrollingViewModel::class.java]
+
+    // Initialize FingerprintEnrollFindSensorViewModel
+    ViewModelProvider(
+      this,
+      FingerprintEnrollFindSensorViewModel.FingerprintEnrollFindSensorViewModelFactory(
+        navigationViewModel,
+        fingerprintEnrollViewModel,
+        gatekeeperViewModel,
+        backgroundViewModel,
+        accessibilityViewModel,
+        foldStateViewModel,
+        orientationStateViewModel
+      )
+    )[FingerprintEnrollFindSensorViewModel::class.java]
+
+    // Initialize RFPS View Model
+    ViewModelProvider(
+      this,
+      RFPSViewModel.RFPSViewModelFactory(fingerprintEnrollEnrollingViewModel)
+    )[RFPSViewModel::class.java]
+
+    lifecycleScope.launch {
+      navigationViewModel.navigationViewModel
+        .filterNotNull()
+        .combine(fingerprintEnrollViewModel.sensorType) { nav, sensorType -> Pair(nav, sensorType) }
+        .collect { (nav, sensorType) ->
+          Log.d(TAG, "navigationStep $nav")
+          fingerprintEnrollViewModel.sensorTypeCached = sensorType
+          val isForward = nav.forward
+          val currStep = nav.currStep
+          val theClass: Class<Fragment>? =
+            when (currStep) {
+              Confirmation -> FingerprintEnrollConfirmationV2Fragment::class.java as Class<Fragment>
+              Education -> FingerprintEnrollFindSensorV2Fragment::class.java as Class<Fragment>
+              is Enrollment -> {
+                when (sensorType) {
+                  FingerprintSensorType.REAR -> RFPSEnrollFragment::class.java as Class<Fragment>
+                  else -> FingerprintEnrollEnrollingV2Fragment::class.java as Class<Fragment>
+                }
+              }
+              Intro -> FingerprintEnrollIntroV2Fragment::class.java as Class<Fragment>
+              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()
+          } else {
+
+            if (currStep is Finish) {
+              if (currStep.resultCode != null) {
+                finishActivity(currStep.resultCode)
+              } else {
+                finish()
+              }
+            } else if (currStep == LaunchConfirmDeviceCredential) {
+              launchConfirmOrChooseLock(userId)
+            }
+          }
+        }
+    }
+
+    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..b12491f
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollConfirmationV2Fragment.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.biometrics.fingerprint2.ui.enrollment.fragment
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import androidx.lifecycle.ViewModelProvider
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollNavigationViewModel
+
+/**
+ * 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() {
+
+  override fun onCreate(savedInstanceState: Bundle?) {
+    super.onCreate(savedInstanceState)
+    if (savedInstanceState == null) {
+      val navigationViewModel =
+        ViewModelProvider(requireActivity())[FingerprintEnrollNavigationViewModel::class.java]
+    }
+  }
+}
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..0140d57
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollEnrollingV2Fragment.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.biometrics.fingerprint2.ui.enrollment.fragment
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import androidx.lifecycle.ViewModelProvider
+import com.android.settings.R
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollNavigationViewModel
+
+/** 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)
+    if (savedInstanceState == null) {
+      val navigationViewModel =
+        ViewModelProvider(requireActivity())[FingerprintEnrollNavigationViewModel::class.java]
+    }
+  }
+}
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..bfd4264
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollFindSensorV2Fragment.kt
@@ -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.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.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.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollViewModel
+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 : Fragment() {
+  // 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(requireActivity())[FingerprintEnrollFindSensorViewModel::class.java]
+  }
+
+  override fun onCreateView(
+    inflater: LayoutInflater,
+    container: ViewGroup?,
+    savedInstanceState: Bundle?
+  ): View? {
+
+    val sensorType =
+      ViewModelProvider(requireActivity())[FingerprintEnrollViewModel::class.java].sensorTypeCached
+
+    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
+      }
+
+    return inflater.inflate(contentLayoutId, container, false).also { it ->
+      val view = it!! as GlifLayout
+
+      // Set up header and description
+      lifecycleScope.launch { viewModel.sensorType.collect { setTexts(it, 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)
+        }
+      }
+    }
+  }
+
+  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 {
+          run {
+            // TODO: Show the dialog for suw
+            Log.d(TAG, "onSkipClicked")
+            // TODO: Finish activity in the root activity instead.
+            requireActivity().finish()
+          }
+        }
+        .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 {
+          run {
+            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..32d201d
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollIntroV2Fragment.kt
@@ -0,0 +1,315 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.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.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.shared.model.Unicorn
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollViewModel
+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.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
+
+  // Note that the ViewModels cannot be requested before the onCreate call
+  private val navigationViewModel: FingerprintEnrollNavigationViewModel by lazy {
+    viewModelProvider[FingerprintEnrollNavigationViewModel::class.java]
+  }
+  private val fingerprintViewModel: FingerprintEnrollViewModel by lazy {
+    viewModelProvider[FingerprintEnrollViewModel::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(
+            navigationViewModel.fingerprintFlow,
+            fingerprintViewModel.sensorType,
+          ) { enrollType, sensorType ->
+            Pair(enrollType, 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 {
+        Log.d(TAG, "OnNextClicked")
+        navigationViewModel.nextStep()
+      }
+
+    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({ Log.d(TAG, "prevClicked") })
+        .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..d8c2f5a
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/fragment/RFPSEnrollFragment.kt
@@ -0,0 +1,252 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.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.shared.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.OrientationStateViewModel
+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.flow.collectLatest
+import kotlinx.coroutines.flow.filter
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.launch
+
+private const val TAG = "RFPSEnrollFragment"
+
+/** This fragment is responsible for taking care of rear fingerprint enrollment. */
+class RFPSEnrollFragment : Fragment(R.layout.fingerprint_v2_rfps_enroll_enrolling) {
+
+  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(requireActivity())[RFPSIconTouchViewModel::class.java]
+  }
+
+  private val orientationViewModel: OrientationStateViewModel by lazy {
+    ViewModelProvider(requireActivity())[OrientationStateViewModel::class.java]
+  }
+
+  private val rfpsViewModel: RFPSViewModel by lazy {
+    ViewModelProvider(requireActivity())[RFPSViewModel::class.java]
+  }
+
+  private val backgroundViewModel: BackgroundViewModel by lazy {
+    ViewModelProvider(requireActivity())[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 { Log.e(TAG, "skip enrollment!") }
+        .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
+    }
+
+    // On any orientation event, dismiss dialogs.
+    viewLifecycleOwner.lifecycleScope.launch {
+      orientationViewModel.orientation.collect { dismissDialogs() }
+    }
+
+    // Signal we are ready for enrollment.
+    rfpsViewModel.readyForEnrollment()
+
+    viewLifecycleOwner.lifecycleScope.launch {
+      repeatOnLifecycle(Lifecycle.State.RESUMED) {
+        // Icon animation  update
+        viewLifecycleOwner.lifecycleScope.launch {
+          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.stopEnrollment() }
+    }
+
+    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()
+      }
+    }
+    return view
+  }
+
+  private fun handleEnrollError(error: FingerEnrollState.EnrollError) {
+    val fragment = this
+    viewLifecycleOwner.lifecycleScope.launch {
+      try {
+        val shouldRestartEnrollment = FingerprintErrorDialog.showInstance(error, fragment)
+      } catch (exception: Exception) {
+        Log.e(TAG, "Exception occurred $exception")
+      }
+      onEnrollmentFailed()
+    }
+  }
+
+  private fun onEnrollmentFailed() {
+    rfpsViewModel.stopEnrollment()
+  }
+
+  private fun handleEnrollProgress(progress: FingerEnrollState.EnrollProgress) {
+    progressBar.updateProgress(
+      progress.remainingSteps.toFloat() / progress.totalStepsRequired.toFloat()
+    )
+
+    if (progress.remainingSteps == 0) {
+      performNextStepSuccess()
+    }
+  }
+
+  private fun performNextStepSuccess() {}
+
+  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()
+  }
+}
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..c16e65c
--- /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..58d604e
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/viewmodel/RFPSViewModel.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.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.shared.model.FingerEnrollState
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollEnrollingViewModel
+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.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,
+) : ViewModel() {
+
+  /** Value to indicate if the text view is visible or not **/
+  private val _textViewIsVisible = MutableStateFlow<Boolean>(false)
+  val textViewIsVisible: Flow<Boolean> = _textViewIsVisible.asStateFlow()
+
+  /** Indicates if the icon should be animating or not */
+  val shouldAnimateIcon = fingerprintEnrollViewModel.enrollFlowShouldBeRunning
+
+  private val 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, 1)
+
+  /** 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 if the consumer is ready for enrollment */
+  fun readyForEnrollment() {
+    fingerprintEnrollViewModel.canEnroll()
+  }
+
+  /** Indicates if enrollment should stop */
+  fun stopEnrollment() {
+    fingerprintEnrollViewModel.stopEnroll()
+  }
+
+  fun setVisibility(isVisible: Boolean) {
+    _textViewIsVisible.update { isVisible }
+  }
+
+  class RFPSViewModelFactory(
+    private val fingerprintEnrollEnrollingViewModel: FingerprintEnrollEnrollingViewModel,
+  ) : ViewModelProvider.Factory {
+
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(
+      modelClass: Class<T>,
+    ): T {
+      return RFPSViewModel(fingerprintEnrollEnrollingViewModel) as T
+    }
+  }
+}
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..b9c628e
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/widget/FingerprintErrorDialog.kt
@@ -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.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.shared.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..fe62681
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/widget/RFPSProgressBar.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.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.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(context: Context, attributeSet: AttributeSet) :
+  RingProgressBar(context, attributeSet) {
+
+  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 = true
+
+  init {
+    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()
+          }
+        }
+      }
+    )
+    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/AccessibilityViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/AccessibilityViewModel.kt
new file mode 100644
index 0000000..a86ad5d
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/AccessibilityViewModel.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.biometrics.fingerprint2.ui.enrollment.viewmodel
+
+import android.view.accessibility.AccessibilityManager
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.viewModelScope
+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. */
+class AccessibilityViewModel(accessibilityManager: AccessibilityManager) : ViewModel() {
+  /** A flow that contains whether or not accessibility is enabled */
+  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(
+        viewModelScope, // This is going to tied to the view model scope
+        SharingStarted.WhileSubscribed(), // When no longer subscribed, we removeTheListener
+        false
+      )
+
+  class AccessibilityViewModelFactory(private val accessibilityManager: AccessibilityManager) :
+    ViewModelProvider.Factory {
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(
+      modelClass: Class<T>,
+    ): T {
+      return AccessibilityViewModel(accessibilityManager) as T
+    }
+  }
+}
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/FingerprintEnrollEnrollingViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollEnrollingViewModel.kt
new file mode 100644
index 0000000..7ab315e
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollEnrollingViewModel.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.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..7722a46
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollFindSensorViewModel.kt
@@ -0,0 +1,198 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.shared.model.FingerEnrollState
+import com.android.settings.biometrics.fingerprint2.shared.model.SetupWizard
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.SharingStarted
+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.shareIn
+import kotlinx.coroutines.flow.update
+import kotlinx.coroutines.launch
+
+/** Models the UI state for [FingerprintEnrollFindSensorV2Fragment]. */
+class FingerprintEnrollFindSensorViewModel(
+  private val navigationViewModel: FingerprintEnrollNavigationViewModel,
+  private val fingerprintEnrollViewModel: FingerprintEnrollViewModel,
+  private val gatekeeperViewModel: FingerprintGatekeeperViewModel,
+  backgroundViewModel: BackgroundViewModel,
+  accessibilityViewModel: AccessibilityViewModel,
+  foldStateViewModel: FoldStateViewModel,
+  orientationStateViewModel: OrientationStateViewModel
+) : ViewModel() {
+  /** Represents the stream of sensor type. */
+  val sensorType: Flow<FingerprintSensorType> =
+    fingerprintEnrollViewModel.sensorType.shareIn(
+      viewModelScope,
+      SharingStarted.WhileSubscribed(),
+      1
+    )
+  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,
+      foldStateViewModel.isFolded,
+      orientationStateViewModel.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(accessibilityViewModel.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(
+          fingerprintEnrollViewModel.sensorType,
+          gatekeeperViewModel.hasValidGatekeeperInfo,
+          gatekeeperViewModel.gatekeeperInfo,
+          navigationViewModel.navigationViewModel
+        ) { sensorType, hasValidGatekeeperInfo, gatekeeperInfo, navigationViewModel ->
+          val shouldStartEnroll =
+            navigationViewModel.currStep == 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(
+              navigationViewModel.fingerprintFlow,
+              fingerprintEnrollViewModel.educationEnrollFlow.filterNotNull(),
+            ) { enrollType, educationFlow ->
+              Pair(enrollType, educationFlow)
+            }
+            .collect { (enrollType, educationFlow) ->
+              when (educationFlow) {
+                // TODO: Cancel the enroll() when EnrollProgress is received instead of proceeding
+                // to
+                // Enrolling page. Otherwise Enrolling page will receive the EnrollError.
+                is FingerEnrollState.EnrollProgress -> proceedToEnrolling()
+                is FingerEnrollState.EnrollError -> {
+                  if (educationFlow.isCancelled) {
+                    proceedToEnrolling()
+                  } else {
+                    _showErrorDialog.update { Pair(educationFlow.errString, enrollType == 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() {
+    navigationViewModel.nextStep()
+  }
+
+  class FingerprintEnrollFindSensorViewModelFactory(
+    private val navigationViewModel: FingerprintEnrollNavigationViewModel,
+    private val fingerprintEnrollViewModel: FingerprintEnrollViewModel,
+    private val gatekeeperViewModel: FingerprintGatekeeperViewModel,
+    private val backgroundViewModel: BackgroundViewModel,
+    private val accessibilityViewModel: AccessibilityViewModel,
+    private val foldStateViewModel: FoldStateViewModel,
+    private val orientationStateViewModel: OrientationStateViewModel
+  ) : ViewModelProvider.Factory {
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(modelClass: Class<T>): T {
+      return FingerprintEnrollFindSensorViewModel(
+        navigationViewModel,
+        fingerprintEnrollViewModel,
+        gatekeeperViewModel,
+        backgroundViewModel,
+        accessibilityViewModel,
+        foldStateViewModel,
+        orientationStateViewModel
+      )
+        as T
+    }
+  }
+}
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..c7a1071
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollViewModel.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.biometrics.fingerprint2.ui.enrollment.viewmodel
+
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.viewModelScope
+import com.android.settings.biometrics.fingerprint2.shared.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollState
+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,
+  navigationViewModel: FingerprintEnrollNavigationViewModel,
+) : 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.navigationViewModel.map {
+      when (it.currStep) {
+        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: FingerprintEnrollNavigationViewModel,
+  ) : 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/FingerprintEnrolllNavigationViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrolllNavigationViewModel.kt
new file mode 100644
index 0000000..2e5dce0
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrolllNavigationViewModel.kt
@@ -0,0 +1,141 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.shared.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintFlow
+import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.asStateFlow
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.flow.shareIn
+import kotlinx.coroutines.flow.update
+import kotlinx.coroutines.launch
+
+private const val TAG = "FingerprintEnrollNavigationViewModel"
+
+/**
+ * This class is responsible for sending a [NavigationStep] which indicates where the user is in the
+ * Fingerprint Enrollment flow
+ */
+class FingerprintEnrollNavigationViewModel(
+  private val dispatcher: CoroutineDispatcher,
+  private val fingerprintManagerInteractor: FingerprintManagerInteractor,
+  private val gatekeeperViewModel: FingerprintGatekeeperViewModel,
+  private val firstStep: NextStepViewModel,
+  private val navState: NavState,
+  private val theFingerprintFlow: FingerprintFlow,
+) : ViewModel() {
+
+  private class InternalNavigationStep(
+    lastStep: NextStepViewModel,
+    nextStep: NextStepViewModel,
+    forward: Boolean,
+    var canNavigate: Boolean,
+  ) : NavigationStep(lastStep, nextStep, forward)
+
+  private var _fingerprintFlow = MutableStateFlow<FingerprintFlow?>(theFingerprintFlow)
+
+  /** A flow that indicates the [FingerprintFlow] */
+  val fingerprintFlow: Flow<FingerprintFlow?> = _fingerprintFlow.asStateFlow()
+
+  private val _navigationStep =
+    MutableStateFlow(
+      InternalNavigationStep(PlaceHolderState, firstStep, forward = false, canNavigate = true)
+    )
+
+  init {
+    viewModelScope.launch {
+      gatekeeperViewModel.credentialConfirmed.filterNotNull().collect {
+        if (_navigationStep.value.currStep is LaunchConfirmDeviceCredential) {
+          if (it) nextStep() else finish()
+        }
+      }
+    }
+  }
+
+  /**
+   * A flow that contains the [NavigationStep] used to indicate where in the enrollment process the
+   * user is.
+   */
+  val navigationViewModel: Flow<NavigationStep> = _navigationStep.asStateFlow()
+
+  /** This action indicates that the UI should actually update the navigation to the given step. */
+  val navigationAction: Flow<NavigationStep?> =
+    _navigationStep.shareIn(viewModelScope, SharingStarted.Lazily, 0)
+
+  /** Used to start the next step of Fingerprint Enrollment. */
+  fun nextStep() {
+    viewModelScope.launch {
+      val currStep = _navigationStep.value.currStep
+      val nextStep = currStep.next(navState)
+      Log.d(TAG, "nextStep(${currStep} -> $nextStep)")
+      _navigationStep.update {
+        InternalNavigationStep(currStep, nextStep, forward = true, canNavigate = false)
+      }
+    }
+  }
+
+  /** Go back a step of fingerprint enrollment. */
+  fun prevStep() {
+    viewModelScope.launch {
+      val currStep = _navigationStep.value.currStep
+      val nextStep = currStep.prev(navState)
+      _navigationStep.update {
+        InternalNavigationStep(currStep, nextStep, forward = false, canNavigate = false)
+      }
+    }
+  }
+
+  private fun finish() {
+    _navigationStep.update {
+      InternalNavigationStep(Finish(null), Finish(null), forward = false, canNavigate = false)
+    }
+  }
+
+  class FingerprintEnrollNavigationViewModelFactory(
+    private val backgroundDispatcher: CoroutineDispatcher,
+    private val fingerprintManagerInteractor: FingerprintManagerInteractor,
+    private val fingerprintGatekeeperViewModel: FingerprintGatekeeperViewModel,
+    private val canSkipConfirm: Boolean,
+    private val fingerprintFlow: FingerprintFlow,
+  ) : ViewModelProvider.Factory {
+
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(
+      modelClass: Class<T>,
+    ): T {
+
+      val navState = NavState(canSkipConfirm)
+      return FingerprintEnrollNavigationViewModel(
+        backgroundDispatcher,
+        fingerprintManagerInteractor,
+        fingerprintGatekeeperViewModel,
+        Start.next(navState),
+        navState,
+        fingerprintFlow,
+      )
+        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..db93d02
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintGatekeeperViewModel.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.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.shared.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
+
+private const val TAG = "FingerprintGatekeeperViewModel"
+
+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) {}
+      }
+  }
+
+  companion object {
+    /**
+     * 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)
+    }
+  }
+
+  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
+    }
+  }
+}
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..989d4d3
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintScrollViewModel.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.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/enrollment/viewmodel/FoldStateViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FoldStateViewModel.kt
new file mode 100644
index 0000000..a4c7ff2
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FoldStateViewModel.kt
@@ -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.biometrics.fingerprint2.ui.enrollment.viewmodel
+
+import android.content.Context
+import android.content.res.Configuration
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+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
+
+/** Represents all of the information on fold state. */
+class FoldStateViewModel(context: Context) : ViewModel() {
+
+  private val screenSizeFoldProvider = ScreenSizeFoldProvider(context)
+
+  /** A flow that contains the fold state info */
+  val isFolded: Flow<Boolean> = callbackFlow {
+    val foldStateListener =
+      object : FoldProvider.FoldCallback {
+        override fun onFoldUpdated(isFolded: Boolean) {
+          trySend(isFolded)
+        }
+      }
+    screenSizeFoldProvider.registerCallback(foldStateListener, context.mainExecutor)
+    awaitClose { screenSizeFoldProvider.unregisterCallback(foldStateListener) }
+  }
+
+  fun onConfigurationChange(newConfig: Configuration) {
+    screenSizeFoldProvider.onConfigurationChange(newConfig)
+  }
+
+  class FoldStateViewModelFactory(private val context: Context) : ViewModelProvider.Factory {
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(
+      modelClass: Class<T>,
+    ): T {
+      return FoldStateViewModel(context) as T
+    }
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/NextStepViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/NextStepViewModel.kt
new file mode 100644
index 0000000..b68f6d6
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/NextStepViewModel.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.viewmodel
+
+/**
+ * A class that represents an action that the consumer should transition between lastStep and
+ * currStep and in what direction this transition is occurring (e.g. forward or backwards)
+ */
+open class NavigationStep(
+  val lastStep: NextStepViewModel,
+  val currStep: NextStepViewModel,
+  val forward: Boolean
+) {
+  override fun toString(): String {
+    return "lastStep=$lastStep, currStep=$currStep, forward=$forward"
+  }
+}
+
+/** The navigation state used by a [NavStep] to determine what the [NextStepViewModel] should be. */
+class NavState(val confirmedDevice: Boolean)
+
+interface NavStep<T> {
+  fun next(state: NavState): T
+  fun prev(state: NavState): T
+}
+
+/**
+ * A class to represent a high level step (I.E. EnrollmentIntroduction) for FingerprintEnrollment.
+ */
+sealed class NextStepViewModel : NavStep<NextStepViewModel>
+
+/**
+ * This is the initial state for the previous step, used to indicate that there have been no
+ * previous states.
+ */
+object PlaceHolderState : NextStepViewModel() {
+  override fun next(state: NavState): NextStepViewModel = Finish(null)
+
+  override fun prev(state: NavState): NextStepViewModel = Finish(null)
+}
+
+/**
+ * This state is the initial state for the current step, and will be used to determine if the user
+ * needs to [LaunchConfirmDeviceCredential] if not, it will go to [Intro]
+ */
+data object Start : NextStepViewModel() {
+  override fun next(state: NavState): NextStepViewModel =
+    if (state.confirmedDevice) Intro else LaunchConfirmDeviceCredential
+
+  override fun prev(state: NavState): NextStepViewModel = Finish(null)
+}
+
+/** State indicating enrollment has been completed */
+class Finish(val resultCode: Int?) : NextStepViewModel() {
+  override fun next(state: NavState): NextStepViewModel = Finish(resultCode)
+  override fun prev(state: NavState): NextStepViewModel = Finish(null)
+}
+
+/** State for the FingerprintEnrollment introduction */
+data object Intro : NextStepViewModel() {
+  override fun next(state: NavState): NextStepViewModel = Education
+  override fun prev(state: NavState): NextStepViewModel = Finish(null)
+}
+
+/** State for the FingerprintEnrollment education */
+data object Education : NextStepViewModel() {
+  override fun next(state: NavState): NextStepViewModel = Enrollment
+  override fun prev(state: NavState): NextStepViewModel = Intro
+}
+
+/** State for the FingerprintEnrollment enrollment */
+data object Enrollment : NextStepViewModel() {
+  override fun next(state: NavState): NextStepViewModel = Confirmation
+  override fun prev(state: NavState): NextStepViewModel = Education
+}
+
+/** State for the FingerprintEnrollment confirmation */
+object Confirmation : NextStepViewModel() {
+  override fun next(state: NavState): NextStepViewModel = Finish(0)
+  override fun prev(state: NavState): NextStepViewModel = Intro
+}
+
+/**
+ * State used to send the user to the ConfirmDeviceCredential activity. This activity can either
+ * confirm a users device credential, or have them create one.
+ */
+object LaunchConfirmDeviceCredential : NextStepViewModel() {
+  override fun next(state: NavState): NextStepViewModel = Intro
+  override fun prev(state: NavState): NextStepViewModel = Finish(0)
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/OrientationStateViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/OrientationStateViewModel.kt
new file mode 100644
index 0000000..2e5f734
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/OrientationStateViewModel.kt
@@ -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.biometrics.fingerprint2.ui.enrollment.viewmodel
+
+import android.content.Context
+import android.view.OrientationEventListener
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.viewModelScope
+import com.android.internal.R
+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 orientation state and rotation state. */
+class OrientationStateViewModel(private val context: Context) : ViewModel() {
+
+  /** A flow that contains the orientation info */
+  val orientation: Flow<Int> = callbackFlow {
+    val orientationEventListener =
+      object : OrientationEventListener(context) {
+        override fun onOrientationChanged(orientation: Int) {
+          trySend(orientation)
+        }
+      }
+    orientationEventListener.enable()
+    awaitClose { orientationEventListener.disable() }
+  }
+
+  /** A flow that contains the rotation info */
+  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(
+        viewModelScope, // This is going to tied to the view model scope
+        SharingStarted.WhileSubscribed(), // When no longer subscribed, we removeTheListener
+        context.display!!.rotation
+      )
+
+  fun getRotationFromDefault(rotation: Int): Int {
+    val isReverseDefaultRotation =
+      context.resources.getBoolean(R.bool.config_reverseDefaultRotation)
+    return if (isReverseDefaultRotation) {
+      (rotation + 1) % 4
+    } else {
+      rotation
+    }
+  }
+
+  class OrientationViewModelFactory(private val context: Context) : ViewModelProvider.Factory {
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(
+      modelClass: Class<T>,
+    ): T {
+      return OrientationStateViewModel(context) 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..debdfb8
--- /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.shared.model.FingerprintAuthAttemptModel
+import com.android.settings.biometrics.fingerprint2.shared.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..71a22eb
--- /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.shared.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..ea26946
--- /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.shared.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..ff469f1
--- /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.shared.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..c22a5a7
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsV2Fragment.kt
@@ -0,0 +1,582 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.domain.interactor.FingerprintManagerInteractorImpl
+import com.android.settings.biometrics.fingerprint2.repository.PressToAuthProviderImpl
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptModel
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintData
+import com.android.settings.biometrics.fingerprint2.shared.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 interactor =
+      FingerprintManagerInteractorImpl(
+        context.applicationContext,
+        backgroundDispatcher,
+        fingerprintManager,
+        GatekeeperPasswordProvider(LockPatternUtils(context.applicationContext)),
+        PressToAuthProviderImpl(context),
+        isAnySuw
+      )
+
+    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..22a25e1
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsNavigationViewModel.kt
@@ -0,0 +1,198 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.shared.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..164f79f
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsViewModel.kt
@@ -0,0 +1,336 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.shared.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptModel
+import com.android.settings.biometrics.fingerprint2.shared.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..d9155b6
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/NextStepViewModel.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.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..181da4e
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/PreferenceViewModel.kt
@@ -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.biometrics.fingerprint2.ui.settings.viewmodel
+
+import com.android.settings.biometrics.fingerprint2.shared.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..9b25ee8 100644
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModel.java
+++ b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModel.java
@@ -16,6 +16,7 @@
 
 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;
@@ -41,6 +42,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 +60,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 +70,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 +97,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 +161,10 @@
         return mErrorMessageLiveData;
     }
 
+    public LiveData<Object> getCanceledSignalLiveData() {
+        return mCanceledSignalLiveData;
+    }
+
     public LiveData<Boolean> getAcquireLiveData() {
         return mAcquireLiveData;
     }
@@ -167,14 +180,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 + ")");
@@ -204,7 +217,7 @@
             mFingerprintUpdater.enroll(mToken, mCancellationSignal, mUserId, mEnrollmentCallback,
                     reason);
         }
-        return true;
+        return mCancellationSignal;
     }
 
     /**
@@ -212,13 +225,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..23ba4f6 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.connecteddevice.audiosharing.AudioSharingUtils;
 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,32 @@
 
         boolean isFilterMatched = false;
         if (isDeviceConnected(cachedDevice) && isDeviceInCachedDevicesList(cachedDevice)) {
-            if (DBG) {
-                Log.d(TAG, "isFilterMatched() current audio profile : " + currentAudioProfile);
-            }
-            // If device is Hearing Aid or LE Audio, it is compatible with HFP and A2DP.
+            Log.d(TAG, "isFilterMatched() current audio profile : " + currentAudioProfile);
+
+            // 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;
             }
+            // 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()) {
+                if (!AudioSharingUtils.isFeatureEnabled()
+                        || !AudioSharingUtils.hasBroadcastSource(cachedDevice, mLocalManager)) {
+                    Log.d(
+                            TAG,
+                            "isFilterMatched() device : "
+                                    + cachedDevice.getName()
+                                    + ", the LE Audio profile is connected and not in sharing.");
+                    return true;
+                }
+            }
             // According to the current audio profile type,
             // this page will show the bluetooth device that have corresponding profile.
             // For example:
@@ -91,10 +110,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 +123,15 @@
     @Override
     public boolean onPreferenceClick(Preference preference) {
         mMetricsFeatureProvider.logClickedPreference(preference, mMetricsCategory);
-        final CachedBluetoothDevice device = ((BluetoothDevicePreference) preference)
-                .getBluetoothDevice();
+        final CachedBluetoothDevice device =
+                ((BluetoothDevicePreference) preference).getBluetoothDevice();
+        if (AudioSharingUtils.isFeatureEnabled()
+                && AudioSharingUtils.isBroadcasting(mLocalBtManager)) {
+            if (DBG) {
+                Log.d(TAG, "onPreferenceClick stop broadcasting.");
+            }
+            AudioSharingUtils.stopBroadcasting(mLocalBtManager);
+        }
         return device.setActive();
     }
 
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..18ad210 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;
@@ -51,8 +50,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..5e41a20 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
@@ -173,8 +173,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 +184,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 +203,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 +305,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,
@@ -318,6 +328,9 @@
                     mCachedDevice, lifecycle));
             controllers.add(new BluetoothDetailsDataSyncController(context, this,
                     mCachedDevice, lifecycle));
+            controllers.add(
+                    new BluetoothDetailsExtraOptionsController(
+                            context, this, mCachedDevice, lifecycle));
         }
         return controllers;
     }
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/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..6fd5070 100644
--- a/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java
+++ b/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java
@@ -68,7 +68,7 @@
 
         mBluetoothEnabler = new BluetoothEnabler(context,
                 switchController,
-                FeatureFactory.getFactory(context).getMetricsFeatureProvider(),
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(),
                 SettingsEnums.ACTION_SETTINGS_MASTER_SWITCH_BLUETOOTH_TOGGLE,
                 mRestrictionUtils);
         mBluetoothEnabler.setToggleCallback(this);
diff --git a/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.kt b/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.kt
index f18ae46..77a80b8 100644
--- a/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.kt
+++ b/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.kt
@@ -55,7 +55,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 +96,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 +107,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 +197,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)
             }
         }
@@ -277,19 +286,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..bfd4221 100644
--- a/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java
@@ -38,7 +38,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,11 +99,9 @@
     @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());
-        }
+        Log.d(TAG, "isFilterMatched() device name : " + cachedDevice.getName() +
+                ", is connected : " + device.isConnected() + ", is profile connected : "
+                + cachedDevice.isConnected());
         return device.getBondState() == BluetoothDevice.BOND_BONDED
                 && (mShowConnectedDevice || (!device.isConnected() && isDeviceInCachedDevicesList(
                 cachedDevice)));
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..27001d6 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;
@@ -29,10 +27,15 @@
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.Utils;
+import com.android.settings.connecteddevice.audiosharing.AudioSharingDevicePreferenceController;
+import com.android.settings.connecteddevice.audiosharing.AudioSharingUtils;
 import com.android.settings.core.SettingsUIDeviceConfig;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.overlay.SurveyFeatureProvider;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.slices.SlicePreferenceController;
+import com.android.settingslib.bluetooth.HearingAidStatsLogUtils;
 import com.android.settingslib.search.SearchIndexable;
 
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
@@ -42,10 +45,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 +71,56 @@
     @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);
+        }
+        if (AudioSharingUtils.isFeatureEnabled()) {
+            use(AudioSharingDevicePreferenceController.class).init(this);
         }
         use(AvailableMediaDeviceGroupController.class).init(this);
         use(ConnectedDeviceGroupController.class).init(this);
         use(PreviouslyConnectedDevicePreferenceController.class).init(this);
-        use(SlicePreferenceController.class).setSliceUri(nearbyEnabled
-                ? Uri.parse(getString(R.string.config_nearby_devices_slice_uri))
-                : null);
+        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);
+            }
+        }
     }
 
     @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);
 }
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..3fd5127
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java
@@ -0,0 +1,608 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.bluetooth.BluetoothProfile;
+import android.content.Context;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+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.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 LocalBluetoothLeBroadcast mBroadcast;
+    private final LocalBluetoothLeBroadcastAssistant mAssistant;
+    private final Executor mExecutor;
+    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();
+                }
+
+                @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);
+        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_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(
+                    () -> {
+                        closeOpeningDialogs();
+                        AudioSharingStopDialogFragment.show(
+                                mFragment,
+                                cachedDevice.getName(),
+                                () -> 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(
+                        () -> {
+                            closeOpeningDialogs();
+                            AudioSharingDisconnectDialogFragment.show(
+                                    mFragment,
+                                    deviceItemsInSharingSession,
+                                    cachedDevice.getName(),
+                                    (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(
+                        () -> {
+                            closeOpeningDialogs();
+                            AudioSharingJoinDialogFragment.show(
+                                    mFragment,
+                                    deviceItemsInSharingSession,
+                                    cachedDevice.getName(),
+                                    () -> {
+                                        // 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(
+                        () -> {
+                            closeOpeningDialogs();
+                            AudioSharingJoinDialogFragment.show(
+                                    mFragment,
+                                    deviceItems,
+                                    cachedDevice.getName(),
+                                    () -> {
+                                        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 closeOpeningDialogs() {
+        if (mFragment == null) return;
+        List<Fragment> fragments = mFragment.getChildFragmentManager().getFragments();
+        for (Fragment fragment : fragments) {
+            if (fragment instanceof DialogFragment) {
+                Log.d(TAG, "Remove staled opening dialog " + fragment.getTag());
+                ((DialogFragment) fragment).dismiss();
+            }
+        }
+    }
+
+    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..a2b1824
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragment.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.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 java.util.ArrayList;
+
+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;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DIALOG_AUDIO_SHARING_SWITCH_DEVICE;
+    }
+
+    /**
+     * Display the {@link AudioSharingDisconnectDialogFragment} dialog.
+     *
+     * @param host The Fragment this dialog will be hosted.
+     * @param deviceItems The existing connected device items in audio sharing session.
+     * @param newDeviceName The name of 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,
+            String newDeviceName,
+            DialogEventListener listener) {
+        if (!AudioSharingUtils.isFeatureEnabled()) return;
+        final FragmentManager manager = host.getChildFragmentManager();
+        sListener = listener;
+        final Bundle bundle = new Bundle();
+        bundle.putParcelableArrayList(BUNDLE_KEY_DEVICE_TO_DISCONNECT_ITEMS, deviceItems);
+        bundle.putString(BUNDLE_KEY_NEW_DEVICE_NAME, newDeviceName);
+        AudioSharingDisconnectDialogFragment dialog = new AudioSharingDisconnectDialogFragment();
+        dialog.setArguments(bundle);
+        dialog.show(manager, TAG);
+    }
+
+    @Override
+    public Dialog onCreateDialog(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());
+        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/AudioSharingJoinDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.java
new file mode 100644
index 0000000..f3f0fe4
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.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.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 com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+
+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;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DIALOG_START_AUDIO_SHARING;
+    }
+
+    /**
+     * Display the {@link AudioSharingJoinDialogFragment} dialog.
+     *
+     * @param host The Fragment this dialog will be hosted.
+     * @param deviceItems The existing connected device items eligible for audio sharing.
+     * @param newDeviceName The name of 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,
+            String newDeviceName,
+            DialogEventListener listener) {
+        if (!AudioSharingUtils.isFeatureEnabled()) return;
+        final FragmentManager manager = host.getChildFragmentManager();
+        sListener = listener;
+        final Bundle bundle = new Bundle();
+        bundle.putParcelableArrayList(BUNDLE_KEY_DEVICE_ITEMS, deviceItems);
+        bundle.putString(BUNDLE_KEY_NEW_DEVICE_NAME, newDeviceName);
+        final AudioSharingJoinDialogFragment dialog = new AudioSharingJoinDialogFragment();
+        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);
+        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());
+        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 subtitle1 = rootView.findViewById(R.id.share_audio_subtitle1);
+        TextView subtitle2 = rootView.findViewById(R.id.share_audio_subtitle2);
+        if (deviceItems.isEmpty()) {
+            subtitle1.setText(newDeviceName);
+        } else {
+            subtitle1.setText(
+                    String.format(
+                            Locale.US,
+                            "%s and %s",
+                            deviceItems.stream()
+                                    .map(AudioSharingDeviceItem::getName)
+                                    .collect(Collectors.joining(", ")),
+                            newDeviceName));
+        }
+        subtitle2.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());
+        Dialog dialog = builder.setCustomTitle(customTitle).setView(rootView).create();
+        dialog.setCanceledOnTouchOutside(false);
+        return dialog;
+    }
+}
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..1454f76
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.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.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.ImageView;
+import android.widget.TextView;
+
+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;
+
+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;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DIALOG_STOP_AUDIO_SHARING;
+    }
+
+    /**
+     * Display the {@link AudioSharingStopDialogFragment} dialog.
+     *
+     * @param host The Fragment this dialog will be hosted.
+     * @param newDeviceName The name of 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, String newDeviceName, DialogEventListener listener) {
+        if (!AudioSharingUtils.isFeatureEnabled()) return;
+        final FragmentManager manager = host.getChildFragmentManager();
+        sListener = listener;
+        final Bundle bundle = new Bundle();
+        bundle.putString(BUNDLE_KEY_NEW_DEVICE_NAME, newDeviceName);
+        AudioSharingStopDialogFragment dialog = new AudioSharingStopDialogFragment();
+        dialog.setArguments(bundle);
+        dialog.show(manager, TAG);
+    }
+
+    @Override
+    public Dialog onCreateDialog(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());
+        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.setMessage(
+                newDeviceName + " wants to connect, headphones in audio sharing will disconnect.");
+        builder.setPositiveButton(
+                "Stop sharing", (dialog, which) -> sListener.onStopSharingClick());
+        builder.setNegativeButton("Cancel", (dialog, which) -> dismiss());
+        AlertDialog dialog = builder.setCustomTitle(customTitle).create();
+        dialog.setCanceledOnTouchOutside(false);
+        return dialog;
+    }
+}
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..242ce20
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingUtils.java
@@ -0,0 +1,382 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.util.Log;
+import android.widget.Toast;
+
+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()) {
+            CachedBluetoothDevice leadDevice = null;
+            for (CachedBluetoothDevice device : devices) {
+                if (!device.getMemberDevice().isEmpty()) {
+                    leadDevice = device;
+                    break;
+                }
+            }
+            if (leadDevice == null && !devices.isEmpty()) {
+                leadDevice = devices.get(0);
+                Log.d(
+                        TAG,
+                        "Empty member device, pick arbitrary device as the lead: "
+                                + leadDevice.getDevice().getAnonymizedAddress());
+            }
+            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;
+    }
+
+    /**
+     * 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() && AudioSharingUtils.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;
+    }
+}
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..e47e141
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsDialogFragment.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.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;
+        // deviceItems is ordered. The active device is put in the first place if it does exist
+        if (!deviceItems.isEmpty() && deviceItems.get(0).isActive()) checkedItem = 0;
+        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..1a2d52b
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsPreferenceController.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.connecteddevice.audiosharing;
+
+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.LocalBluetoothManager;
+import com.android.settingslib.utils.ThreadUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/** 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 DashboardFragment mFragment;
+    Map<Integer, List<CachedBluetoothDevice>> mGroupedConnectedDevices = new HashMap<>();
+    private ArrayList<AudioSharingDeviceItem> mDeviceItemsInSharingSession = new ArrayList<>();
+
+    public CallsAndAlarmsPreferenceController(Context context) {
+        super(context, PREF_KEY);
+        mLocalBtManager = Utils.getLocalBtManager(mContext);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return PREF_KEY;
+    }
+
+    @Override
+    public void displayPreference(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() >= 2) {
+                        CallsAndAlarmsDialogFragment.show(
+                                mFragment,
+                                mDeviceItemsInSharingSession,
+                                (AudioSharingDeviceItem item) -> {
+                                    for (CachedBluetoothDevice device :
+                                            mGroupedConnectedDevices.get(item.getGroupId())) {
+                                        device.setActive();
+                                    }
+                                });
+                    }
+                    return true;
+                });
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        super.onStart(owner);
+        if (mLocalBtManager != null) {
+            mLocalBtManager.getEventManager().registerCallback(this);
+        }
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        super.onStop(owner);
+        if (mLocalBtManager != null) {
+            mLocalBtManager.getEventManager().unregisterCallback(this);
+        }
+    }
+
+    @Override
+    public void updateVisibility() {
+        if (mPreference == null) return;
+        var unused =
+                ThreadUtils.postOnBackgroundThread(
+                        () -> {
+                            boolean isVisible = isBroadcasting() && isBluetoothStateOn();
+                            if (!isVisible) {
+                                ThreadUtils.postOnMainThread(() -> mPreference.setVisible(false));
+                            } else {
+                                updateDeviceItemsInSharingSession();
+                                // mDeviceItemsInSharingSession is ordered. The active device is the
+                                // first
+                                // place if exits.
+                                if (!mDeviceItemsInSharingSession.isEmpty()
+                                        && mDeviceItemsInSharingSession.get(0).isActive()) {
+                                    ThreadUtils.postOnMainThread(
+                                            () -> {
+                                                mPreference.setVisible(true);
+                                                mPreference.setSummary(
+                                                        mDeviceItemsInSharingSession
+                                                                .get(0)
+                                                                .getName());
+                                            });
+                                } else {
+                                    ThreadUtils.postOnMainThread(
+                                            () -> {
+                                                mPreference.setVisible(true);
+                                                mPreference.setSummary(
+                                                        "No active device in sharing");
+                                            });
+                                }
+                            }
+                        });
+    }
+
+    @Override
+    public void onActiveDeviceChanged(
+            @Nullable CachedBluetoothDevice activeDevice, int bluetoothProfile) {
+        if (bluetoothProfile != BluetoothProfile.LE_AUDIO) {
+            Log.d(TAG, "Ignore onActiveDeviceChanged, not LE_AUDIO profile");
+            return;
+        }
+        mPreference.setSummary(activeDevice == null ? "" : activeDevice.getName());
+    }
+
+    /**
+     * 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..d8e8887 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
@@ -32,6 +32,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 +41,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;
@@ -106,6 +108,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 +170,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);
@@ -198,7 +211,7 @@
             case KEY_IGNORE_BUTTON:
                 Settings.Secure.putInt(mContext.getContentResolver(),
                         Secure.STYLUS_BUTTONS_ENABLED,
-                        ((SwitchPreference) preference).isChecked() ? 0 : 1);
+                        ((TwoStatePreference) preference).isChecked() ? 0 : 1);
                 break;
         }
         return true;
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..b4de8cc 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,7 @@
 import com.android.settings.accessibility.ToggleColorInversionPreferenceFragment;
 import com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment;
 import com.android.settings.accessibility.ToggleReduceBrightColorsPreferenceFragment;
+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 +74,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 +85,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 +103,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 +112,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 +145,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 +169,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 +192,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 +209,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 +253,7 @@
             AccessibilityDetailsSettingsFragment.class.getName(),
             AccessibilitySettings.class.getName(),
             AccessibilitySettingsForSetupWizard.class.getName(),
+            EditShortcutsPreferenceFragment.class.getName(),
             TextReadingPreferenceFragment.class.getName(),
             TextReadingPreferenceFragmentForSetupWizard.class.getName(),
             CaptioningPropertiesFragment.class.getName(),
@@ -261,16 +264,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 +308,7 @@
             AppNotificationSettings.class.getName(),
             NotificationAssistantPicker.class.getName(),
             ChannelNotificationSettings.class.getName(),
+            SatelliteSetting.class.getName(),
             ApnSettings.class.getName(),
             ApnEditor.class.getName(),
             WifiCallingSettings.class.getName(),
@@ -353,6 +358,7 @@
             DataUsageList.class.getName(),
             ToggleBackupSettingFragment.class.getName(),
             PreviouslyConnectedDeviceDashboardFragment.class.getName(),
+            AudioStreamConfirmDialog.class.getName(),
             BatterySaverScheduleSettings.class.getName(),
             MobileNetworkListFragment.class.getName(),
             PowerMenuSettings.class.getName(),
@@ -377,7 +383,9 @@
             LongBackgroundTasksDetails.class.getName(),
             RegionalPreferencesEntriesFragment.class.getName(),
             BatteryInfoFragment.class.getName(),
-            UserAspectRatioDetails.class.getName()
+            UserAspectRatioDetails.class.getName(),
+            ScreenTimeoutSettings.class.getName(),
+            ResetNetwork.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..7a7eb8c 100644
--- a/src/com/android/settings/datausage/UnrestrictedDataAccessPreference.java
+++ b/src/com/android/settings/datausage/UnrestrictedDataAccessPreference.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.content.Context;
 import android.graphics.drawable.Drawable;
@@ -56,8 +56,8 @@
         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)));
         updateState();
         setKey(generateKey(mEntry));
 
@@ -176,7 +176,7 @@
         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 {
diff --git a/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java b/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java
index 438ed0d..fd2fcda 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,7 +149,7 @@
                 preference.setOnPreferenceChangeListener(this);
                 mScreen.addPreference(preference);
             } else {
-                preference.setDisabledByAdmin(checkIfMeteredDataRestricted(mContext,
+                preference.setDisabledByAdmin(checkIfMeteredDataUsageUserControlDisabled(mContext,
                         entry.info.packageName, UserHandle.getUserId(entry.info.uid)));
                 preference.updateState();
             }
@@ -233,7 +233,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..504eda8 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,7 @@
         controllers.add(new ContrastPreferenceController(
                 context, context.getSystemService(UiModeManager.class)));
         controllers.add(new ForceEnableNotesRolePreferenceController(context));
+        controllers.add(new GrammaticalGenderPreferenceController(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..09a4914
--- /dev/null
+++ b/src/com/android/settings/development/OWNERS
@@ -0,0 +1,8 @@
+# GameDefaultFrameRatePreferenceController
+per-file GameDefaultFrameRatePreferenceController.java=file:platform/frameworks/base:/GAME_MANAGER_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/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/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..432c230 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,31 @@
                 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:
+                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..1c99d5f 100644
--- a/src/com/android/settings/display/ScreenTimeoutSettings.java
+++ b/src/com/android/settings/display/ScreenTimeoutSettings.java
@@ -37,10 +37,12 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+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 +57,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 +73,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 +101,14 @@
     @VisibleForTesting
     AdaptiveSleepCameraStatePreferenceController mAdaptiveSleepCameraStatePreferenceController;
 
-    @VisibleForTesting
-    AdaptiveSleepPreferenceController mAdaptiveSleepController;
+    @VisibleForTesting AdaptiveSleepPreferenceController mAdaptiveSleepController;
 
     @VisibleForTesting
     AdaptiveSleepBatterySaverPreferenceController mAdaptiveSleepBatterySaverPreferenceController;
 
     public ScreenTimeoutSettings() {
         super();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(getContext())
-                .getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -118,8 +119,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,7 +129,8 @@
         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();
     }
@@ -140,8 +142,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 +160,10 @@
         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;
     }
 
     @Override
@@ -181,19 +185,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 +207,8 @@
         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);
 
         if (isScreenAttentionAvailable(getContext())) {
             mAdaptiveSleepPermissionController.addToScreen(screen);
@@ -214,28 +221,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 +319,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 +344,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 +375,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/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..3df6b1a 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,19 @@
 
         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();
+        mExecutor.execute(
+                () -> {
+                    final String packageName =
+                            BatteryUtils.getLoggingPackageName(
+                                    getContext(), mBatteryOptimizeUtils.getPackageName());
+                    FeatureFactory.getFeatureFactory()
+                            .getMetricsFeatureProvider()
+                            .action(
+                                    getContext(),
+                                    SettingsEnums.OPEN_APP_BATTERY_USAGE,
+                                    packageName);
+                });
         mLogStringBuilder = new StringBuilder("onResume mode = ").append(mOptimizationMode);
     }
 
@@ -283,28 +285,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 +316,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 +338,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 +401,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 +436,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..cc333a5 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
@@ -18,6 +18,10 @@
 
 import android.content.Context;
 
+import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
+
+import java.util.List;
+
 /** Feature provider for battery settings usage. */
 public interface BatterySettingsFeatureProvider {
 
@@ -26,4 +30,10 @@
 
     /** 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> tips, BatteryInfo batteryInfo);
 }
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
index 6b456b7..f974b9d 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
@@ -18,6 +18,10 @@
 
 import android.content.Context;
 
+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 +34,13 @@
     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> tips, BatteryInfo batteryInfo) {}
 }
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..2bf4d96
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java
@@ -0,0 +1,350 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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();
+        mExecutor.execute(
+                () -> {
+                    String packageName =
+                            BatteryUtils.getLoggingPackageName(
+                                    getContext(), mBatteryOptimizeUtils.getPackageName());
+                    FeatureFactory.getFeatureFactory()
+                            .getMetricsFeatureProvider()
+                            .action(
+                                    getContext(),
+                                    SettingsEnums.OPEN_POWER_USAGE_MANAGE_BACKGROUND,
+                                    packageName);
+                });
+        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..0bc6176 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,52 @@
      */
     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
-     */
+    /** 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..a8a2f75 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
@@ -167,10 +169,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..ea59afa 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,17 +73,17 @@
         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()
+            RestrictedAppDetails.startRestrictedAppDetails(mPreferenceFragment, mAppInfos);
+            FeatureFactory.getFeatureFactory()
+                    .getMetricsFeatureProvider()
                     .action(mContext, SettingsEnums.OPEN_APP_RESTRICTED_LIST);
             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..45c1be0 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleRadioButtonsController.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleRadioButtonsController.java
@@ -31,12 +31,12 @@
 /**
  * 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";
@@ -46,8 +46,8 @@
     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/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..5352105 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java
@@ -25,14 +25,11 @@
 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 +44,8 @@
     private static final String TAG = "BatteryTipLoader";
 
     private BatteryUsageStats mBatteryUsageStats;
-    @VisibleForTesting
-    BatteryUtils mBatteryUtils;
+
+    @VisibleForTesting BatteryUtils mBatteryUtils;
 
     public BatteryTipLoader(Context context, BatteryUsageStats batteryUsageStats) {
         super(context);
@@ -68,13 +65,14 @@
         tips.add(new LowBatteryDetector(context, policy, batteryInfo, isPowerSaveMode).detect());
         tips.add(new HighUsageDetector(context, policy, 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);
         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..1ce5a8e 100644
--- a/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetector.java
+++ b/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetector.java
@@ -23,22 +23,23 @@
 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 boolean mIsPowerSaveMode;
     private final int mWarningLevel;
 
-
-    public LowBatteryDetector(Context context, BatteryTipPolicy policy, BatteryInfo batteryInfo,
+    public LowBatteryDetector(
+            Context context,
+            BatteryTipPolicy policy,
+            BatteryInfo batteryInfo,
             boolean isPowerSaveMode) {
         mPolicy = policy;
         mBatteryInfo = batteryInfo;
-        mWarningLevel = context.getResources().getInteger(
-                com.android.internal.R.integer.config_lowBatteryWarningLevel);
+        mWarningLevel =
+                context.getResources()
+                        .getInteger(com.android.internal.R.integer.config_lowBatteryWarningLevel);
         mIsPowerSaveMode = isPowerSaveMode;
     }
 
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..047bf13 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTip.java
@@ -30,9 +30,7 @@
 import com.android.settingslib.HelpUtils;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
-/**
- * Tip to show current battery is overheated
- */
+/** Tip to show current battery is overheated */
 public class BatteryDefenderTip extends BatteryTip {
 
     private static final String TAG = "BatteryDefenderTip";
@@ -70,8 +68,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 +83,34 @@
         }
 
         cardPreference.setSelectable(false);
-        cardPreference.setPrimaryButtonText(
-                context.getString(R.string.battery_tip_charge_to_full_button));
+        cardPreference.setPrimaryButtonText(context.getString(R.string.learn_more));
         cardPreference.setPrimaryButtonClickListener(
+                button ->
+                        button.startActivityForResult(
+                                HelpUtils.getHelpIntent(
+                                        context,
+                                        context.getString(R.string.help_url_battery_defender),
+                                        /* backupContext */ ""), /* requestCode */
+                                0));
+        cardPreference.setPrimaryButtonVisible(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.setSecondaryButtonClickListener(
                 unused -> {
                     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));
+        cardPreference.setSecondaryButtonVisible(mIsPluggedIn);
     }
 
     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 +119,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..1345032 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
@@ -35,32 +35,35 @@
 /**
  * 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
+    })
     public @interface TipType {
         int SMART_BATTERY_MANAGER = 0;
         int APP_RESTRICTION = 1;
@@ -73,10 +76,11 @@
         int BATTERY_DEFENDER = 8;
         int DOCK_DEFENDER = 9;
         int INCOMPATIBLE_CHARGER = 10;
+        int BATTERY_WARNING = 11;
     }
 
-    @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 +94,26 @@
         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);
     }
 
     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 +150,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 +206,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..882b755 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTip.java
@@ -52,7 +52,7 @@
 
     @Override
     public int getIconId() {
-        return R.drawable.ic_battery_charger;
+        return R.drawable.ic_battery_incompatible_charger;
     }
 
     @Override
@@ -62,8 +62,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
@@ -79,23 +79,26 @@
         cardPreference.setSelectable(false);
         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));
+                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.setPrimaryButtonContentDescription(
+                context.getString(R.string.battery_tip_incompatible_charging_content_description));
     }
 
-    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..49ed63c
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java
@@ -0,0 +1,255 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 final 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";
+
+    private static DynamicDenylistManager sInstance;
+
+    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 (int uid : denylistTargetUids) {
+                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/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..c6b1bdb 100644
--- a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
+++ b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
@@ -41,6 +41,7 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.PreferenceScreen;
 
+import com.android.internal.accessibility.common.ShortcutConstants;
 import com.android.settings.R;
 import com.android.settings.accessibility.AccessibilityGestureNavigationTutorial;
 import com.android.settings.core.SubSettingLauncher;
@@ -116,7 +117,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();
 
@@ -353,7 +354,7 @@
     private boolean isAnyServiceSupportAccessibilityButton() {
         final AccessibilityManager ams = getContext().getSystemService(AccessibilityManager.class);
         final List<String> targets = ams.getAccessibilityShortcutTargets(
-                AccessibilityManager.ACCESSIBILITY_BUTTON);
+                ShortcutConstants.UserShortcutType.SOFTWARE);
         return !targets.isEmpty();
     }
 
@@ -403,6 +404,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..44d77a3 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";
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..9a46872
--- /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_FEMININE;
+    }
+
+    @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..cb39df0
--- /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_MASCULINE;
+    }
+
+    @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..e0693b5
--- /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_NEUTRAL;
+    }
+
+    @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..0da1034 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,19 @@
 
         // 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.wepUsage() && 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 +1322,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 +1430,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 +1472,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/SimOnboardingService.kt b/src/com/android/settings/network/SimOnboardingService.kt
new file mode 100644
index 0000000..1b3994e
--- /dev/null
+++ b/src/com/android/settings/network/SimOnboardingService.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.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.settingslib.utils.ThreadUtils
+
+
+private const val TAG = "SimOnboardingService"
+private const val INVALID = -1
+
+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 selectedSubInfoList: MutableList<SubscriptionInfo> = mutableListOf()
+    var targetPrimarySimCalls: Int = -1
+    var targetPrimarySimTexts: Int = -1
+    var targetPrimarySimMobileData: Int = -1
+    var isMultipleEnabledProfilesSupported: Boolean = false
+        get() {
+            if (uiccCardInfoList.isEmpty()) {
+                Log.w(TAG, "UICC cards info list is empty.")
+                return false
+            }
+            return uiccCardInfoList.stream()
+                .anyMatch { cardInfo: UiccCardInfo -> cardInfo.isMultipleEnabledProfilesSupported }
+        }
+    var renameMutableMap : MutableMap<Int, String> = mutableMapOf()
+
+    fun isValid(): Boolean {
+        return targetSubId != INVALID
+            && targetSubInfo != null
+            && activeSubInfoList.isNotEmpty()
+            && slotInfoList.isNotEmpty()
+            && selectedSubInfoList.isNotEmpty()
+    }
+
+    fun clear() {
+        targetSubId = -1
+        targetSubInfo = null
+        availableSubInfoList = listOf()
+        activeSubInfoList = listOf()
+        slotInfoList = listOf()
+        uiccCardInfoList = listOf()
+        selectedSubInfoList = mutableListOf()
+        targetPrimarySimCalls = -1
+        targetPrimarySimTexts = -1
+        targetPrimarySimMobileData = -1
+        renameMutableMap.clear()
+    }
+
+    fun initData(inputTargetSubId:Int,context: Context) {
+        targetSubId = inputTargetSubId
+        subscriptionManager = context.getSystemService(SubscriptionManager::class.java)
+        telephonyManager = context.getSystemService(TelephonyManager::class.java)
+
+        ThreadUtils.postOnBackgroundThread {
+            activeSubInfoList = SubscriptionUtil.getActiveSubscriptions(subscriptionManager)
+            availableSubInfoList = SubscriptionUtil.getAvailableSubscriptions(context)
+            targetSubInfo = availableSubInfoList.find { subInfo -> subInfo.subscriptionId == targetSubId }
+            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")
+
+            Log.d(TAG, "isMultipleEnabledProfilesSupported: $isMultipleEnabledProfilesSupported")
+        }
+    }
+
+    fun getSelectableSubscriptionInfo(): List<SubscriptionInfo> {
+        var list: MutableList<SubscriptionInfo> = mutableListOf()
+        list.addAll(activeSubInfoList)
+        if (!list.contains(targetSubInfo)) {
+            targetSubInfo?.let { list.add(it) }
+        }
+
+        Log.d(TAG, "list: $list")
+        return list.toList()
+    }
+
+    fun addItemForRenaming(subInfo: SubscriptionInfo, newName: String) {
+        if (subInfo.displayName == newName) {
+            return
+        }
+        renameMutableMap[subInfo.subscriptionId] = newName
+    }
+
+    fun getSubscriptionInfoDisplayName(subInfo: SubscriptionInfo): String {
+        return renameMutableMap[subInfo.subscriptionId] ?: subInfo.displayName.toString()
+    }
+
+    fun startActivatingSim(callback:() -> Unit){
+        // TODO: start to activate sim
+    }
+}
\ 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..b6b433b 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,14 +37,19 @@
 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;
 import com.android.settings.network.telephony.ToggleSubscriptionDialogActivity;
+import com.android.settings.spa.SpaActivity;
+import com.android.settings.spa.network.SimOnboardingPageProvider;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -84,6 +90,8 @@
     }
 
     public static List<SubscriptionInfo> getActiveSubscriptions(SubscriptionManager manager) {
+        //TODO (b/315499317) : Refactor the subscription utils.
+
         if (sActiveResultsForTesting != null) {
             return sActiveResultsForTesting;
         }
@@ -94,7 +102,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 +141,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 +151,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 +337,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 +545,11 @@
             Log.i(TAG, "Unable to toggle subscription due to invalid subscription ID.");
             return;
         }
+        if (enable && Flags.isDualSimOnboardingEnabled()) {
+            String route = SimOnboardingPageProvider.INSTANCE.getRoute(subId);
+            SpaActivity.startSpaActivity(context, route);
+            return;
+        }
         context.startActivity(ToggleSubscriptionDialogActivity.getIntent(context, subId, enable));
     }
 
@@ -567,6 +600,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 +825,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..5175c23 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;
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..cea2b44
--- /dev/null
+++ b/src/com/android/settings/network/apn/ApnEditPageProvider.kt
@@ -0,0 +1,271 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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.settings.network.apn.ApnNetworkTypes.getNetworkTypeDisplayNames
+import com.android.settings.network.apn.ApnNetworkTypes.getNetworkTypeSelectedOptionsState
+import com.android.settings.network.apn.ApnTypes.APN_TYPES_OPTIONS
+import com.android.settings.network.apn.ApnTypes.APN_TYPE_MMS
+import com.android.settings.network.apn.ApnTypes.getApnTypeSelectedOptionsState
+import com.android.settings.network.apn.ApnTypes.updateApnType
+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.SettingsExposedDropdownMenuCheckBox
+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)
+        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()
+    val networkTypeSelectedOptionsState = remember {
+        getNetworkTypeSelectedOptionsState(apnData.networkType)
+    }
+    var apnTypeSelectedOptionsState = remember {
+        getApnTypeSelectedOptionsState(apnData.apnType)
+    }
+    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 = {
+                    apnData = apnData.copy(
+                        networkType = ApnNetworkTypes.getNetworkType(
+                            networkTypeSelectedOptionsState
+                        )
+                    )
+                    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) }
+            SettingsExposedDropdownMenuCheckBox(
+                label = stringResource(R.string.apn_type),
+                options = APN_TYPES_OPTIONS,
+                selectedOptionsState = apnTypeSelectedOptionsState,
+                enabled = apnData.apnTypeEnabled,
+                errorMessage = validateAPNType(
+                    apnData.validEnabled, apnData.apnType,
+                    apnData.customizedConfig.readOnlyApnTypes, context
+                )
+            ) {
+                val apnType = updateApnType(
+                    apnTypeSelectedOptionsState,
+                    apnData.customizedConfig.defaultApnTypes,
+                    apnData.customizedConfig.readOnlyApnTypes
+                )
+                apnTypeSelectedOptionsState = getApnTypeSelectedOptionsState(apnType)
+                apnData = apnData.copy(
+                    apnType = apnType
+                )
+            }
+            if (apnTypeSelectedOptionsState.contains(APN_TYPES_OPTIONS.indexOf(APN_TYPE_MMS))) {
+                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) }
+            SettingsExposedDropdownMenuCheckBox(
+                label = stringResource(R.string.network_type),
+                options = getNetworkTypeDisplayNames(),
+                selectedOptionsState = networkTypeSelectedOptionsState,
+                emptyVal = stringResource(R.string.network_type_unspecified),
+                enabled = apnData.networkTypeEnabled
+            ) {}
+            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/ApnNetworkTypes.kt b/src/com/android/settings/network/apn/ApnNetworkTypes.kt
new file mode 100644
index 0000000..0ccd33a
--- /dev/null
+++ b/src/com/android/settings/network/apn/ApnNetworkTypes.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.network.apn
+
+import android.telephony.TelephonyManager
+import androidx.compose.runtime.mutableStateListOf
+import androidx.compose.runtime.snapshots.SnapshotStateList
+
+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 getNetworkTypeDisplayNames(): List<String> =
+        Types.map { 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 getNetworkTypeSelectedOptionsState(networkType: Long): SnapshotStateList<Int> {
+        val networkTypeSelectedOptionsState = mutableStateListOf<Int>()
+        Types.forEachIndexed { index, type ->
+            if (networkType and TelephonyManager.getBitMaskForNetworkType(type) != 0L) {
+                networkTypeSelectedOptionsState.add(index)
+            }
+        }
+        return networkTypeSelectedOptionsState
+    }
+
+    /**
+     * Gets the network type according to the selected Network type Selected Options.
+     * @param networkTypeSelectedOptionsState the selected Network type Selected Options.
+     */
+    fun getNetworkType(networkTypeSelectedOptionsState: SnapshotStateList<Int>): Long {
+        var networkType = 0L
+        networkTypeSelectedOptionsState.forEach { option ->
+            networkType = networkType or TelephonyManager.getBitMaskForNetworkType(Types[option])
+        }
+        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..ae655da
--- /dev/null
+++ b/src/com/android/settings/network/apn/ApnRepository.kt
@@ -0,0 +1,227 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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.provider.Telephony
+import android.util.Log
+import com.android.settings.R
+import com.android.settingslib.utils.ThreadUtils
+import java.util.Locale
+
+const val NAME_INDEX = 1
+const val APN_INDEX = 2
+const val PROXY_INDEX = 3
+const val PORT_INDEX = 4
+const val USER_INDEX = 5
+const val SERVER_INDEX = 6
+const val PASSWORD_INDEX = 7
+const val MMSC_INDEX = 8
+const val MMSPROXY_INDEX = 9
+const val MMSPORT_INDEX = 10
+const val AUTH_TYPE_INDEX = 11
+const val TYPE_INDEX = 12
+const val PROTOCOL_INDEX = 13
+const val CARRIER_ENABLED_INDEX = 14
+const val NETWORK_TYPE_INDEX = 15
+const val ROAMING_PROTOCOL_INDEX = 16
+const val EDITED_INDEX = 17
+const val USER_EDITABLE_INDEX = 18
+const val CARRIER_ID_INDEX = 19
+
+val sProjection = 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
+    Telephony.Carriers.CARRIER_ID // 19
+)
+
+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
+    val apnProtocolOptions = context.resources.getStringArray(R.array.apn_protocol_entries).toList()
+
+    contentResolver.query(
+        uri,
+        sProjection,
+        null /* selection */,
+        null /* selectionArgs */,
+        null /* sortOrder */
+    ).use { cursor ->
+        if (cursor != null && cursor.moveToFirst()) {
+            val name = cursor.getString(NAME_INDEX)
+            val apn = cursor.getString(APN_INDEX)
+            val proxy = cursor.getString(PROXY_INDEX)
+            val port = cursor.getString(PORT_INDEX)
+            val userName = cursor.getString(USER_INDEX)
+            val server = cursor.getString(SERVER_INDEX)
+            val passWord = cursor.getString(PASSWORD_INDEX)
+            val mmsc = cursor.getString(MMSC_INDEX)
+            val mmsProxy = cursor.getString(MMSPROXY_INDEX)
+            val mmsPort = cursor.getString(MMSPORT_INDEX)
+            val authType = cursor.getInt(AUTH_TYPE_INDEX)
+            val apnType = cursor.getString(TYPE_INDEX)
+            val apnProtocol = convertProtocol2Options(cursor.getString(PROTOCOL_INDEX), context)
+            val apnRoaming =
+                convertProtocol2Options(cursor.getString(ROAMING_PROTOCOL_INDEX), context)
+            val apnEnable = cursor.getInt(CARRIER_ENABLED_INDEX) == 1
+            val networkType = cursor.getLong(NETWORK_TYPE_INDEX)
+
+            val edited = cursor.getInt(EDITED_INDEX)
+            val userEditable = cursor.getInt(USER_EDITABLE_INDEX)
+            val carrierId = cursor.getInt(CARRIER_ID_INDEX)
+
+            apnData = apnData.copy(
+                name = name,
+                apn = apn,
+                proxy = proxy,
+                port = port,
+                userName = userName,
+                passWord = passWord,
+                server = server,
+                mmsc = mmsc,
+                mmsProxy = mmsProxy,
+                mmsPort = mmsPort,
+                authType = authType,
+                apnType = apnType,
+                apnProtocol = apnProtocolOptions.indexOf(apnProtocol),
+                apnRoaming = apnProtocolOptions.indexOf(apnRoaming),
+                apnEnable = apnEnable,
+                networkType = networkType,
+                edited = edited,
+                userEditable = userEditable,
+                carrierId = carrierId
+            )
+        }
+    }
+    if (apnData.name == "") {
+        Log.d(TAG, "Can't get apnData from Uri $uri")
+    }
+    return apnData
+}
+
+/**
+ * Returns The UI choice (e.g., "IPv4/IPv6") corresponding to the given
+ * raw value of the protocol preference (e.g., "IPV4V6"). If unknown,
+ * return null.
+ *
+ * @return UI choice
+ */
+private fun convertProtocol2Options(raw: String, context: Context): String {
+    val apnProtocolOptions = context.resources.getStringArray(R.array.apn_protocol_entries).toList()
+    val apnProtocolValues = context.resources.getStringArray(R.array.apn_protocol_values).toList()
+    var uRaw = raw.uppercase(Locale.getDefault())
+    uRaw = if (uRaw == "IPV4") "IP" else uRaw
+    val protocolIndex = apnProtocolValues.indexOf(uRaw)
+    return if (protocolIndex == -1) {
+        ""
+    } else {
+        try {
+            apnProtocolOptions[protocolIndex]
+        } catch (e: ArrayIndexOutOfBoundsException) {
+            ""
+        }
+    }
+}
+
+fun convertOptions2Protocol(protocolIndex: Int, context: Context): String {
+    val apnProtocolValues = context.resources.getStringArray(R.array.apn_protocol_values).toList()
+    return if (protocolIndex == -1) {
+        ""
+    } else {
+        try {
+            apnProtocolValues[protocolIndex]
+        } catch (e: ArrayIndexOutOfBoundsException) {
+            ""
+        }
+    }
+}
+
+fun updateApnDataToDatabase(
+    newApn: Boolean,
+    values: ContentValues,
+    context: Context,
+    uriInit: Uri
+) {
+    ThreadUtils.postOnBackgroundThread {
+        if (newApn) {
+            // Add a new apn to the database
+            val newUri = context.contentResolver.insert(uriInit, values)
+            if (newUri == null) {
+                Log.e(TAG, "Can't add a new apn to database $uriInit")
+            }
+        } else {
+            // Update the existing apn
+            context.contentResolver.update(
+                uriInit, values, null /* where */, null /* selection Args */
+            )
+        }
+    }
+}
+
+fun isItemExist(apnData: ApnData, context: Context): String? {
+    var contentValueMap = apnData.getContentValueMap(context)
+    val removedList = arrayListOf(
+        Telephony.Carriers.NAME, Telephony.Carriers.USER,
+        Telephony.Carriers.SERVER, Telephony.Carriers.PASSWORD, Telephony.Carriers.AUTH_TYPE,
+        Telephony.Carriers.TYPE, Telephony.Carriers.NETWORK_TYPE_BITMASK,
+        Telephony.Carriers.CARRIER_ENABLED
+    )
+    contentValueMap =
+        contentValueMap.filterNot { removedList.contains(it.key) } as MutableMap<String, Any>
+    val list = contentValueMap.entries.toList()
+    val selection = list.joinToString(" AND ") { "${it.key} = ?" }
+    val selectionArgs: Array<String> = list.map { it.value.toString() }.toTypedArray()
+    context.contentResolver.query(
+        Telephony.Carriers.CONTENT_URI,
+        sProjection,
+        selection /* selection */,
+        selectionArgs /* selectionArgs */,
+        null /* sortOrder */
+    )?.use { cursor ->
+        if (cursor.count > 0) {
+            return context.resources.getString(R.string.error_duplicate_apn_entry)
+        }
+    }
+    return null
+}
\ No newline at end of file
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..141ec08
--- /dev/null
+++ b/src/com/android/settings/network/apn/ApnStatus.kt
@@ -0,0 +1,471 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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.telephony.TelephonyManager
+import android.text.TextUtils
+import android.util.Log
+import androidx.compose.runtime.snapshots.SnapshotStateList
+import com.android.internal.util.ArrayUtils
+import com.android.settings.R
+import com.android.settings.network.apn.ApnNetworkTypes.getNetworkType
+import com.android.settings.network.apn.ApnTypes.APN_TYPES
+import com.android.settings.network.apn.ApnTypes.APN_TYPE_ALL
+import com.android.settings.network.apn.ApnTypes.APN_TYPE_EMERGENCY
+import com.android.settings.network.apn.ApnTypes.APN_TYPE_IA
+import com.android.settings.network.apn.ApnTypes.APN_TYPE_IMS
+import com.android.settings.network.apn.ApnTypes.APN_TYPE_MCX
+import java.util.Locale
+
+data class ApnData(
+    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 carrierId: Int = TelephonyManager.UNKNOWN_CARRIER_ID,
+    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): MutableMap<String, Any> {
+        val simCarrierId =
+            context.getSystemService(TelephonyManager::class.java)!!
+                .createForSubscriptionId(subId)
+                .getSimCarrierId()
+        return mutableMapOf(
+            Telephony.Carriers.NAME to name, Telephony.Carriers.APN to apn,
+            Telephony.Carriers.PROXY to proxy, Telephony.Carriers.PORT to port,
+            Telephony.Carriers.MMSPROXY to mmsProxy, Telephony.Carriers.MMSPORT to mmsPort,
+            Telephony.Carriers.USER to userName, Telephony.Carriers.SERVER to server,
+            Telephony.Carriers.PASSWORD to passWord, Telephony.Carriers.MMSC to mmsc,
+            Telephony.Carriers.AUTH_TYPE to authType,
+            Telephony.Carriers.PROTOCOL to convertOptions2Protocol(apnProtocol, context),
+            Telephony.Carriers.ROAMING_PROTOCOL to convertOptions2Protocol(apnRoaming, context),
+            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,
+            Telephony.Carriers.CARRIER_ID to simCarrierId
+        )
+    }
+
+    fun getContentValues(context: Context): ContentValues {
+        val values = ContentValues()
+        val contentValueMap = getContentValueMap(context)
+        if (!newApn) contentValueMap.remove(Telephony.Carriers.CARRIER_ID)
+        contentValueMap.forEach { (key, value) -> values.putObject(key, value) }
+        return values
+    }
+}
+
+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> = emptyList(),
+    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)!!
+
+    if (!uriInit.isPathPrefixMatch(Telephony.Carriers.CONTENT_URI)) {
+        Log.e(TAG, "Insert request not for carrier table. Uri: $uriInit")
+        return ApnData() //TODO: finish
+    }
+
+    var apnDataInit = when (uriType) {
+        EDIT_URL -> getApnDataFromUri(uriInit, context)
+        INSERT_URL -> ApnData()
+        else -> ApnData() //TODO: finish
+    }
+
+    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))
+
+    apnDataInit = apnDataInit.copy(
+        apnEnableEnabled =
+        context.resources.getBoolean(R.bool.config_allow_edit_carrier_enabled)
+    )
+    // TODO: mIsCarrierIdApn
+    disableInit(apnDataInit)
+    return 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)
+    }
+    if (errorMsg == null) {
+        errorMsg = validateAPNType(
+            true,
+            apnData.apnType,
+            apnData.customizedConfig.readOnlyApnTypes,
+            context
+        )
+    }
+    return errorMsg
+}
+
+private fun getUserEnteredApnType(apnType: String, readOnlyApnTypes: List<String>): String {
+    // if user has not specified a type, map it to "ALL APN TYPES THAT ARE NOT READ-ONLY"
+    // but if user enter empty type, map it just for default
+    var userEnteredApnType = apnType
+    if (userEnteredApnType != "") userEnteredApnType =
+        userEnteredApnType.trim { it <= ' ' }
+    if (TextUtils.isEmpty(userEnteredApnType) || APN_TYPE_ALL == userEnteredApnType) {
+        userEnteredApnType = getEditableApnType(readOnlyApnTypes)
+    }
+    Log.d(
+        TAG, "getUserEnteredApnType: changed apn type to editable apn types: "
+            + userEnteredApnType
+    )
+    return userEnteredApnType
+}
+
+private fun getEditableApnType(readOnlyApnTypes: List<String>): String {
+    val editableApnTypes = StringBuilder()
+    var first = true
+    for (apnType in APN_TYPES) {
+        // add APN type if it is not read-only and is not wild-cardable
+        if (!readOnlyApnTypes.contains(apnType)
+            && apnType != APN_TYPE_IA
+            && apnType != APN_TYPE_EMERGENCY
+            && apnType != APN_TYPE_MCX
+            && apnType != APN_TYPE_IMS
+        ) {
+            if (first) {
+                first = false
+            } else {
+                editableApnTypes.append(",")
+            }
+            editableApnTypes.append(apnType)
+        }
+    }
+    return editableApnTypes.toString()
+}
+
+/**
+ * Initialize CustomizedConfig information through subId.
+ * @param subId subId information obtained from arguments.
+ *
+ * @return Initialized CustomizedConfig information.
+ */
+fun getCarrierCustomizedConfig(
+    apnInit: ApnData,
+    configManager: CarrierConfigManager
+): CustomizedConfig {
+    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() ?: emptyList(), 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 (!ArrayUtils.isEmpty(customizedConfig.readOnlyApnTypes)) {
+        Log.d(
+            TAG,
+            "getCarrierCustomizedConfig: read only APN type: " + customizedConfig.readOnlyApnTypes.joinToString(
+                ", "
+            )
+        )
+    }
+    if (!ArrayUtils.isEmpty(customizedConfig.defaultApnTypes)) {
+        Log.d(
+            TAG,
+            "getCarrierCustomizedConfig: default apn types: " + customizedConfig.defaultApnTypes.joinToString(
+                ", "
+            )
+        )
+    }
+    if (!TextUtils.isEmpty(customizedConfig.defaultApnProtocol)) {
+        Log.d(
+            TAG,
+            "getCarrierCustomizedConfig: default apn protocol: ${customizedConfig.defaultApnProtocol}"
+        )
+    }
+    if (!TextUtils.isEmpty(customizedConfig.defaultApnRoamingProtocol)) {
+        Log.d(
+            TAG,
+            "getCarrierCustomizedConfig: default apn roaming protocol: ${customizedConfig.defaultApnRoamingProtocol}"
+        )
+    }
+    if (!customizedConfig.isAddApnAllowed) {
+        Log.d(TAG, "getCarrierCustomizedConfig: not allow to add new APN")
+    }
+    return customizedConfig
+}
+
+fun disableInit(apnDataInit: ApnData): ApnData {
+    var apnData = apnDataInit
+    val isUserEdited = apnDataInit.edited == Telephony.Carriers.USER_EDITED
+    Log.d(TAG, "disableInit: EDITED $isUserEdited")
+    // if it's not a USER_EDITED apn, check if it's read-only
+    if (!isUserEdited && (apnDataInit.userEditable == 0
+            || apnTypesMatch(apnDataInit.customizedConfig.readOnlyApnTypes, apnDataInit.apnType))
+    ) {
+        Log.d(TAG, "disableInit: read-only APN")
+        apnData =
+            apnDataInit.copy(customizedConfig = apnDataInit.customizedConfig.copy(readOnlyApn = true))
+        apnData = disableAllFields(apnData)
+    } else if (!ArrayUtils.isEmpty(apnData.customizedConfig.readOnlyApnFields)) {
+        Log.d(
+            TAG,
+            "disableInit: mReadOnlyApnFields ${
+                apnData.customizedConfig.readOnlyApnFields.joinToString(", ")
+            })"
+        )
+        apnData = disableFields(apnData.customizedConfig.readOnlyApnFields, apnData)
+    }
+    return apnData
+}
+
+/**
+ * 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
+}
+
+private fun apnTypesMatch(apnTypeList: List<String>, apnType: String): Boolean {
+    val normalizeApnTypeList = apnTypeList.map(::normalizeApnType)
+    return hasAllApns(normalizeApnTypeList) ||
+        apnType.split(",").map(::normalizeApnType).all { it in normalizeApnTypeList }
+}
+
+fun hasAllApns(apnTypes: List<String>): Boolean {
+    if (APN_TYPE_ALL in apnTypes) {
+        Log.d(TAG, "hasAllApns: true because apnTypes.contains(APN_TYPE_ALL)")
+        return true
+    }
+    return APN_TYPES.all { it in apnTypes }
+}
+
+private fun normalizeApnType(apnType: String): String =
+    apnType.trim().lowercase(Locale.getDefault())
+
+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
+}
+
+fun validateAPNType(
+    validEnabled: Boolean,
+    apnType: String,
+    readOnlyApnTypes: List<String>,
+    context: Context
+): String? {
+    // if carrier does not allow editing certain apn types, make sure type does not include those
+    if (validEnabled && !ArrayUtils.isEmpty(readOnlyApnTypes)
+        && apnTypesMatch(
+            readOnlyApnTypes,
+            getUserEnteredApnType(apnType, readOnlyApnTypes)
+        )
+    ) {
+        return String.format(
+            context.resources.getString(R.string.error_adding_apn_type),
+            readOnlyApnTypes.joinToString(", ")
+        )
+    }
+    return null
+}
\ No newline at end of file
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..d3dbe38
--- /dev/null
+++ b/src/com/android/settings/network/apn/ApnTypes.kt
@@ -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.network.apn
+
+import androidx.compose.runtime.mutableStateListOf
+import androidx.compose.runtime.snapshots.SnapshotStateList
+
+object ApnTypes {
+    /**
+     * APN types for data connections.  These are usage categories for an APN
+     * entry.  One APN entry may support multiple APN types, eg, a single APN
+     * may service regular internet traffic ("default") as well as MMS-specific
+     * connections.<br></br>
+     * APN_TYPE_ALL is a special type to indicate that this APN entry can
+     * service all data connections.
+     */
+    const val APN_TYPE_ALL = "*"
+
+    /** APN type for default data traffic  */
+    const val APN_TYPE_DEFAULT = "default"
+
+    /** APN type for MMS traffic  */
+    const val APN_TYPE_MMS = "mms"
+
+    /** APN type for SUPL assisted GPS  */
+    const val APN_TYPE_SUPL = "supl"
+
+    /** APN type for DUN traffic  */
+    const val APN_TYPE_DUN = "dun"
+
+    /** APN type for HiPri traffic  */
+    const val APN_TYPE_HIPRI = "hipri"
+
+    /** APN type for FOTA  */
+    const val APN_TYPE_FOTA = "fota"
+
+    /** APN type for IMS  */
+    const val APN_TYPE_IMS = "ims"
+
+    /** APN type for CBS  */
+    const val APN_TYPE_CBS = "cbs"
+
+    /** APN type for IA Initial Attach APN  */
+    const val APN_TYPE_IA = "ia"
+
+    /** APN type for Emergency PDN. This is not an IA apn, but is used
+     * for access to carrier services in an emergency call situation.  */
+    const val APN_TYPE_EMERGENCY = "emergency"
+
+    /** APN type for Mission Critical Services  */
+    const val APN_TYPE_MCX = "mcx"
+
+    /** APN type for XCAP  */
+    const val APN_TYPE_XCAP = "xcap"
+
+    /** APN type for VSIM  */
+    const val APN_TYPE_VSIM = "vsim"
+
+    /** APN type for BIP  */
+    const val APN_TYPE_BIP = "bip"
+
+    /** APN type for ENTERPRISE  */
+    const val APN_TYPE_ENTERPRISE = "enterprise"
+
+    val APN_TYPES = arrayOf(
+        APN_TYPE_DEFAULT,
+        APN_TYPE_MMS,
+        APN_TYPE_SUPL,
+        APN_TYPE_DUN,
+        APN_TYPE_HIPRI,
+        APN_TYPE_FOTA,
+        APN_TYPE_IMS,
+        APN_TYPE_CBS,
+        APN_TYPE_IA,
+        APN_TYPE_EMERGENCY,
+        APN_TYPE_MCX,
+        APN_TYPE_XCAP,
+        APN_TYPE_VSIM,
+        APN_TYPE_BIP,
+        APN_TYPE_ENTERPRISE
+    )
+
+    val APN_TYPES_OPTIONS = listOf(APN_TYPE_ALL) + APN_TYPES
+
+    fun getApnTypeSelectedOptionsState(apnType: String): SnapshotStateList<Int> {
+        val apnTypeSelectedOptionsState = mutableStateListOf<Int>()
+        if (apnType.contains(APN_TYPE_ALL))
+            APN_TYPES_OPTIONS.forEachIndexed { index, _ ->
+                apnTypeSelectedOptionsState.add(index)
+            }
+        else {
+            APN_TYPES_OPTIONS.forEachIndexed { index, type ->
+                if (apnType.contains(type)) {
+                    apnTypeSelectedOptionsState.add(index)
+                }
+            }
+            if (apnTypeSelectedOptionsState.size == APN_TYPES.size)
+                apnTypeSelectedOptionsState.add(APN_TYPES_OPTIONS.indexOf(APN_TYPE_ALL))
+        }
+        return apnTypeSelectedOptionsState
+    }
+
+    fun updateApnType(
+        apnTypeSelectedOptionsState: SnapshotStateList<Int>,
+        defaultApnTypes: List<String>,
+        readOnlyApnTypes: List<String>
+    ): String {
+        val apnType = apnTypeSelectedOptionsState.joinToString { APN_TYPES_OPTIONS[it] }
+        if (apnType.contains(APN_TYPE_ALL)) return APN_TYPE_ALL
+        return if (apnType == "" && defaultApnTypes.isNotEmpty())
+            getEditableApnType(defaultApnTypes, readOnlyApnTypes)
+        else
+            apnType
+    }
+
+    private fun getEditableApnType(
+        defaultApnTypes: List<String>,
+        readOnlyApnTypes: List<String>
+    ): String {
+        return defaultApnTypes.filterNot { apnType ->
+            readOnlyApnTypes.contains(apnType) || apnType in listOf(
+                APN_TYPE_IA,
+                APN_TYPE_EMERGENCY,
+                APN_TYPE_MCX,
+                APN_TYPE_IMS,
+            )
+        }.joinToString()
+    }
+}
\ No newline at end of file
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..441c249 100644
--- a/src/com/android/settings/network/telephony/ConvertToEsimPreferenceController.java
+++ b/src/com/android/settings/network/telephony/ConvertToEsimPreferenceController.java
@@ -19,7 +19,19 @@
 import static androidx.lifecycle.Lifecycle.Event.ON_START;
 import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
 
+import android.Manifest;
+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 +41,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 +62,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 +101,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 +140,9 @@
             return false;
         }
         // Send intent to launch LPA
+        Intent intent = new Intent(EuiccManager.ACTION_CONVERT_TO_EMBEDDED_SUBSCRIPTION);
+        intent.putExtra("subId", mSubId);
+        mContext.startActivity(intent);
         return true;
     }
 
@@ -114,13 +153,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..a4cad87 100644
--- a/src/com/android/settings/nfc/NfcForegroundPreferenceController.java
+++ b/src/com/android/settings/nfc/NfcForegroundPreferenceController.java
@@ -43,7 +43,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);
     }
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/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..65b4fb8
--- /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, OFF, 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/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..c919633 100644
--- a/src/com/android/settings/notification/app/ChannelListPreferenceController.java
+++ b/src/com/android/settings/notification/app/ChannelListPreferenceController.java
@@ -34,7 +34,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;
@@ -313,7 +313,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..418a571 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;
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..8a68122
--- /dev/null
+++ b/src/com/android/settings/overlay/FeatureFactory.kt
@@ -0,0 +1,201 @@
+/*
+ * 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.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.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
+
+    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..28dbb23
--- /dev/null
+++ b/src/com/android/settings/overlay/FeatureFactoryImpl.kt
@@ -0,0 +1,193 @@
+/*
+ * 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.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.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()
+    }
+}
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..379ce80 100644
--- a/src/com/android/settings/password/BiometricFragment.java
+++ b/src/com/android/settings/password/BiometricFragment.java
@@ -126,10 +126,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 +139,15 @@
                 .setConfirmationRequired(promptInfo.isConfirmationRequested())
                 .setDisallowBiometricsIfPolicyExists(
                         promptInfo.isDisallowBiometricsIfPolicyExists())
+                .setShowEmergencyCallButton(promptInfo.isShowEmergencyCallButton())
                 .setReceiveSystemEvents(true)
-                .setAllowBackgroundAuthentication(true)
-                .build();
+                .setAllowBackgroundAuthentication(true);
+
+        // 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..db031e7 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;
@@ -86,6 +88,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";
 
@@ -156,6 +162,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 +201,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 +251,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 +358,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 +398,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 +426,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("");
             }
         }
 
@@ -418,6 +442,7 @@
                 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 +451,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 +474,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 +484,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 +491,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 +826,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 +877,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();
             }
         }
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..4a760ad 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,49 @@
                     .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)) {
+                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 +343,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 +407,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 +427,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 +437,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 +451,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/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..9e905f2
--- /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.privatespace_setup_flow_placeholder),
+                    new Pair(R.string.private_space_share_photos_title,
+                            R.drawable.privatespace_setup_flow_placeholder),
+                    new Pair(R.string.private_space_apps_installed_title,
+                            R.drawable.privatespace_setup_flow_placeholder));
+
+    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.privatespace_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.placeholder_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.placeholder_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.placeholder_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/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..149c0d6
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java
@@ -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.privatespace;
+
+import static android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PASSWORD;
+
+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.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");
+        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..e426477
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.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.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 (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..e54982b
--- /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.privatespace_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..a283147
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java
@@ -0,0 +1,313 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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;
+    }
+
+    private void resetPrivateSpaceSettings() {
+        setHidePrivateSpaceEntryPointSetting(HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL);
+        setPrivateSpaceAutoLockSetting(PRIVATE_SPACE_AUTO_LOCK_DEFAULT_VAL);
+    }
+
+    /**
+     * 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..9e2e5cc
--- /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.privatespace_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..b1e0edc
--- /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.privatespace_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..94db71f 100644
--- a/src/com/android/settings/safetycenter/BiometricsSafetySource.java
+++ b/src/com/android/settings/safetycenter/BiometricsSafetySource.java
@@ -164,7 +164,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/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..0741ce4 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;
@@ -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/SearchResultTrampoline.java b/src/com/android/settings/search/SearchResultTrampoline.java
index 6ba0338..5d897af 100644
--- a/src/com/android/settings/search/SearchResultTrampoline.java
+++ b/src/com/android/settings/search/SearchResultTrampoline.java
@@ -18,6 +18,7 @@
 
 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;
@@ -54,7 +55,7 @@
 
         final ComponentName callingActivity = getCallingActivity();
         // First make sure caller has privilege to launch a search result page.
-        FeatureFactory.getFactory(this)
+        FeatureFactory.getFeatureFactory()
                 .getSearchFeatureProvider()
                 .verifyLaunchSearchResultPageCaller(this, callingActivity);
         // Didn't crash, proceed and launch the result as a subsetting.
@@ -107,7 +108,7 @@
             startActivity(intent);
         } else if (isSettingsIntelligence(callingActivity)) {
             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 +131,7 @@
             }
         } else {
             // Two-pane case
-            startActivity(SettingsActivity.getTrampolineIntent(intent, highlightMenuKey)
+            startActivity(getTrampolineIntent(intent, highlightMenuKey)
                     .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
         }
 
@@ -141,7 +142,7 @@
     private boolean isSettingsIntelligence(ComponentName callingActivity) {
         return callingActivity != null && TextUtils.equals(
                 callingActivity.getPackageName(),
-                FeatureFactory.getFactory(this).getSearchFeatureProvider()
+                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..d65b2d1 100644
--- a/src/com/android/settings/sim/SimDialogActivity.java
+++ b/src/com/android/settings/sim/SimDialogActivity.java
@@ -90,7 +90,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();
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..41852e5 100644
--- a/src/com/android/settings/spa/SettingsSpaEnvironment.kt
+++ b/src/com/android/settings/spa/SettingsSpaEnvironment.kt
@@ -18,8 +18,11 @@
 
 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
@@ -28,18 +31,25 @@
 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.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 +68,17 @@
             AllFilesAccessAppListProvider,
             DisplayOverOtherAppsAppListProvider,
             MediaManagementAppsAppListProvider,
+            MediaRoutingControlAppListProvider,
             ModifySystemSettingsAppListProvider,
             UseFullScreenIntentAppListProvider,
             PictureInPictureListProvider,
             InstallUnknownAppsListProvider,
             AlarmsAndRemindersAppListProvider,
+            VoiceActivationAppsListProvider,
             WifiControlAppListProvider,
             NfcTagAppsSettingsProvider,
+            LongBackgroundTasksAppListProvider,
+            TurnScreenOnAppsAppListProvider,
         )
     }
 
@@ -73,31 +87,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..5fa9436 100644
--- a/src/com/android/settings/spa/app/appinfo/AppButtonRepository.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppButtonRepository.kt
@@ -19,14 +19,18 @@
 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.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 +81,55 @@
         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.packageName) -> 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.
+     */
+    private fun uninstallDisallowedDueToHomeApp(packageName: String): Boolean {
+        val homePackageInfo = 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(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..dcce1d9 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
+import android.content.pm.FeatureFlagsImpl
 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: FeatureFlags = FeatureFlagsImpl()
+) {
     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: FeatureFlags
+) {
     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..dba6184 100644
--- a/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
@@ -18,6 +18,8 @@
 
 import android.app.settings.SettingsEnums
 import android.content.pm.ApplicationInfo
+import android.content.pm.FeatureFlags
+import android.content.pm.FeatureFlagsImpl
 import android.os.Bundle
 import android.os.UserHandle
 import android.util.FeatureFlagUtils
@@ -27,13 +29,13 @@
 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
@@ -41,13 +43,14 @@
 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
 
 private const val PACKAGE_NAME = "packageName"
 private const val USER_ID = "userId"
@@ -72,7 +75,7 @@
             PackageInfoPresenter(context, packageName, userId, coroutineScope)
         }
         AppInfoSettings(packageInfoPresenter)
-        packageInfoPresenter.PackageRemoveDetector()
+        packageInfoPresenter.PackageFullyRemovedEffect()
     }
 
     @Composable
@@ -115,23 +118,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: FeatureFlags = FeatureFlagsImpl()
     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 +154,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 +165,9 @@
             InstallUnknownAppsListProvider.InfoPageEntryItem(app)
             InteractAcrossProfilesDetailsPreference(app)
             AlarmsAndRemindersAppListProvider.InfoPageEntryItem(app)
+            if (Flags.enableVoiceActivationAppsInSettings()) {
+                VoiceActivationAppsListProvider.InfoPageEntryItem(app)
+            }
         }
 
         Category(title = stringResource(R.string.app_install_details_group_title)) {
@@ -166,3 +176,6 @@
         appInfoProvider.FooterAppVersion()
     }
 }
+
+fun isArchivingEnabled(featureFlags: FeatureFlags) =
+        featureFlags.archiving() || "true" == System.getProperty("pm.archiving.enabled")
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..4f47266 100644
--- a/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt
@@ -22,22 +22,21 @@
 import android.app.AppOpsManager.OP_AUTO_REVOKE_PERMISSIONS_IF_UNUSED
 import android.content.Context
 import android.content.pm.ApplicationInfo
+import android.content.pm.Flags
 import android.os.Build
 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.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 +44,55 @@
 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() =
+        Flags.archiving() || "true" == System.getProperty("pm.archiving.enabled")
+
 private class HibernationSwitchPresenter(context: Context, private val app: ApplicationInfo) {
     private val appOpsManager = context.appOpsManager
     private val permissionControllerManager =
@@ -87,6 +104,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..230ccb9 100644
--- a/src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt
+++ b/src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt
@@ -20,24 +20,34 @@
 import android.content.Context
 import android.content.Intent
 import android.content.IntentFilter
+import android.content.pm.FeatureFlags
+import android.content.pm.FeatureFlagsImpl
 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.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 +60,59 @@
     val userId: Int,
     private val coroutineScope: CoroutineScope,
     private val packageManagers: IPackageManagers = PackageManagers,
+    private val featureFlags: FeatureFlags = FeatureFlagsImpl(),
 ) {
-    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 +120,6 @@
             userPackageManager.setApplicationEnabledSetting(
                 packageName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0
             )
-            reloadPackageInfo()
         }
     }
 
@@ -105,7 +130,6 @@
             userPackageManager.setApplicationEnabledSetting(
                 packageName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER, 0
             )
-            reloadPackageInfo()
         }
     }
 
@@ -120,7 +144,6 @@
         logAction(SettingsEnums.ACTION_SETTINGS_CLEAR_INSTANT_APP)
         coroutineScope.launch(Dispatchers.IO) {
             userPackageManager.deletePackageAsUser(packageName, null, 0, userId)
-            reloadPackageInfo()
         }
     }
 
@@ -130,7 +153,6 @@
         coroutineScope.launch(Dispatchers.Default) {
             Log.d(TAG, "Stopping package $packageName")
             context.activityManager.forceStopPackageAsUser(packageName, userId)
-            reloadPackageInfo()
         }
     }
 
@@ -138,12 +160,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..3e48aa5 100644
--- a/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersAppList.kt
+++ b/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersAppList.kt
@@ -18,16 +18,16 @@
 
 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.livedata.observeAsCallback
 import com.android.settingslib.spaprivileged.model.app.AppRecord
 import com.android.settingslib.spaprivileged.model.app.IPackageManagers
 import com.android.settingslib.spaprivileged.model.app.PackageManagers
@@ -57,6 +57,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 +80,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.observeAsCallback()
+    }
 
     override fun isChangeable(record: AlarmsAndRemindersAppRecord) = record.isChangeable
 
@@ -91,7 +93,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,
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/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..dc98330 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.livedata.observeAsCallback
 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.observeAsCallback()
 
     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..fe8f103 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.livedata.observeAsCallback
 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.observeAsCallback()
 
     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..0285b74 100644
--- a/src/com/android/settings/spa/app/specialaccess/SpecialAppAccess.kt
+++ b/src/com/android/settings/spa/app/specialaccess/SpecialAppAccess.kt
@@ -61,12 +61,16 @@
                 AllFilesAccessAppListProvider,
                 DisplayOverOtherAppsAppListProvider,
                 MediaManagementAppsAppListProvider,
+                MediaRoutingControlAppListProvider,
                 ModifySystemSettingsAppListProvider,
                 UseFullScreenIntentAppListProvider,
                 PictureInPictureListProvider,
                 InstallUnknownAppsListProvider,
                 AlarmsAndRemindersAppListProvider,
+                VoiceActivationAppsListProvider,
                 WifiControlAppListProvider,
+                LongBackgroundTasksAppListProvider,
+                TurnScreenOnAppsAppListProvider,
             )
             .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..e746d4a
--- /dev/null
+++ b/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt
@@ -0,0 +1,465 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.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
+        }
+    }
+}
+
+@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(
+                subscriptionManager,
+                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(remember {
+            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 PrimarySimSectionImpl(
+        subscriptionManager: SubscriptionManager?,
+        activeSubscriptionInfoList: List<SubscriptionInfo>,
+        callsSelectedId: MutableIntState,
+        textsSelectedId: MutableIntState,
+        mobileDataSelectedId: MutableIntState,
+        nonDds: MutableIntState
+) {
+    var state = rememberSaveable { mutableStateOf(false) }
+    var callsAndSmsList = remember {
+        mutableListOf(ListPreferenceOption(id = -1, text = "Loading"))
+    }
+    var dataList = remember {
+        mutableListOf(ListPreferenceOption(id = -1, text = "Loading"))
+    }
+
+    if (activeSubscriptionInfoList.size >= 2) {
+        state.value = true
+        callsAndSmsList.clear()
+        dataList.clear()
+        for (info in activeSubscriptionInfoList) {
+            var item = ListPreferenceOption(
+                    id = info.subscriptionId,
+                    text = "${info.displayName}"
+            )
+            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", "Hide primary sim")
+    }
+
+    if (state.value) {
+        val coroutineScope = rememberCoroutineScope()
+        var context = LocalContext.current
+        val telephonyManagerForNonDds: TelephonyManager? =
+                context.getSystemService(TelephonyManager::class.java)
+                        ?.createForSubscriptionId(nonDds.intValue)
+        val automaticDataChecked = rememberSaveable() {
+            mutableStateOf(false)
+        }
+
+        Category(title = stringResource(id = R.string.primary_sim_title)) {
+            createPrimarySimListPreference(
+                    stringResource(id = R.string.primary_sim_calls_title),
+                    callsAndSmsList,
+                    callsSelectedId,
+                    ImageVector.vectorResource(R.drawable.ic_phone),
+            ) {
+                callsSelectedId.intValue = it
+                coroutineScope.launch {
+                    setDefaultVoice(subscriptionManager, it)
+                }
+            }
+            createPrimarySimListPreference(
+                    stringResource(id = R.string.primary_sim_texts_title),
+                    callsAndSmsList,
+                    textsSelectedId,
+                    Icons.AutoMirrored.Outlined.Message,
+            ) {
+                textsSelectedId.intValue = it
+                coroutineScope.launch {
+                    setDefaultSms(subscriptionManager, it)
+                }
+            }
+            createPrimarySimListPreference(
+                    stringResource(id = R.string.mobile_data_settings_title),
+                    dataList,
+                    mobileDataSelectedId,
+                    Icons.Outlined.DataUsage,
+            ) {
+                mobileDataSelectedId.intValue = it
+                coroutineScope.launch {
+                    // TODO: to fix the WifiPickerTracker crash when create
+                    //       the wifiPickerTrackerHelper
+                    setDefaultData(context,
+                            subscriptionManager,
+                            null/*wifiPickerTrackerHelper*/,
+                            it)
+                }
+            }
+        }
+
+        val autoDataTitle = stringResource(id = R.string.primary_sim_automatic_data_title)
+        val autoDataSummary = stringResource(id = R.string.primary_sim_automatic_data_msg)
+        SwitchPreference(remember {
+            object : SwitchPreferenceModel {
+                override val title = autoDataTitle
+                override val summary = { autoDataSummary }
+                override val changeable: () -> Boolean = {
+                    nonDds.intValue != SubscriptionManager.INVALID_SUBSCRIPTION_ID
+                }
+                override val checked = {
+                    coroutineScope.launch {
+                        withContext(Dispatchers.Default) {
+                            automaticDataChecked.value = telephonyManagerForNonDds != null
+                                    && telephonyManagerForNonDds.isMobileDataPolicyEnabled(
+                                    TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
+                        }
+                    }
+                    automaticDataChecked.value
+                }
+                override val onCheckedChange: ((Boolean) -> Unit)? =
+                        { newChecked: Boolean ->
+                            coroutineScope.launch {
+                                setAutomaticData(telephonyManagerForNonDds, newChecked)
+                            }
+                        }
+            }
+        })
+    }
+}
+
+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)
+}
+
+private suspend fun setDefaultVoice(
+        subscriptionManager: SubscriptionManager?,
+        subId: Int): Unit = withContext(Dispatchers.Default) {
+    subscriptionManager?.setDefaultVoiceSubscriptionId(subId)
+}
+
+private suspend fun setDefaultSms(
+        subscriptionManager: SubscriptionManager?,
+        subId: Int): Unit = withContext(Dispatchers.Default) {
+    subscriptionManager?.setDefaultSmsSubId(subId)
+}
+
+private 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)
+    }
+}
+
+private suspend fun setAutomaticData(telephonyManager: TelephonyManager?, newState: Boolean): Unit =
+        withContext(Dispatchers.Default) {
+            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..4cb04b6
--- /dev/null
+++ b/src/com/android/settings/spa/network/SimOnboardingLabelSim.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.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.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.platform.LocalContext
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settings.network.SimOnboardingService
+import com.android.settings.network.SubscriptionUtil
+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.getSelectableSubscriptionInfo()) {
+        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)
+                SettingsOutlinedTextField(
+                    value = titleSimName,
+                    label = stringResource(R.string.sim_onboarding_label_sim_dialog_label),
+                    enabled = true
+                ) {
+                    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..e46dc2e
--- /dev/null
+++ b/src/com/android/settings/spa/network/SimOnboardingPageProvider.kt
@@ -0,0 +1,135 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 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.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 = SimOnboardingService()
+
+    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?) {
+        initServiceData(arguments!!.getInt(SUB_ID))
+        PageImpl(onboardingService,rememberNavController())
+    }
+
+    fun getRoute(
+        subId: Int
+    ): String = "${name}/$subId"
+
+    @Composable
+    fun initServiceData(targetSubId: Int) {
+        onboardingService.initData(targetSubId, LocalContext.current)
+    }
+}
+
+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 previousPageOfOnboarding: () -> Unit = { context.getActivity()?.finish() }
+
+    NavHost(
+        navController = navHostController,
+        startDestination = SimOnboardingScreen.LabelSim.name
+    ) {
+        composable(route = SimOnboardingScreen.LabelSim.name) {
+            val nextPage =
+                // Adding more conditions
+                if (onboardingService.isMultipleEnabledProfilesSupported) {
+                    SimOnboardingScreen.SelectSim.name
+                } else {
+                    SimOnboardingScreen.PrimarySim.name
+                }
+            SimOnboardingLabelSimImpl(
+                nextAction = { navHostController.navigate(nextPage) },
+                cancelAction = previousPageOfOnboarding,
+                onboardingService = onboardingService
+            )
+        }
+        composable(route = SimOnboardingScreen.PrimarySim.name) {
+            SimOnboardingPrimarySimImpl(
+                nextAction = {
+                    //go back and activate sim
+                },
+                cancelAction = previousPageOfOnboarding,
+                onboardingService = onboardingService
+            )
+        }
+        composable(route = SimOnboardingScreen.SelectSim.name) {
+            SimOnboardingSelectSimImpl(
+                nextAction = { navHostController.navigate(SimOnboardingScreen.PrimarySim.name) },
+                cancelAction = previousPageOfOnboarding,
+                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..5752a4f
--- /dev/null
+++ b/src/com/android/settings/spa/network/SimOnboardingPrimarySim.kt
@@ -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.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.automirrored.outlined.Message
+import androidx.compose.material.icons.outlined.DataUsage
+import androidx.compose.material.icons.outlined.SignalCellularAlt
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.MutableIntState
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableIntStateOf
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.saveable.rememberSaveable
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.res.vectorResource
+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.preference.SwitchPreference
+import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
+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
+        ),
+    ) {
+        primarySimBody(onboardingService)
+    }
+}
+
+@Composable
+private fun primarySimBody(onboardingService: SimOnboardingService) {
+    //TODO: Load the status from the frameworks
+    var callsSelectedId = rememberSaveable { mutableIntStateOf(1) }
+    var textsSelectedId = rememberSaveable { mutableIntStateOf(1) }
+    var mobileDataSelectedId = rememberSaveable { mutableIntStateOf(1) }
+    var automaticDataChecked by rememberSaveable { mutableStateOf(true) }
+
+    Column(Modifier.padding(SettingsDimension.itemPadding)) {
+        SettingsBody(stringResource(id = R.string.sim_onboarding_primary_sim_msg))
+    }
+    var selectableSubscriptionInfo = onboardingService.getSelectableSubscriptionInfo()
+    var list = listOf(ListPreferenceOption(id = -1, text = "Loading"))
+    if (selectableSubscriptionInfo.size >= 2) {
+        list = listOf(
+            ListPreferenceOption(
+                id = selectableSubscriptionInfo[0].subscriptionId,
+                text = "${selectableSubscriptionInfo[0].displayName}"
+            ),
+            ListPreferenceOption(
+                id = selectableSubscriptionInfo[1].subscriptionId,
+                text = "${selectableSubscriptionInfo[1].displayName}"
+            ),
+            ListPreferenceOption(
+                id = -1,
+                text = stringResource(id = R.string.sim_calls_ask_first_prefs_title)
+            ),
+        )
+    } else {
+        // set all of primary sim items' enable as false and showing that sim.
+    }
+    createPrimarySimListPreference(
+        stringResource(id = R.string.primary_sim_calls_title),
+        list,
+        callsSelectedId,
+        ImageVector.vectorResource(R.drawable.ic_phone),
+        onIdSelected = { callsSelectedId.intValue = it }
+    )
+    createPrimarySimListPreference(
+        stringResource(id = R.string.primary_sim_texts_title),
+        list,
+        textsSelectedId,
+        Icons.AutoMirrored.Outlined.Message,
+        onIdSelected = { textsSelectedId.intValue = it }
+    )
+
+    createPrimarySimListPreference(
+            stringResource(id = R.string.mobile_data_settings_title),
+            list,
+            mobileDataSelectedId,
+        Icons.Outlined.DataUsage,
+            onIdSelected = { mobileDataSelectedId.intValue = it }
+    )
+
+    val autoDataTitle = stringResource(id = R.string.primary_sim_automatic_data_title)
+    val autoDataSummary = stringResource(id = R.string.primary_sim_automatic_data_msg)
+    SwitchPreference(remember {
+        object : SwitchPreferenceModel {
+            override val title = autoDataTitle
+            override val summary = { autoDataSummary }
+            override val checked = { automaticDataChecked }
+            override val onCheckedChange =
+                { newChecked: Boolean -> automaticDataChecked = newChecked }
+        }
+    })
+}
+
+@Composable
+fun createPrimarySimListPreference(
+        title: String,
+        list: List<ListPreferenceOption>,
+        selectedId: MutableIntState,
+        icon: ImageVector,
+        enable: Boolean = true,
+        onIdSelected: (id: Int) -> Unit
+) = ListPreference(remember {
+    object : ListPreferenceModel {
+        override val title = title
+        override val options = list
+        override val selectedId = selectedId
+        override val onIdSelected = onIdSelected
+        override val icon = @Composable {
+            SettingsIcon(icon)
+        }
+        override val enabled: () -> Boolean
+            get() = { enable }
+    }
+})
\ 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..1955d13
--- /dev/null
+++ b/src/com/android/settings/spa/network/SimOnboardingSelectSim.kt
@@ -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.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.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.saveable.rememberSaveable
+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.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))
+    }
+    for (subInfo in onboardingService.getSelectableSubscriptionInfo()) {
+        var title = onboardingService.getSubscriptionInfoDisplayName(subInfo)
+        var summaryNumber =
+            subInfo.number // TODO using the SubscriptionUtil.getFormattedPhoneNumber
+        var changeable = subInfo.isActive
+        var checked by rememberSaveable { mutableStateOf(!subInfo.isActive) }
+
+        CheckboxPreference(remember {
+            object : CheckboxPreferenceModel {
+                override val title = title
+                override val summary: () -> String
+                    get() = { summaryNumber }
+                override val checked = { checked }
+                override val changeable = { changeable }
+                override val onCheckedChange = { newChecked: Boolean -> checked = newChecked }
+            }
+        })
+    }
+}
\ No newline at end of file
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..a758e34 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) {
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index b0816fd..d39d980 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);
 
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..d5f0040 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,10 +33,11 @@
 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 androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
@@ -121,7 +121,7 @@
             }
             final CharSequence finalTitle = title;
             final String summary = service.loadLabel(mPm).toString();
-            final SwitchPreference pref = new AppSwitchPreference(getPrefContext());
+            final TwoStatePreference pref = new AppSwitchPreference(getPrefContext());
             pref.setPersistent(false);
             pref.setIcon(mIconDrawableFactory.getBadgedIcon(service, service.applicationInfo,
                     UserHandle.getUserId(service.applicationInfo.uid)));
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..05855e4 100644
--- a/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java
+++ b/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java
@@ -22,12 +22,13 @@
 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.widget.Toast;
 
-import com.android.settings.R;
+import androidx.annotation.Nullable;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -101,9 +102,29 @@
         // 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() {
+        try {
+            IWebViewUpdateService service = WebViewFactory.getUpdateService();
+            if (service != null) {
+                WebViewProviderInfo provider = service.getDefaultWebViewPackage();
+                if (provider != null) {
+                    return provider.packageName;
+                }
+            }
+        } catch (RemoteException e) {
+            Log.e(TAG, "RemoteException when trying to fetch default WebView package Name", e);
+        }
+        return 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/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/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..fca75a9
--- /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.wepUsage()) 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..1627056 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.wepUsage() && 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..6a6244b 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.wepUsage() && 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 e3e77e8..eb3d88a 100644
--- a/src/com/android/settings/wifi/WifiDialogActivity.java
+++ b/src/com/android/settings/wifi/WifiDialogActivity.java
@@ -17,6 +17,7 @@
 package com.android.settings.wifi;
 
 import static android.Manifest.permission.ACCESS_FINE_LOCATION;
+import static android.os.UserManager.DISALLOW_ADD_WIFI_CONFIG;
 import static android.os.UserManager.DISALLOW_CONFIG_WIFI;
 
 import android.app.KeyguardManager;
@@ -122,7 +123,7 @@
         }
 
         super.onCreate(savedInstanceState);
-        if (!isConfigWifiAllowed()) {
+        if (!isConfigWifiAllowed() || !isAddWifiConfigAllowed()) {
             finish();
             return;
         }
@@ -140,7 +141,7 @@
                     return SystemClock.elapsedRealtime();
                 }
             };
-            mNetworkDetailsTracker = FeatureFactory.getFactory(this)
+            mNetworkDetailsTracker = FeatureFactory.getFeatureFactory()
                     .getWifiTrackerLibProvider()
                     .createNetworkDetailsTracker(
                             getLifecycle(),
@@ -170,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(
@@ -201,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 {
@@ -393,6 +394,16 @@
         return isConfigWifiAllowed;
     }
 
+    @VisibleForTesting
+    boolean isAddWifiConfigAllowed() {
+        UserManager userManager = getSystemService(UserManager.class);
+        if (userManager != null && userManager.hasUserRestriction(DISALLOW_ADD_WIFI_CONFIG)) {
+            Log.e(TAG, "The user is not allowed to add Wi-Fi configuration.");
+            return false;
+        }
+        return true;
+    }
+
     private boolean hasWifiManager() {
         if (mWifiManager != null) return true;
         mWifiManager = getSystemService(WifiManager.class);
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/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..a90d627 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
@@ -38,7 +38,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;
@@ -55,7 +56,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 +64,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";
 
@@ -125,7 +125,7 @@
             if (prefSwitch != null) {
                 isWfcEnabled = prefSwitch.isChecked();
                 isCallStateIdle = getTelephonyManagerForSub(
-                        WifiCallingSettingsForSub.this.mSubId).getCallState()
+                        WifiCallingSettingsForSub.this.mSubId).getCallStateForSubscription()
                         == TelephonyManager.CALL_STATE_IDLE;
 
                 boolean isNonTtyOrTtyOnVolteEnabled = true;
@@ -409,11 +409,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 +463,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 +516,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 +546,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) {
@@ -594,29 +615,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;
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..0b05e04 100644
--- a/tests/anomaly-tester/Android.bp
+++ b/tests/anomaly-tester/Android.bp
@@ -17,8 +17,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..300a338 100644
--- a/tests/componenttests/Android.bp
+++ b/tests/componenttests/Android.bp
@@ -19,7 +19,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/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..7d3b75b 100644
--- a/tests/perftests/Android.bp
+++ b/tests/perftests/Android.bp
@@ -18,7 +18,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..d313878 100644
--- a/tests/robotests/Android.bp
+++ b/tests/robotests/Android.bp
@@ -1,7 +1,3 @@
-    //############################################################
-// Build SettingsRoboTestStub.apk which includes test-only resources.#
-//############################################################
-
 package {
     // See: http://go/android-license-faq
     // A large-scale-change added 'default_applicable_licenses' to import
@@ -11,6 +7,7 @@
     default_applicable_licenses: ["packages_apps_Settings_license"],
 }
 
+// Build SettingsRoboTestStub.apk which includes test-only resources.
 android_app {
     name: "SettingsRoboTestStub",
     defaults: [
@@ -20,37 +17,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 +42,7 @@
     ],
 }
 
-//############################################################
-// Settings Robolectric test target.                         #
-//############################################################
+// Settings Robolectric test target.
 android_robolectric_test {
     name: "SettingsRoboTests",
     srcs: [
@@ -76,21 +50,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 +93,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..c105d08 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,24 @@
 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.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 +57,134 @@
 import java.util.List;
 
 /** Tests for {@link AccessibilityDetailsSettingsFragment}. */
-@Config(shadows = ShadowFragment.class)
+@Config(shadows = ShadowDevicePolicyManager.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 +215,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..db6f43b 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
@@ -19,75 +19,75 @@
 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.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,
+})
 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 +101,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 +139,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 +159,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 +307,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 +388,7 @@
 
     }
 
-    @Ignore
     @Test
-    @Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
     public void onContentChanged_updatePreferenceInBackground_preferenceUpdated() {
         setupFragment();
         mFragment.onPause();
@@ -336,7 +408,6 @@
     }
 
     @Test
-    @Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
     public void testAccessibilityMenuInSystem_IncludedInInteractionControl() {
         mShadowAccessibilityManager.setInstalledAccessibilityServiceList(
                 List.of(getMockAccessibilityServiceInfo(
@@ -351,7 +422,6 @@
     }
 
     @Test
-    @Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
     public void testAccessibilityMenuInSystem_NoPrefWhenNotInstalled() {
         mShadowAccessibilityManager.setInstalledAccessibilityServiceList(List.of());
         setupFragment();
@@ -404,9 +474,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/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/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/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/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..43d2add 100644
--- a/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
@@ -72,6 +72,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;
@@ -407,6 +408,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void testClickFaceUnlock_inMultiWindow_withoutEnrolledFp_showsDialog() {
         testClickFaceUnlock(true /* isInMultiWindow */, false /*hasEnrolledFace*/);
         verifyShowsDialogAfterClickingUnlock(mFragment.getFacePreferenceKey());
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..459e377 100644
--- a/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollIntroductionTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollIntroductionTest.java
@@ -76,6 +76,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;
@@ -282,6 +283,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void testOnCreateToGenerateChallenge() {
         setupActivityWithGenerateChallenge(
                 new Intent().putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, 1L));
@@ -385,7 +387,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 +434,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void testFaceEnrollIntroduction_onStartRegisteredPostureChangeCallback() {
         setupActivityForPosture();
         mSpyActivity.onStart();
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..4de369e 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);
 
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..4d13bb6 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(
@@ -557,6 +560,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void fingerprintEnrollFindSensor_activityApplyDarkLightStyle() {
         setupActivity_onSfpsDevice();
         verifySidecar_onRearOrSfpsDevice();
@@ -567,6 +571,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 +605,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 +625,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/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..45ff247 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java
@@ -72,6 +72,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;
@@ -201,6 +202,7 @@
         assertThat(mFingerprintAuthenticateSidecar.isCancelled()).isTrue();
     }
 
+    @Ignore("b/313342682")
     @Test
     public void testGuestUserRequireScreenOnToAuth() {
         Settings.Secure.putIntForUser(
@@ -260,6 +262,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/fingerprint2/fragment/FingerprintEnrollIntroFragmentTest.kt b/tests/robotests/src/com/android/settings/biometrics/fingerprint2/fragment/FingerprintEnrollIntroFragmentTest.kt
new file mode 100644
index 0000000..024f346
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint2/fragment/FingerprintEnrollIntroFragmentTest.kt
@@ -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.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.shared.model.Default
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollIntroV2Fragment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintGatekeeperViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintScrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.GatekeeperInfo
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Intro
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.NavState
+import com.android.settings.testutils2.FakeFingerprintManagerInteractor
+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 navigationViewModel =
+    FingerprintEnrollNavigationViewModel(
+      backgroundDispatcher,
+      interactor,
+      gatekeeperViewModel,
+      Intro,
+      NavState(true),
+      Default,
+    )
+  private var fingerprintViewModel =
+    FingerprintEnrollViewModel(interactor, gatekeeperViewModel, navigationViewModel)
+  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) {
+            FingerprintEnrollViewModel::class.java -> fingerprintViewModel
+            FingerprintScrollViewModel::class.java -> fingerprintScrollViewModel
+            FingerprintEnrollNavigationViewModel::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/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..dceadeb 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdaterTest.java
@@ -16,6 +16,7 @@
 package com.android.settings.bluetooth;
 
 import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
@@ -24,20 +25,36 @@
 
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
 import android.bluetooth.BluetoothProfile;
+import android.bluetooth.BluetoothStatusCodes;
 import android.content.Context;
 import android.graphics.drawable.Drawable;
 import android.media.AudioManager;
+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.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.LocalBluetoothLeBroadcast;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+
+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;
@@ -51,21 +68,29 @@
 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 {
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     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 LocalBluetoothProfileManager mLocalBtProfileManager;
+    @Mock private CachedBluetoothDeviceManager mCachedDeviceManager;
+    @Mock private LocalBluetoothLeBroadcast mBroadcast;
+    @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
+    @Mock private BluetoothLeBroadcastReceiveState mBroadcastReceiveState;
 
     private Context mContext;
     private AvailableMediaBluetoothDeviceUpdater mBluetoothDeviceUpdater;
@@ -73,7 +98,6 @@
     private AudioManager mAudioManager;
     private BluetoothDevicePreference mPreference;
     private ShadowBluetoothAdapter mShadowBluetoothAdapter;
-    private ShadowCachedBluetoothDeviceManager mShadowCachedBluetoothDeviceManager;
 
     @Before
     public void setUp() {
@@ -81,25 +105,33 @@
 
         mContext = RuntimeEnvironment.application;
         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 +139,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 +151,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 +163,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 +175,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 +187,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 +200,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 +213,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 +226,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 +239,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 +254,137 @@
     @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);
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.HEARING_AID);
 
         verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
     }
 
     @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
     public void onProfileConnectionStateChanged_leAudioDeviceConnected_notInCall_addsPreference() {
+        setUpBroadcast(/* isSupported= */ false, /* isBroadcasting= */ false);
         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);
 
-        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
-                BluetoothProfile.STATE_CONNECTED, BluetoothProfile.LE_AUDIO);
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.LE_AUDIO);
 
         verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
     }
 
     @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
     public void onProfileConnectionStateChanged_leAudioDeviceConnected_inCall_addsPreference() {
+        setUpBroadcast(/* isSupported= */ false, /* isBroadcasting= */ false);
         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);
 
-        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
-                BluetoothProfile.STATE_CONNECTED, BluetoothProfile.LE_AUDIO);
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.LE_AUDIO);
 
         verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void
+            onProfileConnectionStateChanged_leaDeviceConnected_notInCall_notInBroadcast_addsPref() {
+        setUpBroadcast(/* isSupported= */ true, /* isBroadcasting= */ false);
+        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
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void
+            onProfileConnectionStateChanged_leaDeviceConnected_inCall_notInBroadcast_addsPref() {
+        setUpBroadcast(/* isSupported= */ true, /* isBroadcasting= */ false);
+        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);
+
+        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void
+            onProfileConnectionStateChanged_leaDeviceConnected_notInCall_inBroadcast_removesPref() {
+        setUpBroadcast(/* isSupported= */ true, /* isBroadcasting= */ true);
+        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).removePreference(mCachedBluetoothDevice);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void
+            onProfileConnectionStateChanged_leaDeviceConnected_inCall_inBroadcast_removesPref() {
+        setUpBroadcast(/* isSupported= */ true, /* isBroadcasting= */ true);
+        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);
+
+        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,30 +392,78 @@
     @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);
     }
 
     @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
     public void onClick_Preference_setActive() {
+        setUpBroadcast(/* isSupported= */ false, /* isBroadcasting= */ false);
         mBluetoothDeviceUpdater.onPreferenceClick(mPreference);
 
         verify(mCachedBluetoothDevice).setActive();
     }
-}
 
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onClick_Preference_isNotBroadcasting_setActive() {
+        setUpBroadcast(/* isSupported= */ true, /* isBroadcasting= */ false);
+        mBluetoothDeviceUpdater.onPreferenceClick(mPreference);
+
+        verify(mCachedBluetoothDevice).setActive();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onClick_Preference_isBroadcasting_stopBroadcastingAndSetActive() {
+        setUpBroadcast(/* isSupported= */ true, /* isBroadcasting= */ true);
+        doNothing().when(mBroadcast).stopBroadcast(anyInt());
+        mBluetoothDeviceUpdater.onPreferenceClick(mPreference);
+
+        verify(mBroadcast).stopBroadcast(anyInt());
+        verify(mCachedBluetoothDevice).setActive();
+    }
+
+    private void setUpBroadcast(boolean isSupported, boolean isBroadcasting) {
+        if (isSupported) {
+            mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                    BluetoothStatusCodes.FEATURE_SUPPORTED);
+            mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                    BluetoothStatusCodes.FEATURE_SUPPORTED);
+            when(mLocalBtManager.getProfileManager()).thenReturn(mLocalBtProfileManager);
+            when(mLocalBtProfileManager.getLeAudioBroadcastProfile()).thenReturn(mBroadcast);
+            when(mBroadcast.isEnabled(null)).thenReturn(isBroadcasting);
+            when(mLocalBtProfileManager.getLeAudioBroadcastAssistantProfile())
+                    .thenReturn(mAssistant);
+            if (isBroadcasting) {
+                when(mAssistant.getAllSources(any()))
+                        .thenReturn(ImmutableList.of(mBroadcastReceiveState));
+            } else {
+                when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of());
+            }
+        } else {
+            mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                    BluetoothStatusCodes.FEATURE_NOT_SUPPORTED);
+            mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                    BluetoothStatusCodes.FEATURE_NOT_SUPPORTED);
+        }
+    }
+}
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..cfd256f 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragmentTest.java
@@ -29,6 +29,7 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.companion.CompanionDeviceManager;
 import android.content.Context;
 import android.hardware.input.InputManager;
 import android.os.Bundle;
@@ -46,10 +47,11 @@
 
 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.google.common.collect.ImmutableList;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -62,10 +64,12 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 import org.robolectric.fakes.RoboMenu;
-import org.robolectric.shadows.ShadowUserManager;
 
 @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 +91,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();
 
@@ -229,9 +238,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/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/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/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..a3348ca 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
@@ -25,17 +25,23 @@
 
 import android.content.Context;
 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.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.PreferenceControllerListHelper;
+import com.android.settings.flags.Flags;
 import com.android.settings.slices.SlicePreferenceController;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowConnectivityManager;
 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;
@@ -50,19 +56,24 @@
 @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,20 +90,48 @@
     @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);
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
     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_SETTINGS);
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void nonIndexableKeys_existInXmlLayout_flagOff() {
+        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_SAVED_DEVICE_SEE_ALL,
+                        KEY_FAST_PAIR_DEVICE_SEE_ALL,
+                        KEY_AUDIO_SHARING_DEVICE_LIST,
+                        KEY_AUDIO_SHARING_SETTINGS);
     }
 
     @Test
@@ -118,8 +157,8 @@
     @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()
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..fa6cc6c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragmentTest.java
@@ -0,0 +1,228 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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() {
+        mFragment.show(mParent, new ArrayList<>(), (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() {
+        AtomicBoolean isShareBtnClicked = new AtomicBoolean(false);
+        mFragment.show(
+                mParent,
+                new ArrayList<>(),
+                (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..335bbe3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragmentTest.java
@@ -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.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 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;
+
+@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 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);
+
+    private Fragment mParent;
+    private AudioSharingDisconnectDialogFragment 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 AudioSharingDisconnectDialogFragment();
+        mParent = new Fragment();
+        FragmentController.setupFragment(
+                mParent, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
+        ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
+        list.add(TEST_DEVICE_ITEM1);
+        list.add(TEST_DEVICE_ITEM2);
+        mFragment.show(mParent, list, TEST_DEVICE_NAME3, (item) -> {});
+        shadowMainLooper().idle();
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_flagOff_dialogNotExist() {
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_flagOn_dialogShowBtnForTwoDevices() {
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        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_clickCancel_dialogDismiss() {
+        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/AudioSharingJoinDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragmentTest.java
new file mode 100644
index 0000000..38f80e0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragmentTest.java
@@ -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.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.TextView;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.R;
+import com.android.settings.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 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_ITEM =
+            new AudioSharingDeviceItem(TEST_DEVICE_NAME1, /* groupId= */ 1, /* isActive= */ true);
+
+    private Fragment mParent;
+    private AudioSharingJoinDialogFragment 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 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<>(), TEST_DEVICE_NAME2, () -> {});
+        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<>(), TEST_DEVICE_NAME2, () -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        View rootView = shadowDialog.getView();
+        TextView subtitle1 = rootView.findViewById(R.id.share_audio_subtitle1);
+        assertThat(subtitle1.getText()).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_ITEM);
+        mFragment.show(mParent, list, TEST_DEVICE_NAME2, () -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        View rootView = shadowDialog.getView();
+        TextView subtitle1 = rootView.findViewById(R.id.share_audio_subtitle1);
+        assertThat(subtitle1.getText()).isEqualTo(TEST_DEVICE_NAME1 + " and " + TEST_DEVICE_NAME2);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_clickCancel_dialogDismiss() {
+        mFragment.show(mParent, new ArrayList<>(), TEST_DEVICE_NAME2, () -> {});
+        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<>(), TEST_DEVICE_NAME2, () -> 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..61bc88a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragmentTest.java
@@ -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.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.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_NAME = "test";
+
+    private Fragment mParent;
+    private AudioSharingStopDialogFragment 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 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, TEST_DEVICE_NAME, () -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_clickCancel_dialogDismiss() {
+        mFragment.show(mParent, TEST_DEVICE_NAME, () -> {});
+        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, TEST_DEVICE_NAME, () -> 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..0b94061
--- /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.mockito.Mockito.verify;
+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() {
+        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();
+        verify(mSwitch).setEnabled(false);
+        assertThat(mOnSwitchBarChanged).isTrue();
+    }
+}
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..a540d28 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;
@@ -139,6 +141,8 @@
                 .setSources(InputDevice.SOURCE_STYLUS)
                 .build());
         when(mInputDevice.getBluetoothAddress()).thenReturn("SOME:ADDRESS");
+        when(mInputDevice.hasKeys(KEYCODE_STYLUS_BUTTON_TAIL)).thenReturn(
+                new boolean[]{true});
 
         mController = new StylusDevicesController(mContext, mInputDevice, null, mLifecycle);
     }
@@ -221,6 +225,28 @@
     }
 
     @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(2);
+        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);
@@ -331,7 +357,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 +381,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 +518,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 +530,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 +541,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();
 
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..39c381e 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((Application) 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((Application) 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..8aa2e5a 100644
--- a/tests/robotests/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceControllerTest.java
@@ -37,7 +37,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 +140,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();
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..0339f57 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
@@ -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..554227e 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImplTest.java
@@ -47,4 +47,9 @@
     public void isFirstUseDateAvailable_returnFalse() {
         assertThat(mImpl.isFirstUseDateAvailable(mContext, 1000L)).isFalse();
     }
+
+    @Test
+    public void isBatteryInfoEnabled_returnFalse() {
+        assertThat(mImpl.isBatteryInfoEnabled(mContext)).isFalse();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsMigrateCheckerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsMigrateCheckerTest.java
index c34dcec..ba7e9cc 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();
@@ -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..0131330 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,16 +117,18 @@
 
     @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();
     }
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/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..eeedccc 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceControllerTest.java
@@ -15,8 +15,7 @@
  */
 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;
 
@@ -31,8 +30,6 @@
 
 import androidx.preference.PreferenceScreen;
 
-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;
@@ -58,16 +55,11 @@
     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;
+    @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;
@@ -147,13 +139,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..8e3de7c 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
@@ -40,8 +40,7 @@
 @RunWith(RobolectricTestRunner.class)
 public class LowBatteryDetectorTest {
 
-    @Mock
-    private BatteryInfo mBatteryInfo;
+    @Mock private BatteryInfo mBatteryInfo;
     private BatteryTipPolicy mPolicy;
     private LowBatteryDetector mLowBatteryDetector;
     private Context mContext;
@@ -55,15 +54,16 @@
         ReflectionHelpers.setField(mPolicy, "lowBatteryEnabled", true);
         mBatteryInfo.discharging = true;
 
-        mLowBatteryDetector = new LowBatteryDetector(mContext, mPolicy, mBatteryInfo,
-                false /* isPowerSaveMode */);
+        mLowBatteryDetector =
+                new LowBatteryDetector(
+                        mContext, mPolicy, mBatteryInfo, false /* isPowerSaveMode */);
     }
 
     @Test
     public void testDetect_disabledByPolicy_tipInvisible() {
         ReflectionHelpers.setField(mPolicy, "lowBatteryEnabled", false);
-        mLowBatteryDetector = new LowBatteryDetector(mContext, mPolicy, mBatteryInfo,
-                true /* isPowerSaveMode */);
+        mLowBatteryDetector =
+                new LowBatteryDetector(mContext, mPolicy, mBatteryInfo, true /* isPowerSaveMode */);
 
         assertThat(mLowBatteryDetector.detect().isVisible()).isFalse();
     }
@@ -84,8 +84,8 @@
 
     @Test
     public void testDetect_batterySaverOn_tipInvisible() {
-        mLowBatteryDetector = new LowBatteryDetector(mContext, mPolicy, mBatteryInfo,
-                true /* isPowerSaveMode */);
+        mLowBatteryDetector =
+                new LowBatteryDetector(mContext, mPolicy, mBatteryInfo, true /* isPowerSaveMode */);
 
         assertThat(mLowBatteryDetector.detect().getState())
                 .isEqualTo(BatteryTip.StateType.INVISIBLE);
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..296306d 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,9 +17,7 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -63,8 +61,8 @@
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
         mContext = RuntimeEnvironment.application;
-        mBatteryDefenderTip = new BatteryDefenderTip(BatteryTip.StateType.NEW,
-                false /* isPluggedIn */);
+        mBatteryDefenderTip =
+                new BatteryDefenderTip(BatteryTip.StateType.NEW, false /* isPluggedIn */);
 
         when(mPreference.getContext()).thenReturn(mContext);
         when(mCardPreference.getContext()).thenReturn(mContext);
@@ -93,8 +91,8 @@
         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,7 +104,7 @@
 
     @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);
 
@@ -115,7 +113,7 @@
 
     @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);
 
@@ -123,16 +121,16 @@
     }
 
     @Test
-    public void updatePreference_shouldSetSecondaryButtonVisible() {
+    public void updatePreference_shouldSetPrimaryButtonVisible() {
         mBatteryDefenderTip.updatePreference(mCardPreference);
 
-        verify(mCardPreference).setSecondaryButtonVisible(true);
+        verify(mCardPreference).setPrimaryButtonVisible(true);
     }
 
     @Test
     public void updatePreference_whenCharging_setPrimaryButtonVisibleToBeTrue() {
-        mBatteryDefenderTip = new BatteryDefenderTip(BatteryTip.StateType.NEW,
-                true /* isPluggedIn */);
+        mBatteryDefenderTip =
+                new BatteryDefenderTip(BatteryTip.StateType.NEW, true /* isPluggedIn */);
 
         mBatteryDefenderTip.updatePreference(mCardPreference);
 
@@ -140,19 +138,19 @@
     }
 
     @Test
-    public void updatePreference_whenNotCharging_setPrimaryButtonVisibleToBeFalse() {
+    public void updatePreference_whenNotCharging_setSecondaryButtonVisibleToBeFalse() {
         mBatteryDefenderTip.updatePreference(mCardPreference);
 
-        verify(mCardPreference).setPrimaryButtonVisible(false);
+        verify(mCardPreference).setSecondaryButtonVisible(false);
     }
 
     @Test
-    public void updatePreference_whenGetChargingStatusFailed_setPrimaryButtonVisibleToBeFalse() {
+    public void updatePreference_whenGetChargingStatusFailed_setSecondaryButtonVisibleToBeFalse() {
         fakeGetChargingStatusFailed();
 
         mBatteryDefenderTip.updatePreference(mCardPreference);
 
-        verify(mCardPreference).setPrimaryButtonVisible(false);
+        verify(mCardPreference).setSecondaryButtonVisible(false);
     }
 
     private void fakeGetChargingStatusFailed() {
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..45fdc1f 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
@@ -45,8 +45,7 @@
 
     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;
 
     private Context mContext;
     private TestBatteryTip mBatteryTip;
@@ -86,8 +85,10 @@
     @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));
+        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);
@@ -113,9 +114,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 +149,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..c1d039b 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,16 +17,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.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;
@@ -72,20 +67,20 @@
 
     @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 +88,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
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..0e6f6aa
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManagerTest.java
@@ -0,0 +1,443 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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});
+
+        setDenylist(new ArraySet<>(List.of(FAKE_UID_1_INT)));
+
+        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/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..f349600 100644
--- a/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java
@@ -33,7 +33,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 +54,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(),
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..635343e 100644
--- a/tests/robotests/src/com/android/settings/survey/SurveyMixinTest.java
+++ b/tests/robotests/src/com/android/settings/survey/SurveyMixinTest.java
@@ -11,9 +11,9 @@
 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.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -40,11 +40,11 @@
         mProvider = FakeFeatureFactory.setupForTest().getSurveyFeatureProvider(mContext);
     }
 
+    @Ignore("b/314929422")
     @Test
     public void onResume_noActionIfActivityDoesNotExist() {
         // Pretend we are an activity that is starting up
-        FragmentActivity temp  = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
+        FragmentActivity temp = Robolectric.setupActivity(FragmentActivity.class);
         when(mFragment.getActivity()).thenReturn(null);
         SurveyMixin mixin = new SurveyMixin(mFragment, FAKE_KEY);
         mixin.onResume();
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..5989d49 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictedLockUtilsInternal.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictedLockUtilsInternal.java
@@ -50,7 +50,7 @@
     }
 
     @Implementation
-    protected static EnforcedAdmin checkIfMeteredDataRestricted(Context context,
+    protected static EnforcedAdmin checkIfMeteredDataUsageUserControlDisabled(Context context,
             String packageName, int userId) {
         if (sIsRestricted) {
             return new EnforcedAdmin();
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/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 8b9faf2..886a4bc 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
@@ -18,6 +18,7 @@
 
 import static android.Manifest.permission.ACCESS_COARSE_LOCATION;
 import static android.Manifest.permission.ACCESS_FINE_LOCATION;
+import static android.os.UserManager.DISALLOW_ADD_WIFI_CONFIG;
 import static android.os.UserManager.DISALLOW_CONFIG_WIFI;
 
 import static com.android.settings.wifi.WifiDialogActivity.REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER;
@@ -27,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;
@@ -41,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;
@@ -54,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;
@@ -92,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);
     }
 
@@ -110,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
@@ -156,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);
 
@@ -169,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
@@ -183,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);
 
@@ -198,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();
@@ -241,6 +244,20 @@
     }
 
     @Test
+    public void isAddWifiConfigAllowed_hasNoUserRestriction_returnTrue() {
+        when(mUserManager.hasUserRestriction(DISALLOW_ADD_WIFI_CONFIG)).thenReturn(false);
+
+        assertThat(mActivity.isAddWifiConfigAllowed()).isTrue();
+    }
+
+    @Test
+    public void isAddWifiConfigAllowed_hasUserRestriction_returnFalse() {
+        when(mUserManager.hasUserRestriction(DISALLOW_ADD_WIFI_CONFIG)).thenReturn(true);
+
+        assertThat(mActivity.isAddWifiConfigAllowed()).isFalse();
+    }
+
+    @Test
     public void hasPermissionForResult_noCallingPackage_returnFalse() {
         when(mActivity.getCallingPackage()).thenReturn(null);
 
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..2e6189e 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
@@ -292,7 +292,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 +337,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..5a5008c
--- /dev/null
+++ b/tests/robotests/testutils/com/android/settings/testutils/FakeFeatureFactory.java
@@ -0,0 +1,335 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.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.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;
+
+    /**
+     * 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);
+    }
+
+    @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;
+    }
+}
+
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..5989381
--- /dev/null
+++ b/tests/screenshot/Android.bp
@@ -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.
+
+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..6c8bb88
--- /dev/null
+++ b/tests/screenshot/AndroidManifest.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.
+-->
+
+<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" />
+    </application>
+
+</manifest>
\ No newline at end of file
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..308ab55
--- /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/BasicScreenshotTest.kt b/tests/screenshot/src/com/android/settings/tests/screenshot/BasicScreenshotTest.kt
new file mode 100644
index 0000000..bf28b54
--- /dev/null
+++ b/tests/screenshot/src/com/android/settings/tests/screenshot/BasicScreenshotTest.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.tests.screenshot
+
+import android.content.Context
+import android.graphics.Bitmap
+import android.graphics.Canvas
+import android.graphics.Color
+import android.os.Bundle
+import android.view.View
+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.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import com.android.settings.R
+import com.android.settings.biometrics.fingerprint2.shared.model.Default
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollIntroV2Fragment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintGatekeeperViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintScrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.GatekeeperInfo
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.NavState
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Start
+import com.android.settings.testutils2.FakeFingerprintManagerInteractor
+import kotlinx.coroutines.test.StandardTestDispatcher
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import platform.test.screenshot.GoldenImagePathManager
+import platform.test.screenshot.ScreenshotTestRule
+import platform.test.screenshot.matchers.MSSIMMatcher
+
+@RunWith(AndroidJUnit4::class)
+class BasicScreenshotTest {
+  @Rule
+  @JvmField
+  var rule: ScreenshotTestRule =
+    ScreenshotTestRule(
+      GoldenImagePathManager(
+        InstrumentationRegistry.getInstrumentation().getContext(),
+        InstrumentationRegistry.getInstrumentation()
+          .getTargetContext()
+          .getFilesDir()
+          .getAbsolutePath() + "/settings_screenshots"
+      )
+    )
+
+  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>
+  val navState = NavState(true)
+
+  private val navigationViewModel = FingerprintEnrollNavigationViewModel(
+      backgroundDispatcher,
+      interactor,
+      gatekeeperViewModel,
+      Start.next(navState),
+      navState,
+      Default,
+    )
+  private var fingerprintViewModel = FingerprintEnrollViewModel(
+      interactor, gatekeeperViewModel, navigationViewModel,
+    )
+  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) {
+            FingerprintEnrollViewModel::class.java -> fingerprintViewModel
+            FingerprintScrollViewModel::class.java -> fingerprintScrollViewModel
+            FingerprintEnrollNavigationViewModel::class.java -> navigationViewModel
+            FingerprintGatekeeperViewModel::class.java -> gatekeeperViewModel
+            else -> null
+          }
+            as T
+        }
+      }
+
+    fragmentScenario =
+      launchFragmentInContainer(Bundle(), R.style.SudThemeGlif) {
+        FingerprintEnrollIntroV2Fragment(factory)
+      }
+  }
+
+  /** Renders a [view] into a [Bitmap]. */
+  private fun viewToBitmap(view: View): Bitmap {
+    val bitmap =
+      Bitmap.createBitmap(
+        view.measuredWidth,
+        view.measuredHeight,
+        Bitmap.Config.ARGB_8888,
+      )
+    val canvas = Canvas(bitmap)
+    view.draw(canvas)
+    return bitmap
+  }
+
+  @Test
+  fun testEnrollIntro() {
+    fragmentScenario.onFragment { fragment ->
+      val view = fragment.requireView().findViewById<View>(R.id.enroll_intro_content_view)!!
+      view.setBackgroundColor(Color.BLACK)
+    }
+    fragmentScenario.onFragment { fragment ->
+      val view = fragment.requireView().findViewById<View>(R.id.enroll_intro_content_view)!!
+      rule.assertBitmapAgainstGolden(
+        viewToBitmap(view),
+        "fp_enroll_intro",
+        MSSIMMatcher()
+      )
+    }
+
+  }
+}
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/shared/Android.bp b/tests/shared/Android.bp
new file mode 100644
index 0000000..27573e8
--- /dev/null
+++ b/tests/shared/Android.bp
@@ -0,0 +1,10 @@
+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..dd8658c
--- /dev/null
+++ b/tests/shared/src/com/android/settings/testutils2/FakeFingerprintManagerInteractor.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.testutils2
+
+import com.android.settings.biometrics.fingerprint2.shared.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollState
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptModel
+import com.android.settings.biometrics.fingerprint2.shared.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 pressToAuthEnabled = true
+
+  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
+  }
+
+  override suspend fun pressToAuthEnabled(): Boolean {
+    return pressToAuthEnabled
+  }
+}
diff --git a/tests/spa_unit/Android.bp b/tests/spa_unit/Android.bp
index 0bd5613..4df6254 100644
--- a/tests/spa_unit/Android.bp
+++ b/tests/spa_unit/Android.bp
@@ -27,13 +27,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/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..44ec926
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/apn/ApnRepositoryTest.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.network.apn
+
+import android.content.ContentResolver
+import android.content.Context
+import android.database.MatrixCursor
+import android.net.Uri
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mockito
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.whenever
+
+@RunWith(AndroidJUnit4::class)
+class ApnRepositoryTest {
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+    private val mContentResolver = mock<ContentResolver> {}
+    private val uri = mock<Uri> {}
+
+    @Test
+    fun getApnDataFromUri() {
+        // mock out resources and the feature provider
+        val cursor = MatrixCursor(sProjection)
+        cursor.addRow(
+            arrayOf<Any?>(
+                0,
+                "name",
+                "apn",
+                "proxy",
+                "port",
+                "userName",
+                "server",
+                "passWord",
+                "mmsc",
+                "mmsProxy",
+                "mmsPort",
+                0,
+                "apnType",
+                "apnProtocol",
+                0,
+                0,
+                "apnRoaming",
+                0,
+                1,
+                0
+            )
+        )
+        val context = Mockito.spy(context)
+        whenever(context.contentResolver).thenReturn(mContentResolver)
+        whenever(mContentResolver.query(uri, sProjection, null, null, null)).thenReturn(cursor)
+        assert(getApnDataFromUri(uri, context).name == "name")
+    }
+}
\ No newline at end of file
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..74aa861 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,11 +18,8 @@
 
 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
@@ -40,9 +37,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 +245,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 {
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/AppButtonsTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppButtonsTest.kt
index 8faf5c9..c742bd7 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,23 @@
 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 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.settingslib.applications.AppUtils
 import com.android.settingslib.spa.testutils.delay
 import kotlinx.coroutines.flow.MutableStateFlow
@@ -38,6 +45,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
 
@@ -57,6 +65,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 +81,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 +109,78 @@
         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)
+        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 +188,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/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..cc2c1e1 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,8 @@
 import android.apphibernation.AppHibernationManager
 import android.content.Context
 import android.content.pm.ApplicationInfo
+import android.content.pm.Flags
 import android.os.Build
-import android.os.UserHandle
 import android.permission.PermissionControllerManager
 import android.permission.PermissionControllerManager.HIBERNATION_ELIGIBILITY_ELIGIBLE
 import android.permission.PermissionControllerManager.HIBERNATION_ELIGIBILITY_EXEMPT_BY_SYSTEM
@@ -63,7 +63,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 +70,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 +100,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 +149,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() =
+            Flags.archiving() || "true" == System.getProperty("pm.archiving.enabled")
+
     @Test
     fun `An app targets Q with ops mode default when hibernation targets pre S - not exempted`() {
         mockOpsMode(MODE_DEFAULT)
@@ -227,7 +237,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/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..2f4740e
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/MediaRoutingControlTest.kt
@@ -0,0 +1,243 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.lifecycle.MutableLiveData
+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 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 = MutableLiveData(fakeMode)
+
+        override fun setAllowed(allowed: Boolean) {
+            if (allowed)
+                mode.postValue(AppOpsManager.MODE_ALLOWED)
+            else
+                mode.postValue(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..dace5e9
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingLabelSimTest.kt
@@ -0,0 +1,197 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 { selectedSubInfoList }.doReturn(mutableListOf())
+
+        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 { getSelectableSubscriptionInfo() }.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 { getSelectableSubscriptionInfo() }.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..35f1968
--- /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 { selectedSubInfoList }.doReturn(mutableListOf())
+
+        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)
+        }
+
+        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..9cb8909
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingPrimarySimTest.kt
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.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 { selectedSubInfoList }.doReturn(mutableListOf())
+
+        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..5d7465f
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingSelectSimTest.kt
@@ -0,0 +1,165 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 { selectedSubInfoList }.doReturn(mutableListOf())
+
+        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 { getSelectableSubscriptionInfo() }.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..9b098a7 100644
--- a/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt
+++ b/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt
@@ -21,10 +21,11 @@
 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.fastpair.FastPairFeatureProvider
 import com.android.settings.connecteddevice.stylus.StylusFeatureProvider
 import com.android.settings.dashboard.DashboardFeatureProvider
 import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider
@@ -33,15 +34,14 @@
 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 +49,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 +61,89 @@
         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")
 }
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..f3f5201 100644
--- a/tests/uitests/Android.bp
+++ b/tests/uitests/Android.bp
@@ -26,7 +26,10 @@
     platform_apis: true,
     certificate: "platform",
     test_suites: ["device-tests"],
-    srcs: ["src/**/*.java"],
+    srcs: [
+        "src/**/*.java",
+        "src/**/*.kt",
+    ],
 
     libs: [
         "android.test.runner",
@@ -34,7 +37,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 +47,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..8751471
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/privatespace/PrivateSpaceAuthenticationActivityTest.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.ui.privatespace
+
+
+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.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))
+        device.assertHasTexts(listOf(LOCK_SCREEN_TITLE))
+    }
+
+    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 LOCK_SCREEN_TITLE = "Choose screen lock"
+    }
+}
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..9d2d686 100644
--- a/tests/unit/Android.bp
+++ b/tests/unit/Android.bp
@@ -13,42 +13,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..acf590b 100644
--- a/tests/unit/src/com/android/settings/applications/credentials/CredentialManagerPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/applications/credentials/CredentialManagerPreferenceControllerTest.java
@@ -17,11 +17,10 @@
 package com.android.settings.applications.credentials;
 
 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 +29,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;
 
@@ -54,7 +55,6 @@
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.Optional;
 import java.util.Set;
 
 @RunWith(AndroidJUnit4.class)
@@ -64,14 +64,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 +84,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,14 +112,17 @@
         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.setVisibility(true);
+        assertThat(controller.getVisibility()).isTrue();
         assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
@@ -134,7 +139,7 @@
     }
 
     @Test
-    public void buildSwitchPreference() {
+    public void buildPreference() {
         CredentialProviderInfo providerInfo1 =
                 createCredentialProviderInfoWithSubtitle(
                         "com.android.provider1", "ClassA", "Service Title", null);
@@ -143,8 +148,11 @@
                         "com.android.provider2", "ClassA", "Service Title", "Summary Text");
         CredentialManagerPreferenceController controller =
                 createControllerWithServices(Lists.newArrayList(providerInfo1, providerInfo2));
+        controller.setSimulateConnectedForTests(true);
+        assertThat(controller.isConnected()).isTrue();
+        controller.setVisibility(true);
+        assertThat(controller.getVisibility()).isTrue();
         assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-        assertThat(controller.isConnected()).isFalse();
 
         // Test the data is correct.
         assertThat(providerInfo1.isEnabled()).isFalse();
@@ -158,13 +166,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,8 +192,11 @@
                                 createCredentialProviderInfo("com.android.provider4", "ClassA"),
                                 createCredentialProviderInfo("com.android.provider5", "ClassA"),
                                 createCredentialProviderInfo("com.android.provider6", "ClassA")));
+        controller.setSimulateConnectedForTests(true);
+        assertThat(controller.isConnected()).isTrue();
+        controller.setVisibility(true);
+        assertThat(controller.getVisibility()).isTrue();
         assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-        assertThat(controller.isConnected()).isFalse();
 
         // Ensure that we stay under 5 providers.
         assertThat(controller.togglePackageNameEnabled("com.android.provider1")).isTrue();
@@ -248,8 +261,11 @@
                         "com.android.provider2", "ClassA", "Service Title", true);
         CredentialManagerPreferenceController controller =
                 createControllerWithServices(Lists.newArrayList(providerInfo1, providerInfo2));
+        controller.setSimulateConnectedForTests(true);
+        assertThat(controller.isConnected()).isTrue();
+        controller.setVisibility(true);
+        assertThat(controller.getVisibility()).isTrue();
         assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-        assertThat(controller.isConnected()).isFalse();
 
         // Test the data is correct.
         assertThat(providerInfo1.isEnabled()).isFalse();
@@ -284,22 +300,16 @@
                         "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();
 
@@ -311,7 +321,7 @@
         assertThat(controller.isConnected()).isFalse();
         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 +333,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 +359,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 +376,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 +404,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 +421,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 +438,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 +448,65 @@
 
         // 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());
+    }
+
+    private int getIconSize() {
+        final Resources resources = mContext.getResources();
+        return (int) resources.getDimension(android.R.dimen.app_icon_size);
     }
 
     private CredentialManagerPreferenceController createControllerWithServices(
@@ -441,6 +516,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());
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..301fcfa
--- /dev/null
+++ b/tests/unit/src/com/android/settings/applications/credentials/DefaultCombinedPreferenceControllerTest.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.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() {
+        DefaultCombinedPreferenceController dcpc =
+                new DefaultCombinedPreferenceController(mContext);
+
+        // Ensure that the settings activity is only created if we haved the right combination
+        // of package and class name.
+        assertThat(dcpc.createSettingsActivityIntent(null, null)).isNull();
+        assertThat(dcpc.createSettingsActivityIntent("", null)).isNull();
+        assertThat(dcpc.createSettingsActivityIntent("", "")).isNull();
+        assertThat(dcpc.createSettingsActivityIntent("com.test", "")).isNull();
+        assertThat(dcpc.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);
+        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);
+        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..51a1fc4
--- /dev/null
+++ b/tests/unit/src/com/android/settings/applications/credentials/PrimaryProviderPreferenceTest.java
@@ -0,0 +1,182 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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_buttonsHidden() {
+        if (!PrimaryProviderPreference.shouldUseNewSettingsUi()) {
+            return;
+        }
+
+        PrimaryProviderPreference ppp = createTestPreferenceWithNewLayout();
+
+        // Test that the buttons are visible.
+        assertThat(ppp.getButtonFrameView()).isNotNull();
+        assertThat(ppp.getButtonFrameView().getVisibility()).isEqualTo(View.GONE);
+        assertThat(mReceivedChangeButtonClicked).isFalse();
+
+        // If we show the buttons the visiblility should be updated.
+        ppp.setButtonsVisible(true);
+        assertThat(ppp.getButtonFrameView().getVisibility()).isEqualTo(View.VISIBLE);
+
+        // If we hide the buttons the visibility should be updated.
+        ppp.setButtonsVisible(false);
+        assertThat(ppp.getButtonFrameView().getVisibility()).isEqualTo(View.GONE);
+    }
+
+    @Test
+    public void ensureButtonsClicksCallDelegate_oldDesign() {
+        if (PrimaryProviderPreference.shouldUseNewSettingsUi()) {
+            return;
+        }
+
+        PrimaryProviderPreference ppp = createTestPreference("preference_widget_gear");
+
+        // Test that clicking the preference results in the delegate being
+        // called.
+        assertThat(mReceivedOpenButtonClicked).isFalse();
+        ppp.getOnPreferenceClickListener().onPreferenceClick(ppp);
+        assertThat(mReceivedOpenButtonClicked).isTrue();
+
+        // Test that the gear button is present and visible.
+        assertThat(ppp.getGearView()).isNotNull();
+        assertThat(ppp.getGearView().getVisibility()).isEqualTo(View.VISIBLE);
+
+        // Test that clicking the gear button results in the delegate being
+        // called.
+        assertThat(mReceivedChangeButtonClicked).isFalse();
+        ppp.getGearView().performClick();
+        assertThat(mReceivedChangeButtonClicked).isTrue();
+    }
+
+    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..fa5af6d 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,15 @@
 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.flag.junit.SetFlagsRule;
 
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -42,6 +46,7 @@
 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;
@@ -50,6 +55,10 @@
 @RunWith(AndroidJUnit4.class)
 public class ApprovalPreferenceControllerTest {
 
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(
+            SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT);
+
     private Context mContext;
     private FakeFeatureFactory mFeatureFactory;
     @Mock
@@ -80,7 +89,6 @@
         mController.setNm(mNm);
         mController.setParent(mFragment);
         mController.setPkgInfo(mPkgInfo);
-
     }
 
     @Test
@@ -165,6 +173,7 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_MODES_API)
     public void disable() {
         mController.disable(mCn);
         verify(mFeatureFactory.metricsFeatureProvider).action(
@@ -172,6 +181,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/FaceUpdaterTest.java b/tests/unit/src/com/android/settings/biometrics/face/FaceUpdaterTest.java
index 66514ac..9190d0a 100644
--- a/tests/unit/src/com/android/settings/biometrics/face/FaceUpdaterTest.java
+++ b/tests/unit/src/com/android/settings/biometrics/face/FaceUpdaterTest.java
@@ -39,7 +39,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;
@@ -100,7 +99,9 @@
                 same(HARDWARE_AUTH_TOKEN),
                 same(CANCELLATION_SIGNAL),
                 callbackCaptor.capture(),
-                same(DISABLED_FEATURES));
+                same(DISABLED_FEATURES),
+                same(null),
+                eq(false));
         FaceManager.EnrollmentCallback callback = callbackCaptor.getValue();
 
         callback.onEnrollmentError(ERR_MSG_ID, ERR_STRING);
@@ -126,12 +127,14 @@
                 same(HARDWARE_AUTH_TOKEN),
                 same(CANCELLATION_SIGNAL),
                 callbackCaptor.capture(),
-                same(DISABLED_FEATURES));
+                same(DISABLED_FEATURES),
+                same(null),
+                eq(false));
         FaceManager.EnrollmentCallback callback = callbackCaptor.getValue();
 
         callback.onEnrollmentProgress(/* remaining= */ 0);
 
-        verify(mSafetyCenterManagerWrapper).isEnabled(mContext);
+        verify(mSafetyCenterManagerWrapper, atLeast(1)).isEnabled(mContext);
     }
 
     @Test
@@ -145,7 +148,9 @@
                 same(HARDWARE_AUTH_TOKEN),
                 same(CANCELLATION_SIGNAL),
                 callbackCaptor.capture(),
-                same(DISABLED_FEATURES));
+                same(DISABLED_FEATURES),
+                same(null),
+                eq(false));
         FaceManager.EnrollmentCallback callback = callbackCaptor.getValue();
 
         callback.onEnrollmentProgress(/* remaining= */ 1);
@@ -153,7 +158,6 @@
         verify(mSafetyCenterManagerWrapper, never()).isEnabled(any());
     }
 
-    @Ignore("b/282413778")
     @Test
     public void enroll_secondVersion_onEnrollmentCallbacks_triggerGivenCallback() {
         ArgumentCaptor<FaceManager.EnrollmentCallback> callbackCaptor =
@@ -182,7 +186,6 @@
                 .onEnrollmentFrame(HELP_CODE, HELP_MESSAGE, CELL, STAGE, PAN, TILT, DISTANCE);
     }
 
-    @Ignore("b/282413778")
     @Test
     public void enroll_secondVersion_onEnrollmentSuccess_invokedInteractionWithSafetyCenter() {
         ArgumentCaptor<FaceManager.EnrollmentCallback> callbackCaptor =
@@ -204,7 +207,6 @@
         verify(mSafetyCenterManagerWrapper).isEnabled(mContext);
     }
 
-    @Ignore("b/282413778")
     @Test
     public void enroll_secondVersion_onEnrollmentNotYetFinished_didntInvokeInteractionWithSafetyCenter() {
         ArgumentCaptor<FaceManager.EnrollmentCallback> callbackCaptor =
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/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..418db04 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
@@ -108,9 +108,9 @@
         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));
         assertThat(mCallbackWrapper.mValue instanceof MessageDisplayController).isFalse();
@@ -123,9 +123,9 @@
         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));
         assertThat(mCallbackWrapper.mValue instanceof MessageDisplayController).isFalse();
@@ -142,9 +142,9 @@
         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));
         assertThat(mCallbackWrapper.mValue).isNotNull();
@@ -166,9 +166,9 @@
     @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());
     }
@@ -177,8 +177,8 @@
     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 +191,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 +228,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 +271,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 +308,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 +330,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 +352,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 +369,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 +387,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..3440d2a 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,7 +18,6 @@
 
 import android.content.Context
 import android.content.Intent
-import android.content.res.Resources
 import android.hardware.fingerprint.Fingerprint
 import android.hardware.fingerprint.FingerprintManager
 import android.hardware.fingerprint.FingerprintManager.CryptoObject
@@ -27,10 +26,14 @@
 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.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.shared.data.repository.PressToAuthProvider
+import com.android.settings.biometrics.fingerprint2.shared.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.shared.model.Default
+import com.android.settings.biometrics.fingerprint2.shared.model.EnrollReason
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerEnrollState
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintAuthAttemptModel
+import com.android.settings.biometrics.fingerprint2.shared.model.FingerprintData
 import com.android.settings.password.ChooseLockSettingsHelper
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.cancelAndJoin
@@ -51,8 +54,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,7 +71,11 @@
   @Mock private lateinit var gateKeeperPasswordProvider: GatekeeperPasswordProvider
 
   private var testScope = TestScope(backgroundDispatcher)
-  private var pressToAuthProvider = { true }
+  private var pressToAuthProvider =
+    object : PressToAuthProvider {
+      override val isEnabled: Boolean
+        get() = false
+    }
 
   @Before
   fun setup() {
@@ -76,14 +86,14 @@
         fingerprintManager,
         gateKeeperPasswordProvider,
         pressToAuthProvider,
+        Default,
       )
   }
 
   @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 +104,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 +117,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 +142,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 +152,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 +171,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 +194,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 +221,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 +233,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 +254,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 +281,89 @@
       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)
+        )
+      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)
+        )
+      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)
+        )
+      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..bd94cba
--- /dev/null
+++ b/tests/unit/src/com/android/settings/fingerprint2/enrollment/viewmodel/FingerprintEnrollFindSensorViewModelV2Test.kt
@@ -0,0 +1,266 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.accessibility.AccessibilityManager
+import androidx.arch.core.executor.testing.InstantTaskExecutorRule
+import androidx.test.core.app.ApplicationProvider
+import com.android.settings.biometrics.fingerprint2.shared.model.Default
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.AccessibilityViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.BackgroundViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Education
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollFindSensorViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintGatekeeperViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FoldStateViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.NextStepViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.OrientationStateViewModel
+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.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: FingerprintEnrollNavigationViewModel
+  private lateinit var accessibilityViewModel: AccessibilityViewModel
+  private lateinit var foldStateViewModel: FoldStateViewModel
+  private lateinit var orientationStateViewModel: OrientationStateViewModel
+  private lateinit var underTest: FingerprintEnrollFindSensorViewModel
+  private lateinit var backgroundViewModel: BackgroundViewModel
+  private val context: Context = ApplicationProvider.getApplicationContext()
+  private val accessibilityManager: AccessibilityManager =
+    context.getSystemService(AccessibilityManager::class.java)!!
+
+  @Before
+  fun setup() {
+    backgroundDispatcher = StandardTestDispatcher()
+    testScope = TestScope(backgroundDispatcher)
+    Dispatchers.setMain(backgroundDispatcher)
+
+    fakeFingerprintManagerInteractor = FakeFingerprintManagerInteractor()
+    gatekeeperViewModel =
+      FingerprintGatekeeperViewModel.FingerprintGatekeeperViewModelFactory(
+          null,
+          fakeFingerprintManagerInteractor
+        )
+        .create(FingerprintGatekeeperViewModel::class.java)
+    navigationViewModel =
+      FingerprintEnrollNavigationViewModel.FingerprintEnrollNavigationViewModelFactory(
+          backgroundDispatcher,
+          fakeFingerprintManagerInteractor,
+          gatekeeperViewModel,
+          canSkipConfirm = true,
+          Default,
+        )
+        .create(FingerprintEnrollNavigationViewModel::class.java)
+
+    backgroundViewModel =
+      BackgroundViewModel.BackgroundViewModelFactory().create(BackgroundViewModel::class.java)
+    backgroundViewModel.inForeground()
+    enrollViewModel =
+      FingerprintEnrollViewModel.FingerprintEnrollViewModelFactory(
+          fakeFingerprintManagerInteractor,
+          gatekeeperViewModel,
+          navigationViewModel,
+        )
+        .create(FingerprintEnrollViewModel::class.java)
+    accessibilityViewModel =
+      AccessibilityViewModel.AccessibilityViewModelFactory(accessibilityManager)
+        .create(AccessibilityViewModel::class.java)
+    foldStateViewModel =
+      FoldStateViewModel.FoldStateViewModelFactory(context).create(FoldStateViewModel::class.java)
+    orientationStateViewModel =
+      OrientationStateViewModel.OrientationViewModelFactory(context)
+        .create(OrientationStateViewModel::class.java)
+    underTest =
+      FingerprintEnrollFindSensorViewModel.FingerprintEnrollFindSensorViewModelFactory(
+          navigationViewModel,
+          enrollViewModel,
+          gatekeeperViewModel,
+          backgroundViewModel,
+          accessibilityViewModel,
+          foldStateViewModel,
+          orientationStateViewModel
+        )
+        .create(FingerprintEnrollFindSensorViewModel::class.java)
+
+    // Navigate to Education page
+    navigationViewModel.nextStep()
+  }
+
+  @After
+  fun tearDown() {
+    Dispatchers.resetMain()
+  }
+
+  // TODO(b/305094585): test enroll() logic
+
+  @Test
+  fun currentStepIsEducation() =
+    testScope.runTest {
+      var step: NextStepViewModel? = null
+      val job = launch {
+        navigationViewModel.navigationViewModel.collectLatest { step = it.currStep }
+      }
+      advanceUntilIdle()
+      assertThat(step).isEqualTo(Education)
+      job.cancel()
+    }
+
+  @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
+        }
+      }
+
+      val config = createConfiguration(isFolded = true)
+      foldStateViewModel.onConfigurationChange(config)
+      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
+        }
+      }
+
+      val config = createConfiguration(isFolded = false)
+      foldStateViewModel.onConfigurationChange(config)
+      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/FingerprintEnrollEnrollingViewModelTest.kt b/tests/unit/src/com/android/settings/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollEnrollingViewModelTest.kt
new file mode 100644
index 0000000..efb4a07
--- /dev/null
+++ b/tests/unit/src/com/android/settings/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollEnrollingViewModelTest.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.fingerprint2.ui.enrollment.viewmodel
+
+import androidx.arch.core.executor.testing.InstantTaskExecutorRule
+import com.android.settings.biometrics.fingerprint2.shared.model.Default
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.BackgroundViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.Enrollment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollEnrollingViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintGatekeeperViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.GatekeeperInfo
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.NavState
+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 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: FingerprintEnrollNavigationViewModel
+  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)
+
+    navigationViewModel =
+      FingerprintEnrollNavigationViewModel(
+        backgroundDispatcher,
+        fakeFingerprintManagerInteractor,
+        gateKeeperViewModel,
+        Enrollment,
+        NavState(true),
+        Default,
+      )
+
+    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..064e087
--- /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.shared.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..4bd9121
--- /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.shared.model.FingerprintAuthAttemptModel
+import com.android.settings.biometrics.fingerprint2.shared.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/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/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..4bb5d43
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/PrivateSpaceMaintainerTest.java
@@ -0,0 +1,290 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.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()} 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());
+    }
+}
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..f6356bc 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() {
+    public void setSafetySourceData_whenSafetyCenterIsEnabled_withoutBiometrics_setsNullData() {
         when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(false);
         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..3538727 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
@@ -374,16 +414,25 @@
         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();
 
         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 +441,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 +467,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 +490,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 +505,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 +514,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/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..bf2c84a 100644
--- a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
+++ b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
@@ -23,10 +23,11 @@
 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.fastpair.FastPairFeatureProvider;
 import com.android.settings.connecteddevice.stylus.StylusFeatureProvider;
 import com.android.settings.dashboard.DashboardFeatureProvider;
 import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
@@ -36,15 +37,16 @@
 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 +57,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 +78,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 +97,22 @@
     public WifiFeatureProvider mWifiFeatureProvider;
     public KeyboardSettingsFeatureProvider mKeyboardSettingsFeatureProvider;
     public StylusFeatureProvider mStylusFeatureProvider;
+    public OnboardingFeatureProvider mOnboardingFeatureProvider;
+    public FastPairFeatureProvider mFastPairFeatureProvider;
+    public PrivateSpaceLoginFeatureProvider mPrivateSpaceLoginFeatureProvider;
 
     /**
      * 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();
+        setFactory(getAppContext(), factory);
+        return factory;
     }
 
-  /**
-   * FeatureFactory constructor.
-   */
+    /**
+     * FeatureFactory constructor.
+     */
     public FakeFeatureFactory() {
         supportFeatureProvider = mock(SupportFeatureProvider.class);
         metricsFeatureProvider = mock(MetricsFeatureProvider.class);
@@ -122,14 +129,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 +145,9 @@
         mWifiFeatureProvider = mock(WifiFeatureProvider.class);
         mKeyboardSettingsFeatureProvider = mock(KeyboardSettingsFeatureProvider.class);
         mStylusFeatureProvider = mock(StylusFeatureProvider.class);
+        mOnboardingFeatureProvider = mock(OnboardingFeatureProvider.class);
+        mFastPairFeatureProvider = mock(FastPairFeatureProvider.class);
+        mPrivateSpaceLoginFeatureProvider = mock(PrivateSpaceLoginFeatureProvider.class);
     }
 
     @Override
@@ -147,7 +156,7 @@
     }
 
     @Override
-    public SupportFeatureProvider getSupportFeatureProvider(Context context) {
+    public SupportFeatureProvider getSupportFeatureProvider() {
         return supportFeatureProvider;
     }
 
@@ -156,8 +165,9 @@
         return metricsFeatureProvider;
     }
 
+    @NotNull
     @Override
-    public BatteryStatusFeatureProvider getBatteryStatusFeatureProvider(Context context) {
+    public BatteryStatusFeatureProvider getBatteryStatusFeatureProvider() {
         return batteryStatusFeatureProvider;
     }
 
@@ -166,13 +176,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 +193,9 @@
         return dockUpdaterFeatureProvider;
     }
 
+    @NotNull
     @Override
-    public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) {
+    public ApplicationFeatureProvider getApplicationFeatureProvider() {
         return applicationFeatureProvider;
     }
 
@@ -191,8 +204,9 @@
         return localeFeatureProvider;
     }
 
+    @NotNull
     @Override
-    public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(Context context) {
+    public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider() {
         return enterprisePrivacyFeatureProvider;
     }
 
@@ -211,17 +225,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 +257,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 +315,19 @@
     public StylusFeatureProvider getStylusFeatureProvider() {
         return mStylusFeatureProvider;
     }
+
+    @Override
+    public OnboardingFeatureProvider getOnboardingFeatureProvider() {
+        return mOnboardingFeatureProvider;
+    }
+
+    @Override
+    public FastPairFeatureProvider getFastPairFeatureProvider() {
+        return mFastPairFeatureProvider;
+    }
+
+    @Override
+    public PrivateSpaceLoginFeatureProvider getPrivateSpaceLoginFeatureProvider() {
+        return mPrivateSpaceLoginFeatureProvider;
+    }
 }
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)
+        }
+    }
+}
