diff --git a/ADPF_OWNERS b/ADPF_OWNERS
index bcdc338..c7ff464 100644
--- a/ADPF_OWNERS
+++ b/ADPF_OWNERS
@@ -1,4 +1,5 @@
-sumir@google.com
+adyabr@google.com
 chingtangyu@google.com
-xwxw@google.com
 mattbuckley@google.com
+sumir@google.com
+xwxw@google.com
\ No newline at end of file
diff --git a/AconfigFlags.bp b/AconfigFlags.bp
index 8b95679..8bfac03 100644
--- a/AconfigFlags.bp
+++ b/AconfigFlags.bp
@@ -610,6 +610,13 @@
     vendor_available: true,
 }
 
+java_aconfig_library {
+    name: "android.os.vibrator.flags-aconfig-java-host",
+    aconfig_declarations: "android.os.vibrator.flags-aconfig",
+    host_supported: true,
+    defaults: ["framework-minus-apex-aconfig-java-defaults"],
+}
+
 // View
 aconfig_declarations {
     name: "android.view.flags-aconfig",
diff --git a/apct-tests/perftests/core/src/android/os/TracePerfTest.java b/apct-tests/perftests/core/src/android/os/TracePerfTest.java
index 0b941c9..d905124 100644
--- a/apct-tests/perftests/core/src/android/os/TracePerfTest.java
+++ b/apct-tests/perftests/core/src/android/os/TracePerfTest.java
@@ -127,14 +127,14 @@
     public void testInstantPerfettoWithArgs() {
         PerfettoTrace.instant(FOO_CATEGORY, "testInstantP")
                 .addArg("foo", "bar")
-                .addFlow(1)
+                .setFlow(1)
                 .emit();
 
         BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
         while (state.keepRunning()) {
             PerfettoTrace.instant(FOO_CATEGORY, "testInstantP")
                     .addArg("foo", "bar")
-                    .addFlow(1)
+                    .setFlow(1)
                     .emit();
         }
     }
diff --git a/boot/boot-image-profile-extra.txt b/boot/boot-image-profile-extra.txt
index ced0d17..ce99bfe 100644
--- a/boot/boot-image-profile-extra.txt
+++ b/boot/boot-image-profile-extra.txt
@@ -45,11 +45,15 @@
 HSPLandroid/os/MessageQueue$StackNodeType;->*
 HSPLandroid/os/MessageQueue$StateNode;->*
 HSPLandroid/os/MessageQueue$TimedParkStateNode;->*
+
+# For now, compile all methods in PerfettoTrace and PerfettoTrackEventExtra.
+# Similar to the existing Trace APIs, these new APIs can impact the performance
+# of many subsystems including MessageQueue. This also keeps benchmark
+# comparisons between both APIs fair.
 HSPLandroid/os/PerfettoTrace$Category;->*
 HSPLandroid/os/PerfettoTrace;->*
 HSPLandroid/os/PerfettoTrackEventExtra;->*
-HSPLandroid/os/PerfettoTrackEventExtra$BuilderImpl;->*
-HSPLandroid/os/PerfettoTrackEventExtra$NoOpBuilder;->*
+HSPLandroid/os/PerfettoTrackEventExtra$Builder;->*
 HSPLandroid/os/PerfettoTrackEventExtra$ArgBool;->*
 HSPLandroid/os/PerfettoTrackEventExtra$ArgInt64;->*
 HSPLandroid/os/PerfettoTrackEventExtra$ArgDouble;->*
diff --git a/core/api/current.txt b/core/api/current.txt
index 9ebb506..4862236 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -53802,8 +53802,8 @@
     method @FlaggedApi("com.android.graphics.hwui.flags.limited_hdr") public void setDesiredHdrHeadroom(@FloatRange(from=0.0f, to=10000.0) float);
     method public void setSecure(boolean);
     method public void setSurfaceLifecycle(int);
-    method public void setZOrderMediaOverlay(boolean);
-    method public void setZOrderOnTop(boolean);
+    method @Deprecated @FlaggedApi("android.view.flags.deprecate_surface_view_z_order_apis") public void setZOrderMediaOverlay(boolean);
+    method @Deprecated @FlaggedApi("android.view.flags.deprecate_surface_view_z_order_apis") public void setZOrderOnTop(boolean);
     field public static final int SURFACE_LIFECYCLE_DEFAULT = 0; // 0x0
     field public static final int SURFACE_LIFECYCLE_FOLLOWS_ATTACHMENT = 2; // 0x2
     field public static final int SURFACE_LIFECYCLE_FOLLOWS_VISIBILITY = 1; // 0x1
diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt
index 40069aa..526a213 100644
--- a/core/api/module-lib-current.txt
+++ b/core/api/module-lib-current.txt
@@ -165,6 +165,16 @@
 
 package android.media {
 
+  public class AudioDeviceVolumeManager {
+    method @FlaggedApi("android.media.audio.unify_absolute_volume_management") @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.BLUETOOTH_STACK}) public void setDeviceAbsoluteMultiVolumeBehavior(@NonNull android.media.AudioDeviceAttributes, @NonNull java.util.List<android.media.VolumeInfo>, @NonNull java.util.concurrent.Executor, @NonNull android.media.AudioDeviceVolumeManager.OnAudioDeviceVolumeChangedListener);
+    method @FlaggedApi("android.media.audio.unify_absolute_volume_management") @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.BLUETOOTH_STACK}) public void setDeviceAbsoluteVolumeBehavior(@NonNull android.media.AudioDeviceAttributes, @NonNull android.media.VolumeInfo, @NonNull java.util.concurrent.Executor, @NonNull android.media.AudioDeviceVolumeManager.OnAudioDeviceVolumeChangedListener);
+  }
+
+  @FlaggedApi("android.media.audio.unify_absolute_volume_management") public static interface AudioDeviceVolumeManager.OnAudioDeviceVolumeChangedListener {
+    method public void onAudioDeviceVolumeAdjusted(@NonNull android.media.AudioDeviceAttributes, @NonNull android.media.VolumeInfo, int, int);
+    method public void onAudioDeviceVolumeChanged(@NonNull android.media.AudioDeviceAttributes, @NonNull android.media.VolumeInfo);
+  }
+
   public class AudioManager {
     method public void adjustStreamVolumeForUid(int, int, int, @NonNull String, int, int, int);
     method public void adjustSuggestedStreamVolumeForUid(int, int, int, @NonNull String, int, int, int);
diff --git a/core/api/test-current.txt b/core/api/test-current.txt
index 4222c7c..514a582 100644
--- a/core/api/test-current.txt
+++ b/core/api/test-current.txt
@@ -2586,7 +2586,7 @@
   }
 
   public class UserManager {
-    method @FlaggedApi("android.os.allow_private_profile") @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public boolean canAddPrivateProfile();
+    method @FlaggedApi("android.os.allow_private_profile") @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean canAddPrivateProfile();
     method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createProfileForUser(@Nullable String, @NonNull String, int, int, @Nullable String[]);
     method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createRestrictedProfile(@Nullable String);
     method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.content.pm.UserInfo createUser(@Nullable String, @NonNull String, int);
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index ee9c64f..b4f6533 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -7684,16 +7684,19 @@
     /**
      * Change the desired orientation of this activity. If the activity is currently in the
      * foreground or otherwise impacting the screen orientation, the screen is immediately changed
-     * (possibly causing the activity to be restarted). Otherwise, the requested orientation is used
-     * the next time the activity is visible.
+     * (possibly causing the activity to be restarted). Otherwise, the new orientation is used the
+     * next time the activity is visible.
      *
      * <aside class="note"><b>Note:</b>
      *     <ul>
-     *         <li>Device manufacturers can configure devices to override (ignore) calls to this
-     *             method to improve the layout of orientation-restricted apps.</li>
+     *         <li>To improve the layout of apps on form factors with smallest width >= 600dp, the
+     *             system ignores calls to this method for apps that target Android 16 (API level
+     *             36) or higher.</li>
+     *         <li>Device manufacturers can configure devices to ignore calls to this method to
+     *             improve the layout of orientation-restricted apps.</li>
      *         <li>On devices with Android 16 (API level 36) or higher installed, virtual device
-     *             owners (limited to select trusted and privileged apps) can optimize app layout on
-     *             displays they manage by ignoring calls to this method. See also
+     *             owners (select trusted and privileged apps) can optimize app layout on displays
+     *             they manage by ignoring calls to this method. See also
      *             <a href="https://source.android.com/docs/core/permissions/app-streaming">
      *               Companion app streaming</a>.</li>
      *     </ul>
@@ -7717,17 +7720,20 @@
     }
 
     /**
-     * Return the current requested orientation of the activity. This is either the orientation
-     * requested in the app manifest, or the last requested orientation given to
+     * Returns the current requested orientation of the activity, which is either the orientation
+     * requested in the app manifest or the last orientation given to
      * {@link #setRequestedOrientation(int)}.
      *
      * <aside class="note"><b>Note:</b>
      *     <ul>
+     *         <li>To improve the layout of apps on form factors with smallest width >= 600dp, the
+     *             system ignores calls to this method for apps that target Android 16 (API level
+     *             36) or higher.</li>
      *         <li>Device manufacturers can configure devices to ignore calls to this method to
      *             improve the layout of orientation-restricted apps.</li>
      *         <li>On devices with Android 16 (API level 36) or higher installed, virtual device
-     *             owners (limited to select trusted and privileged apps) can optimize app layout on
-     *             displays they manage by ignoring calls to this method. See also
+     *             owners (select trusted and privileged apps) can optimize app layout on displays
+     *             they manage by ignoring calls to this method. See also
      *             <a href="https://source.android.com/docs/core/permissions/app-streaming">
      *               Companion app streaming</a>.</li>
      *     </ul>
diff --git a/core/java/android/app/ActivityManagerInternal.java b/core/java/android/app/ActivityManagerInternal.java
index 6151b8e..a12c067 100644
--- a/core/java/android/app/ActivityManagerInternal.java
+++ b/core/java/android/app/ActivityManagerInternal.java
@@ -23,6 +23,7 @@
 import android.annotation.Nullable;
 import android.annotation.PermissionMethod;
 import android.annotation.PermissionName;
+import android.annotation.SpecialUsers.CanBeALL;
 import android.annotation.UserIdInt;
 import android.app.ActivityManager.ProcessCapability;
 import android.app.ActivityManager.RestrictionLevel;
@@ -1365,8 +1366,8 @@
      * watchdog reset.
      * @hide
      */
-    public abstract void killApplicationSync(String pkgName, int appId, int userId,
-            String reason, int exitInfoReason);
+    public abstract void killApplicationSync(String pkgName, int appId,
+            @CanBeALL @UserIdInt int userId, String reason, int exitInfoReason);
 
     /**
      * Queries the offset data for a given method on a process.
diff --git a/core/java/android/app/AppOpsManagerInternal.java b/core/java/android/app/AppOpsManagerInternal.java
index 8b7ea0f..a0f1930 100644
--- a/core/java/android/app/AppOpsManagerInternal.java
+++ b/core/java/android/app/AppOpsManagerInternal.java
@@ -233,4 +233,9 @@
      */
     public abstract int getOpRestrictionCount(int code, UserHandle user, String pkg,
             String attributionTag);
+
+    /**
+     * Invoke when a package is added.
+     */
+    public abstract void onPackageAdded(String pkgName, int uid);
 }
diff --git a/core/java/android/app/Instrumentation.java b/core/java/android/app/Instrumentation.java
index b611acf..eb9feb9 100644
--- a/core/java/android/app/Instrumentation.java
+++ b/core/java/android/app/Instrumentation.java
@@ -50,6 +50,7 @@
 import android.os.UserManager;
 import android.ravenwood.annotation.RavenwoodKeep;
 import android.ravenwood.annotation.RavenwoodKeepPartialClass;
+import android.ravenwood.annotation.RavenwoodKeepWholeClass;
 import android.ravenwood.annotation.RavenwoodReplace;
 import android.util.AndroidRuntimeException;
 import android.util.Log;
@@ -460,6 +461,7 @@
      * 
      * @param runner The code to run on the main thread.
      */
+    @RavenwoodReplace(blockedBy = ActivityThread.class)
     public void runOnMainSync(Runnable runner) {
         validateNotAppThread();
         SyncRunnable sr = new SyncRunnable(runner);
@@ -467,6 +469,13 @@
         sr.waitForComplete();
     }
 
+    private void runOnMainSync$ravenwood(Runnable runner) {
+        validateNotAppThread();
+        SyncRunnable sr = new SyncRunnable(runner);
+        mInstrContext.getMainExecutor().execute(sr);
+        sr.waitForComplete();
+    }
+
     boolean isSdkSandboxAllowedToStartActivities() {
         return Process.isSdkSandbox()
                 && mThread != null
@@ -2442,7 +2451,8 @@
         }
     }
 
-    private final void validateNotAppThread() {
+    @RavenwoodKeep
+    private void validateNotAppThread() {
         if (Looper.myLooper() == Looper.getMainLooper()) {
             throw new RuntimeException(
                 "This method can not be called from the main application thread");
@@ -2586,6 +2596,7 @@
         }
     }
 
+    @RavenwoodKeepWholeClass
     private static final class SyncRunnable implements Runnable {
         private final Runnable mTarget;
         private boolean mComplete;
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 06047a4..719e438 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -5966,7 +5966,9 @@
                     || resId == getMessagingCompactHeadsUpLayoutResource()
                     || resId == getCollapsedMessagingLayoutResource()
                     || resId == getCollapsedMediaLayoutResource()
-                    || resId == getCollapsedConversationLayoutResource());
+                    || resId == getCollapsedConversationLayoutResource()
+                    || (notificationsRedesignTemplates()
+                    && resId == getCollapsedCallLayoutResource()));
             RemoteViews contentView = new BuilderRemoteViews(mContext.getApplicationInfo(), resId);
 
             resetStandardTemplate(contentView);
@@ -11035,6 +11037,7 @@
 
         private RemoteViews makeCallLayout(int viewType) {
             final boolean isCollapsed = viewType == StandardTemplateParams.VIEW_TYPE_NORMAL;
+            final boolean isHeadsUp = viewType == StandardTemplateParams.VIEW_TYPE_HEADS_UP;
             Bundle extras = mBuilder.mN.extras;
             CharSequence title = mPerson != null ? mPerson.getName() : null;
             CharSequence text = mBuilder.processLegacyText(extras.getCharSequence(EXTRA_TEXT));
@@ -11050,22 +11053,31 @@
                     .hideLeftIcon(true)
                     .hideRightIcon(true)
                     .hideAppName(isCollapsed)
-                    .titleViewId(R.id.conversation_text)
                     .title(title)
-                    .text(text)
-                    .summaryText(mBuilder.processLegacyText(mVerificationText));
+                    .text(text);
+            if (!notificationsRedesignTemplates()) {
+                // We're using the normal title in the redesign, not a special text.
+                p.titleViewId(R.id.conversation_text)
+                        // The verification text is now part of the top line views, so this is no
+                        // longer necessary.
+                        .summaryText(mBuilder.processLegacyText(mVerificationText));
+            }
             mBuilder.mActions = getActionsListWithSystemActions();
             final RemoteViews contentView;
             if (isCollapsed) {
                 contentView = mBuilder.applyStandardTemplate(
                         mBuilder.getCollapsedCallLayoutResource(), p, null /* result */);
+            } else if (notificationsRedesignTemplates() && isHeadsUp) {
+                contentView = mBuilder.applyStandardTemplateWithActions(
+                        mBuilder.getCollapsedCallLayoutResource(), p, null /* result */);
             } else {
                 contentView = mBuilder.applyStandardTemplateWithActions(
                     mBuilder.getExpandedCallLayoutResource(), p, null /* result */);
             }
 
             // Bind some extra conversation-specific header fields.
-            if (!p.mHideAppName) {
+            if (!notificationsRedesignTemplates() && !p.mHideAppName) {
+                // Redesign note: This special divider is no longer needed.
                 mBuilder.setTextViewColorSecondary(contentView, R.id.app_name_divider, p);
                 contentView.setViewVisibility(R.id.app_name_divider, View.VISIBLE);
             }
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index 500f7585..5359ba4 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -17647,9 +17647,17 @@
             android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS
     })
     public boolean isFinancedDevice() {
-        return isDeviceManaged()
-                && getDeviceOwnerType(getDeviceOwnerComponentOnAnyUser())
-                == DEVICE_OWNER_TYPE_FINANCED;
+        try {
+            return isDeviceManaged()
+                    && getDeviceOwnerType(getDeviceOwnerComponentOnAnyUser())
+                    == DEVICE_OWNER_TYPE_FINANCED;
+        } catch (IllegalStateException e) {
+            // getDeviceOwnerType() will throw IllegalStateException if the device does not have a
+            // DO. This can happen under a race condition when the DO is removed after
+            // isDeviceManaged() (so it still returns true) but before getDeviceOwnerType().
+            // In this case, the device should not be considered a financed device.
+            return false;
+        }
     }
 
     // TODO(b/315298076): revert ag/25574027 and update the doc
diff --git a/core/java/android/app/supervision/flags.aconfig b/core/java/android/app/supervision/flags.aconfig
index 94de038..7094183 100644
--- a/core/java/android/app/supervision/flags.aconfig
+++ b/core/java/android/app/supervision/flags.aconfig
@@ -72,3 +72,11 @@
   description: "Flag that enables system APIs in Supervision Manager"
   bug: "382034839"
 }
+
+flag {
+  name: "enable_web_content_filters_screen"
+  is_exported: true
+  namespace: "supervision"
+  description: "Flag that enables the web content filters screen with Supervision settings entry point"
+  bug: "395134536"
+}
diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java
index efcaa0e..a753cbf 100644
--- a/core/java/android/content/ContentResolver.java
+++ b/core/java/android/content/ContentResolver.java
@@ -23,6 +23,8 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.RequiresPermission;
+import android.annotation.SpecialUsers.CanBeALL;
+import android.annotation.SpecialUsers.CanBeCURRENT;
 import android.annotation.SuppressLint;
 import android.annotation.SystemApi;
 import android.annotation.TestApi;
@@ -2709,7 +2711,7 @@
     public final void registerContentObserverAsUser(@NonNull Uri uri,
             boolean notifyForDescendants,
             @NonNull ContentObserver observer,
-            @NonNull UserHandle userHandle) {
+            @NonNull @CanBeALL @CanBeCURRENT UserHandle userHandle) {
         Objects.requireNonNull(uri, "uri");
         Objects.requireNonNull(observer, "observer");
         Objects.requireNonNull(userHandle, "userHandle");
@@ -2723,7 +2725,7 @@
     /** @hide - designated user version */
     @UnsupportedAppUsage
     public final void registerContentObserver(Uri uri, boolean notifyForDescendants,
-            ContentObserver observer, @UserIdInt int userHandle) {
+            ContentObserver observer, @CanBeALL @CanBeCURRENT @UserIdInt int userHandle) {
         try {
             getContentService().registerContentObserver(uri, notifyForDescendants,
                     observer.getContentObserver(), userHandle, mTargetSdkVersion);
diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java
index 0559631..2658efa 100644
--- a/core/java/android/content/res/Resources.java
+++ b/core/java/android/content/res/Resources.java
@@ -482,7 +482,6 @@
      *
      * @return Typeface The Typeface data associated with the resource.
      */
-    @RavenwoodThrow(blockedBy = Typeface.class)
     @NonNull public Typeface getFont(@FontRes int id) throws NotFoundException {
         final TypedValue value = obtainTempTypedValue();
         try {
@@ -507,7 +506,6 @@
     /**
      * @hide
      */
-    @RavenwoodThrow(blockedBy = Typeface.class)
     public void preloadFonts(@ArrayRes int id) {
         final TypedArray array = obtainTypedArray(id);
         try {
diff --git a/core/java/android/content/res/ResourcesImpl.java b/core/java/android/content/res/ResourcesImpl.java
index eec30f3..8c76fd7 100644
--- a/core/java/android/content/res/ResourcesImpl.java
+++ b/core/java/android/content/res/ResourcesImpl.java
@@ -1068,7 +1068,6 @@
      * Loads a font from XML or resources stream.
      */
     @Nullable
-    @RavenwoodThrow(blockedBy = Typeface.class)
     public Typeface loadFont(Resources wrapper, TypedValue value, int id) {
         if (value.string == null) {
             throw new NotFoundException("Resource \"" + getResourceName(id) + "\" ("
diff --git a/core/java/android/content/res/TypedArray.java b/core/java/android/content/res/TypedArray.java
index 79185a1..ee7d008 100644
--- a/core/java/android/content/res/TypedArray.java
+++ b/core/java/android/content/res/TypedArray.java
@@ -1043,7 +1043,6 @@
      *         not a font resource.
      */
     @Nullable
-    @RavenwoodThrow(blockedBy = Typeface.class)
     public Typeface getFont(@StyleableRes int index) {
         if (mRecycled) {
             throw new RuntimeException("Cannot make calls to a recycled instance!");
diff --git a/core/java/android/graphics/fonts/FontFamilyUpdateRequest.java b/core/java/android/graphics/fonts/FontFamilyUpdateRequest.java
index bfbcfd8..1bf01f4 100644
--- a/core/java/android/graphics/fonts/FontFamilyUpdateRequest.java
+++ b/core/java/android/graphics/fonts/FontFamilyUpdateRequest.java
@@ -68,6 +68,7 @@
  * @hide
  */
 @SystemApi
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class FontFamilyUpdateRequest {
 
     /**
diff --git a/core/java/android/graphics/fonts/FontFileUpdateRequest.java b/core/java/android/graphics/fonts/FontFileUpdateRequest.java
index cf1dca9..1f2be6f 100644
--- a/core/java/android/graphics/fonts/FontFileUpdateRequest.java
+++ b/core/java/android/graphics/fonts/FontFileUpdateRequest.java
@@ -28,6 +28,7 @@
  * @hide
  */
 @SystemApi
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class FontFileUpdateRequest {
 
     private final ParcelFileDescriptor mParcelFileDescriptor;
diff --git a/core/java/android/hardware/contexthub/HubEndpoint.java b/core/java/android/hardware/contexthub/HubEndpoint.java
index b7edef6..47ba51d 100644
--- a/core/java/android/hardware/contexthub/HubEndpoint.java
+++ b/core/java/android/hardware/contexthub/HubEndpoint.java
@@ -126,7 +126,16 @@
                     if (sessionExists) {
                         Log.w(
                                 TAG,
-                                "onSessionOpenComplete: session already exists, id=" + sessionId);
+                                "onSessionOpenRequest: session already exists, id=" + sessionId);
+                    }
+
+                    if (mLifecycleCallback == null) {
+                        Log.w(
+                                TAG,
+                                "onSessionOpenRequest: "
+                                        + "failed to open session, no lifecycle callback attached",
+                                new Exception());
+                        rejectSession(sessionId);
                     }
 
                     if (!sessionExists && mLifecycleCallback != null) {
diff --git a/core/java/android/hardware/contexthub/HubEndpointSession.java b/core/java/android/hardware/contexthub/HubEndpointSession.java
index ca59be8..c5e2d7a 100644
--- a/core/java/android/hardware/contexthub/HubEndpointSession.java
+++ b/core/java/android/hardware/contexthub/HubEndpointSession.java
@@ -88,7 +88,6 @@
                                 : ContextHubTransaction.TYPE_HUB_MESSAGE_DEFAULT);
         if (!isResponseRequired) {
             // If the message doesn't require acknowledgement, respond with success immediately
-            // TODO(b/379162322): Improve handling of synchronous failures.
             mHubEndpoint.sendMessage(this, message, null);
             ret.setResponse(
                     new ContextHubTransaction.Response<>(
diff --git a/core/java/android/os/CombinedMessageQueue/MessageQueue.java b/core/java/android/os/CombinedMessageQueue/MessageQueue.java
index 3c03bb5..7497234 100644
--- a/core/java/android/os/CombinedMessageQueue/MessageQueue.java
+++ b/core/java/android/os/CombinedMessageQueue/MessageQueue.java
@@ -130,7 +130,7 @@
 
     MessageQueue(boolean quitAllowed) {
         initIsProcessAllowedToUseConcurrent();
-        mUseConcurrent = sIsProcessAllowedToUseConcurrent && !isInstrumenting();
+        mUseConcurrent = sIsProcessAllowedToUseConcurrent;
         mQuitAllowed = quitAllowed;
         mPtr = nativeInit();
         mThread = Thread.currentThread();
@@ -202,15 +202,6 @@
         return;
     }
 
-    private static boolean isInstrumenting() {
-        final ActivityThread activityThread = ActivityThread.currentActivityThread();
-        if (activityThread == null) {
-            return false;
-        }
-        final Instrumentation instrumentation = activityThread.getInstrumentation();
-        return instrumentation != null && instrumentation.isInstrumenting();
-    }
-
     @Override
     protected void finalize() throws Throwable {
         try {
diff --git a/core/java/android/os/PerfettoTrace.java b/core/java/android/os/PerfettoTrace.java
index 741d542..932836f 100644
--- a/core/java/android/os/PerfettoTrace.java
+++ b/core/java/android/os/PerfettoTrace.java
@@ -232,10 +232,6 @@
      * @param eventName The event name to appear in the trace.
      */
     public static PerfettoTrackEventExtra.Builder instant(Category category, String eventName) {
-        if (!category.isEnabled()) {
-            return PerfettoTrackEventExtra.noOpBuilder();
-        }
-
         return PerfettoTrackEventExtra.builder().init(PERFETTO_TE_TYPE_INSTANT, category)
             .setEventName(eventName);
     }
@@ -247,10 +243,6 @@
      * @param eventName The event name to appear in the trace.
      */
     public static PerfettoTrackEventExtra.Builder begin(Category category, String eventName) {
-        if (!category.isEnabled()) {
-            return PerfettoTrackEventExtra.noOpBuilder();
-        }
-
         return PerfettoTrackEventExtra.builder().init(PERFETTO_TE_TYPE_SLICE_BEGIN, category)
             .setEventName(eventName);
     }
@@ -261,10 +253,6 @@
      * @param category The perfetto category.
      */
     public static PerfettoTrackEventExtra.Builder end(Category category) {
-        if (!category.isEnabled()) {
-            return PerfettoTrackEventExtra.noOpBuilder();
-        }
-
         return PerfettoTrackEventExtra.builder().init(PERFETTO_TE_TYPE_SLICE_END, category);
     }
 
@@ -275,10 +263,6 @@
      * @param value The value of the counter.
      */
     public static PerfettoTrackEventExtra.Builder counter(Category category, long value) {
-        if (!category.isEnabled()) {
-            return PerfettoTrackEventExtra.noOpBuilder();
-        }
-
         return PerfettoTrackEventExtra.builder().init(PERFETTO_TE_TYPE_COUNTER, category)
             .setCounter(value);
     }
@@ -302,10 +286,6 @@
      * @param value The value of the counter.
      */
     public static PerfettoTrackEventExtra.Builder counter(Category category, double value) {
-        if (!category.isEnabled()) {
-            return PerfettoTrackEventExtra.noOpBuilder();
-        }
-
         return PerfettoTrackEventExtra.builder().init(PERFETTO_TE_TYPE_COUNTER, category)
             .setCounter(value);
     }
diff --git a/core/java/android/os/PerfettoTrackEventExtra.java b/core/java/android/os/PerfettoTrackEventExtra.java
index 6844229..f4b5dfe 100644
--- a/core/java/android/os/PerfettoTrackEventExtra.java
+++ b/core/java/android/os/PerfettoTrackEventExtra.java
@@ -35,8 +35,8 @@
  */
 @android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class PerfettoTrackEventExtra {
+    private static final boolean DEBUG = false;
     private static final int DEFAULT_EXTRA_CACHE_SIZE = 5;
-    private static final Builder NO_OP_BUILDER = new NoOpBuilder();
     private static final ThreadLocal<PerfettoTrackEventExtra> sTrackEventExtra =
             new ThreadLocal<PerfettoTrackEventExtra>() {
                 @Override
@@ -46,7 +46,7 @@
             };
     private static final AtomicLong sNamedTrackId = new AtomicLong();
     private static final Supplier<Flow> sFlowSupplier = Flow::new;
-    private static final Supplier<BuilderImpl> sBuilderSupplier = BuilderImpl::new;
+    private static final Supplier<Builder> sBuilderSupplier = Builder::new;
     private static final Supplier<FieldInt64> sFieldInt64Supplier = FieldInt64::new;
     private static final Supplier<FieldDouble> sFieldDoubleSupplier = FieldDouble::new;
     private static final Supplier<FieldString> sFieldStringSupplier = FieldString::new;
@@ -56,6 +56,8 @@
     private CounterInt64 mCounterInt64;
     private CounterDouble mCounterDouble;
     private Proto mProto;
+    private Flow mFlow;
+    private Flow mTerminatingFlow;
 
     /**
      * Represents a native pointer to a Perfetto C SDK struct. E.g. PerfettoTeHlExtra.
@@ -135,245 +137,10 @@
         }
     }
 
-    public interface Builder {
-        /**
-         * Emits the track event.
-         */
-        void emit();
-
-        /**
-         * Initialize the builder for a new trace event.
-         */
-        Builder init(int traceType, PerfettoTrace.Category category);
-
-        /**
-         * Sets the event name for the track event.
-         */
-        Builder setEventName(String eventName);
-
-        /**
-         * Adds a debug arg with key {@code name} and value {@code val}.
-         */
-        Builder addArg(String name, long val);
-
-        /**
-         * Adds a debug arg with key {@code name} and value {@code val}.
-         */
-        Builder addArg(String name, boolean val);
-
-        /**
-         * Adds a debug arg with key {@code name} and value {@code val}.
-         */
-        Builder addArg(String name, double val);
-
-        /**
-         * Adds a debug arg with key {@code name} and value {@code val}.
-         */
-        Builder addArg(String name, String val);
-
-        /**
-         * Adds a flow with {@code id}.
-         */
-        Builder addFlow(int id);
-
-        /**
-         * Adds a terminating flow with {@code id}.
-         */
-        Builder addTerminatingFlow(int id);
-
-        /**
-         * Adds the events to a named track instead of the thread track where the
-         * event occurred.
-         */
-        Builder usingNamedTrack(long parentUuid, String name);
-
-        /**
-         * Adds the events to a process scoped named track instead of the thread track where the
-         * event occurred.
-         */
-        Builder usingProcessNamedTrack(String name);
-
-        /**
-         * Adds the events to a thread scoped named track instead of the thread track where the
-         * event occurred.
-         */
-        Builder usingThreadNamedTrack(long tid, String name);
-
-        /**
-         * Adds the events to a counter track instead. This is required for
-         * setting counter values.
-         */
-        Builder usingCounterTrack(long parentUuid, String name);
-
-        /**
-         * Adds the events to a process scoped counter track instead. This is required for
-         * setting counter values.
-         */
-        Builder usingProcessCounterTrack(String name);
-
-        /**
-         * Adds the events to a thread scoped counter track instead. This is required for
-         * setting counter values.
-         */
-        Builder usingThreadCounterTrack(long tid, String name);
-
-        /**
-         * Sets a long counter value on the event.
-         *
-         */
-        Builder setCounter(long val);
-
-        /**
-         * Sets a double counter value on the event.
-         *
-         */
-        Builder setCounter(double val);
-
-        /**
-         * Adds a proto field with field id {@code id} and value {@code val}.
-         */
-        Builder addField(long id, long val);
-
-        /**
-         * Adds a proto field with field id {@code id} and value {@code val}.
-         */
-        Builder addField(long id, double val);
-
-        /**
-         * Adds a proto field with field id {@code id} and value {@code val}.
-         */
-        Builder addField(long id, String val);
-
-        /**
-         * Begins a proto field with field
-         * Fields can be added from this point and there must be a corresponding
-         * {@link endProto}.
-         *
-         * The proto field is a singleton and all proto fields get added inside the
-         * one {@link beginProto} and {@link endProto} within the {@link Builder}.
-         */
-        Builder beginProto();
-
-        /**
-         * Ends a proto field.
-         */
-        Builder endProto();
-
-        /**
-         * Begins a nested proto field with field id {@code id}.
-         * Fields can be added from this point and there must be a corresponding
-         * {@link endNested}.
-         */
-        Builder beginNested(long id);
-
-        /**
-         * Ends a nested proto field.
-         */
-        Builder endNested();
-    }
-
-    @android.ravenwood.annotation.RavenwoodKeepWholeClass
-    public static final class NoOpBuilder implements Builder {
-        @Override
-        public void emit() {}
-        @Override
-        public Builder init(int traceType, PerfettoTrace.Category category) {
-            return this;
-        }
-        @Override
-        public Builder setEventName(String eventName) {
-            return this;
-        }
-        @Override
-        public Builder addArg(String name, long val) {
-            return this;
-        }
-        @Override
-        public Builder addArg(String name, boolean val) {
-            return this;
-        }
-        @Override
-        public Builder addArg(String name, double val) {
-            return this;
-        }
-        @Override
-        public Builder addArg(String name, String val) {
-            return this;
-        }
-        @Override
-        public Builder addFlow(int id) {
-            return this;
-        }
-        @Override
-        public Builder addTerminatingFlow(int id) {
-            return this;
-        }
-        @Override
-        public Builder usingNamedTrack(long parentUuid, String name) {
-            return this;
-        }
-        @Override
-        public Builder usingProcessNamedTrack(String name) {
-            return this;
-        }
-        @Override
-        public Builder usingThreadNamedTrack(long tid, String name) {
-            return this;
-        }
-        @Override
-        public Builder usingCounterTrack(long parentUuid, String name) {
-            return this;
-        }
-        @Override
-        public Builder usingProcessCounterTrack(String name) {
-            return this;
-        }
-        @Override
-        public Builder usingThreadCounterTrack(long tid, String name) {
-            return this;
-        }
-        @Override
-        public Builder setCounter(long val) {
-            return this;
-        }
-        @Override
-        public Builder setCounter(double val) {
-            return this;
-        }
-        @Override
-        public Builder addField(long id, long val) {
-            return this;
-        }
-        @Override
-        public Builder addField(long id, double val) {
-            return this;
-        }
-        @Override
-        public Builder addField(long id, String val) {
-            return this;
-        }
-        @Override
-        public Builder beginProto() {
-            return this;
-        }
-        @Override
-        public Builder endProto() {
-            return this;
-        }
-        @Override
-        public Builder beginNested(long id) {
-            return this;
-        }
-        @Override
-        public Builder endNested() {
-            return this;
-        }
-    }
-
     /**
      * Builder for Perfetto track event extras.
      */
-    public static final class BuilderImpl implements Builder {
+    public static final class Builder {
         // For performance reasons, we hold a reference to mExtra as a holder for
         // perfetto pointers being added. This way, we avoid an additional list to hold
         // the pointers in Java and we can pass them down directly to native code.
@@ -386,10 +153,13 @@
 
         private Builder mParent;
         private FieldContainer mCurrentContainer;
+        private boolean mIsCategoryEnabled;
 
         private final CounterInt64 mCounterInt64;
         private final CounterDouble mCounterDouble;
         private final Proto mProto;
+        private final Flow mFlow;
+        private final Flow mTerminatingFlow;
 
         private final RingBuffer<NamedTrack> mNamedTrackCache;
         private final RingBuffer<CounterTrack> mCounterTrackCache;
@@ -403,9 +173,9 @@
         private final Pool<FieldString> mFieldStringCache;
         private final Pool<FieldNested> mFieldNestedCache;
         private final Pool<Flow> mFlowCache;
-        private final Pool<BuilderImpl> mBuilderCache;
+        private final Pool<Builder> mBuilderCache;
 
-        private BuilderImpl() {
+        private Builder() {
             mExtra = sTrackEventExtra.get();
             mNamedTrackCache = mExtra.mNamedTrackCache;
             mCounterTrackCache = mExtra.mCounterTrackCache;
@@ -423,20 +193,32 @@
             mCounterInt64 = mExtra.getCounterInt64();
             mCounterDouble = mExtra.getCounterDouble();
             mProto = mExtra.getProto();
+            mFlow = mExtra.getFlow();
+            mTerminatingFlow = mExtra.getTerminatingFlow();
         }
 
-        @Override
+        /**
+         * Emits the track event.
+         */
         public void emit() {
-            checkParent();
-            mIsBuilt = true;
+            if (!mIsCategoryEnabled) {
+                return;
+            }
+            if (DEBUG) {
+                checkParent();
+            }
 
+            mIsBuilt = true;
             native_emit(mTraceType, mCategory.getPtr(), mEventName, mExtra.getPtr());
-            // Reset after emitting to free any the extras used to trace the event.
-            mExtra.reset();
         }
 
-        @Override
+        /**
+         * Initialize the builder for a new trace event.
+         */
         public Builder init(int traceType, PerfettoTrace.Category category) {
+            if (!category.isEnabled()) {
+                return this;
+            }
             mTraceType = traceType;
             mCategory = category;
             mEventName = "";
@@ -449,18 +231,27 @@
 
             mExtra.reset();
             // Reset after on init in case the thread created builders without calling emit
-            return initInternal(this, null);
+            return initInternal(this, null, true);
         }
 
-        @Override
+        /**
+         * Sets the event name for the track event.
+         */
         public Builder setEventName(String eventName) {
             mEventName = eventName;
             return this;
         }
 
-        @Override
+        /**
+         * Adds a debug arg with key {@code name} and value {@code val}.
+         */
         public Builder addArg(String name, long val) {
-            checkParent();
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkParent();
+            }
             ArgInt64 arg = mArgInt64Cache.get(name.hashCode());
             if (arg == null || !arg.getName().equals(name)) {
                 arg = new ArgInt64(name);
@@ -471,9 +262,16 @@
             return this;
         }
 
-        @Override
+        /**
+         * Adds a debug arg with key {@code name} and value {@code val}.
+         */
         public Builder addArg(String name, boolean val) {
-            checkParent();
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkParent();
+            }
             ArgBool arg = mArgBoolCache.get(name.hashCode());
             if (arg == null || !arg.getName().equals(name)) {
                 arg = new ArgBool(name);
@@ -484,9 +282,16 @@
             return this;
         }
 
-        @Override
+        /**
+         * Adds a debug arg with key {@code name} and value {@code val}.
+         */
         public Builder addArg(String name, double val) {
-            checkParent();
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkParent();
+            }
             ArgDouble arg = mArgDoubleCache.get(name.hashCode());
             if (arg == null || !arg.getName().equals(name)) {
                 arg = new ArgDouble(name);
@@ -497,9 +302,16 @@
             return this;
         }
 
-        @Override
+        /**
+         * Adds a debug arg with key {@code name} and value {@code val}.
+         */
         public Builder addArg(String name, String val) {
-            checkParent();
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkParent();
+            }
             ArgString arg = mArgStringCache.get(name.hashCode());
             if (arg == null || !arg.getName().equals(name)) {
                 arg = new ArgString(name);
@@ -510,27 +322,79 @@
             return this;
         }
 
-        @Override
+        /**
+         * Adds a flow with {@code id}.
+         */
         public Builder addFlow(int id) {
-            checkParent();
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkParent();
+            }
             Flow flow = mFlowCache.get(sFlowSupplier);
             flow.setProcessFlow(id);
             mExtra.addPerfettoPointer(flow);
             return this;
         }
 
-        @Override
+        /**
+         * Adds a terminating flow with {@code id}.
+         */
         public Builder addTerminatingFlow(int id) {
-            checkParent();
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkParent();
+            }
             Flow flow = mFlowCache.get(sFlowSupplier);
             flow.setProcessTerminatingFlow(id);
             mExtra.addPerfettoPointer(flow);
             return this;
         }
 
-        @Override
+        /**
+         * Adds a flow with {@code id}.
+         */
+        public Builder setFlow(int id) {
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkParent();
+            }
+            mFlow.setProcessFlow(id);
+            mExtra.addPerfettoPointer(mFlow);
+            return this;
+        }
+
+        /**
+         * Adds a terminating flow with {@code id}.
+         */
+        public Builder setTerminatingFlow(int id) {
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkParent();
+            }
+            mTerminatingFlow.setProcessTerminatingFlow(id);
+            mExtra.addPerfettoPointer(mTerminatingFlow);
+            return this;
+        }
+
+        /**
+         * Adds the events to a named track instead of the thread track where the
+         * event occurred.
+         */
         public Builder usingNamedTrack(long parentUuid, String name) {
-            checkParent();
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkParent();
+            }
 
             NamedTrack track = mNamedTrackCache.get(name.hashCode());
             if (track == null || !track.getName().equals(name)) {
@@ -541,19 +405,39 @@
             return this;
         }
 
-        @Override
+        /**
+         * Adds the events to a process scoped named track instead of the thread track where the
+         * event occurred.
+         */
         public Builder usingProcessNamedTrack(String name) {
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
             return usingNamedTrack(PerfettoTrace.getProcessTrackUuid(), name);
         }
 
-        @Override
+        /**
+         * Adds the events to a thread scoped named track instead of the thread track where the
+         * event occurred.
+         */
         public Builder usingThreadNamedTrack(long tid, String name) {
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
             return usingNamedTrack(PerfettoTrace.getThreadTrackUuid(tid), name);
         }
 
-        @Override
+        /**
+         * Adds the events to a counter track instead. This is required for
+         * setting counter values.
+         */
         public Builder usingCounterTrack(long parentUuid, String name) {
-            checkParent();
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkParent();
+            }
 
             CounterTrack track = mCounterTrackCache.get(name.hashCode());
             if (track == null || !track.getName().equals(name)) {
@@ -564,95 +448,178 @@
             return this;
         }
 
-        @Override
+        /**
+         * Adds the events to a process scoped counter track instead. This is required for
+         * setting counter values.
+         */
         public Builder usingProcessCounterTrack(String name) {
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
             return usingCounterTrack(PerfettoTrace.getProcessTrackUuid(), name);
         }
 
-        @Override
+        /**
+         * Adds the events to a thread scoped counter track instead. This is required for
+         * setting counter values.
+         */
         public Builder usingThreadCounterTrack(long tid, String name) {
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
             return usingCounterTrack(PerfettoTrace.getThreadTrackUuid(tid), name);
         }
 
-        @Override
+        /**
+         * Sets a long counter value on the event.
+         *
+         */
         public Builder setCounter(long val) {
-            checkParent();
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkParent();
+            }
             mCounterInt64.setValue(val);
             mExtra.addPerfettoPointer(mCounterInt64);
             return this;
         }
 
-        @Override
+        /**
+         * Sets a double counter value on the event.
+         *
+         */
         public Builder setCounter(double val) {
-            checkParent();
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkParent();
+            }
             mCounterDouble.setValue(val);
             mExtra.addPerfettoPointer(mCounterDouble);
             return this;
         }
 
-        @Override
+        /**
+         * Adds a proto field with field id {@code id} and value {@code val}.
+         */
         public Builder addField(long id, long val) {
-            checkContainer();
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkContainer();
+            }
             FieldInt64 field = mFieldInt64Cache.get(sFieldInt64Supplier);
             field.setValue(id, val);
             mExtra.addPerfettoPointer(mCurrentContainer, field);
             return this;
         }
 
-        @Override
+        /**
+         * Adds a proto field with field id {@code id} and value {@code val}.
+         */
         public Builder addField(long id, double val) {
-            checkContainer();
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkContainer();
+            }
             FieldDouble field = mFieldDoubleCache.get(sFieldDoubleSupplier);
             field.setValue(id, val);
             mExtra.addPerfettoPointer(mCurrentContainer, field);
             return this;
         }
 
-        @Override
+        /**
+         * Adds a proto field with field id {@code id} and value {@code val}.
+         */
         public Builder addField(long id, String val) {
-            checkContainer();
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkContainer();
+            }
             FieldString field = mFieldStringCache.get(sFieldStringSupplier);
             field.setValue(id, val);
             mExtra.addPerfettoPointer(mCurrentContainer, field);
             return this;
         }
 
-        @Override
+        /**
+         * Begins a proto field.
+         * Fields can be added from this point and there must be a corresponding
+         * {@link endProto}.
+         *
+         * The proto field is a singleton and all proto fields get added inside the
+         * one {@link beginProto} and {@link endProto} within the {@link Builder}.
+         */
         public Builder beginProto() {
-            checkParent();
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkParent();
+            }
             mProto.clearFields();
             mExtra.addPerfettoPointer(mProto);
-            return mBuilderCache.get(sBuilderSupplier).initInternal(this, mProto);
+            return mBuilderCache.get(sBuilderSupplier).initInternal(this, mProto, true);
         }
 
-        @Override
+        /**
+         * Ends a proto field.
+         */
         public Builder endProto() {
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
             if (mParent == null || mCurrentContainer == null) {
                 throw new IllegalStateException("No proto to end");
             }
             return mParent;
         }
 
-        @Override
+        /**
+         * Begins a nested proto field with field id {@code id}.
+         * Fields can be added from this point and there must be a corresponding
+         * {@link endNested}.
+         */
         public Builder beginNested(long id) {
-            checkContainer();
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
+            if (DEBUG) {
+                checkContainer();
+            }
             FieldNested field = mFieldNestedCache.get(sFieldNestedSupplier);
             field.setId(id);
             mExtra.addPerfettoPointer(mCurrentContainer, field);
-            return mBuilderCache.get(sBuilderSupplier).initInternal(this, field);
+            return mBuilderCache.get(sBuilderSupplier).initInternal(this, field, true);
         }
 
-        @Override
+        /**
+         * Ends a nested proto field.
+         */
         public Builder endNested() {
+            if (!mIsCategoryEnabled) {
+                return this;
+            }
             if (mParent == null || mCurrentContainer == null) {
                 throw new IllegalStateException("No nested field to end");
             }
             return mParent;
         }
 
-        private Builder initInternal(Builder parent, FieldContainer container) {
+
+        private Builder initInternal(Builder parent, FieldContainer field,
+                boolean isCategoryEnabled) {
             mParent = parent;
-            mCurrentContainer = container;
+            mCurrentContainer = field;
+            mIsCategoryEnabled = isCategoryEnabled;
             mIsBuilt = false;
 
             return this;
@@ -685,14 +652,8 @@
      * Start a {@link Builder} to build a {@link PerfettoTrackEventExtra}.
      */
     public static Builder builder() {
-        return sTrackEventExtra.get().mBuilderCache.get(sBuilderSupplier).initInternal(null, null);
-    }
-
-    /**
-     * Returns a no-op {@link Builder}. Useful if a category is disabled.
-     */
-    public static Builder noOpBuilder() {
-        return NO_OP_BUILDER;
+        return sTrackEventExtra.get().mBuilderCache.get(sBuilderSupplier).initInternal(null, null,
+            false);
     }
 
     private final RingBuffer<NamedTrack> mNamedTrackCache =
@@ -710,7 +671,7 @@
     private final Pool<FieldString> mFieldStringCache = new Pool(DEFAULT_EXTRA_CACHE_SIZE);
     private final Pool<FieldNested> mFieldNestedCache = new Pool(DEFAULT_EXTRA_CACHE_SIZE);
     private final Pool<Flow> mFlowCache = new Pool(DEFAULT_EXTRA_CACHE_SIZE);
-    private final Pool<BuilderImpl> mBuilderCache = new Pool(DEFAULT_EXTRA_CACHE_SIZE);
+    private final Pool<Builder> mBuilderCache = new Pool(DEFAULT_EXTRA_CACHE_SIZE);
 
     private static final NativeAllocationRegistry sRegistry =
             NativeAllocationRegistry.createMalloced(
@@ -757,6 +718,7 @@
         mPendingPointers.clear();
     }
 
+    @android.ravenwood.annotation.RavenwoodReplace
     private CounterInt64 getCounterInt64() {
         if (mCounterInt64 == null) {
             mCounterInt64 = new CounterInt64();
@@ -764,6 +726,7 @@
         return mCounterInt64;
     }
 
+    @android.ravenwood.annotation.RavenwoodReplace
     private CounterDouble getCounterDouble() {
         if (mCounterDouble == null) {
             mCounterDouble = new CounterDouble();
@@ -771,6 +734,7 @@
         return mCounterDouble;
     }
 
+    @android.ravenwood.annotation.RavenwoodReplace
     private Proto getProto() {
         if (mProto == null) {
             mProto = new Proto();
@@ -778,6 +742,22 @@
         return mProto;
     }
 
+    @android.ravenwood.annotation.RavenwoodReplace
+    private Flow getFlow() {
+        if (mFlow == null) {
+            mFlow = new Flow();
+        }
+        return mFlow;
+    }
+
+    @android.ravenwood.annotation.RavenwoodReplace
+    private Flow getTerminatingFlow() {
+        if (mTerminatingFlow == null) {
+            mTerminatingFlow = new Flow();
+        }
+        return mTerminatingFlow;
+    }
+
     private static final class Flow implements PerfettoPointer {
         private static final NativeAllocationRegistry sRegistry =
                 NativeAllocationRegistry.createMalloced(
@@ -1337,4 +1317,29 @@
         // Tracing currently completely disabled under Ravenwood
         return 0;
     }
+
+    private CounterInt64 getCounterInt64$ravenwood() {
+        // Tracing currently completely disabled under Ravenwood
+        return null;
+    }
+
+    private CounterDouble getCounterDouble$ravenwood() {
+        // Tracing currently completely disabled under Ravenwood
+        return null;
+    }
+
+    private Proto getProto$ravenwood() {
+        // Tracing currently completely disabled under Ravenwood
+        return null;
+    }
+
+    private Flow getFlow$ravenwood() {
+        // Tracing currently completely disabled under Ravenwood
+        return null;
+    }
+
+    private Flow getTerminatingFlow$ravenwood() {
+        // Tracing currently completely disabled under Ravenwood
+        return null;
+    }
 }
diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java
index 33bf4a2..767019d 100644
--- a/core/java/android/os/UserManager.java
+++ b/core/java/android/os/UserManager.java
@@ -3324,8 +3324,7 @@
     @FlaggedApi(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE)
     @RequiresPermission(anyOf = {
             Manifest.permission.MANAGE_USERS,
-            Manifest.permission.CREATE_USERS},
-            conditional = true)
+            Manifest.permission.CREATE_USERS})
     @UserHandleAware
     public boolean canAddPrivateProfile() {
         if (!android.multiuser.Flags.enablePrivateSpaceFeatures()) return false;
diff --git a/core/java/android/permission/flags.aconfig b/core/java/android/permission/flags.aconfig
index d469a2f..ca24c0c 100644
--- a/core/java/android/permission/flags.aconfig
+++ b/core/java/android/permission/flags.aconfig
@@ -514,3 +514,12 @@
     description: "Force AttributionSource.myAttributionSource() to return a default device id"
     bug: "343121936"
 }
+
+flag {
+    name: "grant_read_blocked_numbers_to_system_ui_intelligence"
+    is_exported: true
+    is_fixed_read_only: true
+    namespace: "permissions"
+    description: "This flag is used to add role protection to READ_BLOCKED_NUMBERS for SYSTEM_UI_INTELLIGENCE"
+    bug: "354758615"
+}
diff --git a/core/java/android/text/AlteredCharSequence.java b/core/java/android/text/AlteredCharSequence.java
index 971a47d..a05c690a 100644
--- a/core/java/android/text/AlteredCharSequence.java
+++ b/core/java/android/text/AlteredCharSequence.java
@@ -24,6 +24,7 @@
  * @deprecated The functionality this class offers is easily implemented outside the framework.
  */
 @Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class AlteredCharSequence
 implements CharSequence, GetChars
 {
diff --git a/core/java/android/text/AndroidBidi.java b/core/java/android/text/AndroidBidi.java
index 31da799..fcdd50a 100644
--- a/core/java/android/text/AndroidBidi.java
+++ b/core/java/android/text/AndroidBidi.java
@@ -28,6 +28,7 @@
  * @hide
  */
 @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class AndroidBidi {
 
     /**
diff --git a/core/java/android/text/AndroidCharacter.java b/core/java/android/text/AndroidCharacter.java
index c5f1a01..37c4fdb 100644
--- a/core/java/android/text/AndroidCharacter.java
+++ b/core/java/android/text/AndroidCharacter.java
@@ -22,6 +22,7 @@
  * @deprecated Use various methods from {@link android.icu.lang.UCharacter}, instead.
  */
 @Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class AndroidCharacter
 {
     public static final int EAST_ASIAN_WIDTH_NEUTRAL = 0;
diff --git a/core/java/android/text/Annotation.java b/core/java/android/text/Annotation.java
index bb5d3ea..ac3e5a9 100644
--- a/core/java/android/text/Annotation.java
+++ b/core/java/android/text/Annotation.java
@@ -23,6 +23,7 @@
  * TextView save/restore cycles and can be used to keep application-specific
  * data that needs to be maintained for regions of text.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Annotation implements ParcelableSpan {
     private final String mKey;
     private final String mValue;
diff --git a/core/java/android/text/AutoGrowArray.java b/core/java/android/text/AutoGrowArray.java
index e428377..06c74c3 100644
--- a/core/java/android/text/AutoGrowArray.java
+++ b/core/java/android/text/AutoGrowArray.java
@@ -30,6 +30,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class AutoGrowArray {
     private static final int MIN_CAPACITY_INCREMENT = 12;
     private static final int MAX_CAPACITY_TO_BE_KEPT = 10000;
diff --git a/core/java/android/text/AutoText.java b/core/java/android/text/AutoText.java
index c5339a4..d7b0547 100644
--- a/core/java/android/text/AutoText.java
+++ b/core/java/android/text/AutoText.java
@@ -31,6 +31,7 @@
 /**
  * This class accesses a dictionary of corrections to frequent misspellings.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class AutoText {
     // struct trie {
     //     char c;
diff --git a/core/java/android/text/BidiFormatter.java b/core/java/android/text/BidiFormatter.java
index dfa172d..6d4103c 100644
--- a/core/java/android/text/BidiFormatter.java
+++ b/core/java/android/text/BidiFormatter.java
@@ -82,6 +82,7 @@
  * first-strong estimation algorithm. It can also be configured to use a custom directionality
  * estimation object.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class BidiFormatter {
 
     /**
diff --git a/core/java/android/text/BoringLayout.java b/core/java/android/text/BoringLayout.java
index 4fdcecc..2b410e6 100644
--- a/core/java/android/text/BoringLayout.java
+++ b/core/java/android/text/BoringLayout.java
@@ -45,6 +45,7 @@
  * {@link android.graphics.Canvas#drawText(java.lang.CharSequence, int, int, float, float, android.graphics.Paint)
  *  Canvas.drawText()} directly.</p>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class BoringLayout extends Layout implements TextUtils.EllipsizeCallback {
 
     /**
diff --git a/core/java/android/text/CharSequenceCharacterIterator.java b/core/java/android/text/CharSequenceCharacterIterator.java
index 9b07d29..1599be8 100644
--- a/core/java/android/text/CharSequenceCharacterIterator.java
+++ b/core/java/android/text/CharSequenceCharacterIterator.java
@@ -24,6 +24,7 @@
  * An implementation of {@link java.text.CharacterIterator} that iterates over a given CharSequence.
  * {@hide}
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class CharSequenceCharacterIterator implements CharacterIterator {
     private final int mBeginIndex, mEndIndex;
     private int mIndex;
diff --git a/core/java/android/text/ClipboardManager.java b/core/java/android/text/ClipboardManager.java
index d030910..41990f0 100644
--- a/core/java/android/text/ClipboardManager.java
+++ b/core/java/android/text/ClipboardManager.java
@@ -21,6 +21,7 @@
  * {@link android.content.ClipboardManager} for the modern API.
  */
 @Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public abstract class ClipboardManager {
     /**
      * Returns the text on the clipboard.  It will eventually be possible
diff --git a/core/java/android/text/DynamicLayout.java b/core/java/android/text/DynamicLayout.java
index 6b1aef7..3b66ce0 100644
--- a/core/java/android/text/DynamicLayout.java
+++ b/core/java/android/text/DynamicLayout.java
@@ -53,6 +53,7 @@
  * {@link android.graphics.Canvas#drawText(java.lang.CharSequence, int, int, float, float, android.graphics.Paint)
  *  Canvas.drawText()} directly.</p>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class DynamicLayout extends Layout {
     private static final int PRIORITY = 128;
     private static final int BLOCK_MINIMUM_CHARACTER_LENGTH = 400;
diff --git a/core/java/android/text/Editable.java b/core/java/android/text/Editable.java
index a942f6c..53d819f 100644
--- a/core/java/android/text/Editable.java
+++ b/core/java/android/text/Editable.java
@@ -22,6 +22,7 @@
  * to immutable text like Strings).  If you make a {@link DynamicLayout}
  * of an Editable, the layout will be reflowed as the text is changed.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface Editable
 extends CharSequence, GetChars, Spannable, Appendable
 {
diff --git a/core/java/android/text/Emoji.java b/core/java/android/text/Emoji.java
index cf0e3c2..28c37c0 100644
--- a/core/java/android/text/Emoji.java
+++ b/core/java/android/text/Emoji.java
@@ -23,6 +23,7 @@
  * An utility class for Emoji.
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Emoji {
     public static int COMBINING_ENCLOSING_KEYCAP = 0x20E3;
 
diff --git a/core/java/android/text/EmojiConsistency.java b/core/java/android/text/EmojiConsistency.java
index dfaa217..9823305 100644
--- a/core/java/android/text/EmojiConsistency.java
+++ b/core/java/android/text/EmojiConsistency.java
@@ -48,6 +48,7 @@
  *     </ol>
  * </p>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class EmojiConsistency {
     /* Cannot construct */
     private EmojiConsistency() { }
diff --git a/core/java/android/text/FontConfig.java b/core/java/android/text/FontConfig.java
index 783f3b7..5a4d3a8 100644
--- a/core/java/android/text/FontConfig.java
+++ b/core/java/android/text/FontConfig.java
@@ -55,6 +55,7 @@
  */
 @SystemApi
 @TestApi
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class FontConfig implements Parcelable {
     private final @NonNull List<FontFamily> mFamilies;
     private final @NonNull List<Alias> mAliases;
diff --git a/core/java/android/text/GetChars.java b/core/java/android/text/GetChars.java
index 348a911..229f543 100644
--- a/core/java/android/text/GetChars.java
+++ b/core/java/android/text/GetChars.java
@@ -21,6 +21,7 @@
  * getChars() method like the one in String that is faster than
  * calling charAt() multiple times.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface GetChars
 extends CharSequence
 {
diff --git a/core/java/android/text/GraphemeClusterSegmentFinder.java b/core/java/android/text/GraphemeClusterSegmentFinder.java
index 0f6fdaf..996223d 100644
--- a/core/java/android/text/GraphemeClusterSegmentFinder.java
+++ b/core/java/android/text/GraphemeClusterSegmentFinder.java
@@ -31,6 +31,7 @@
  * @see <a href="https://unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries">Unicode Text
  *     Segmentation - Grapheme Cluster Boundaries</a>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class GraphemeClusterSegmentFinder extends SegmentFinder {
     private static AutoGrowArray.FloatArray sTempAdvances = null;
     private final boolean[] mIsGraphemeBreak;
diff --git a/core/java/android/text/GraphicsOperations.java b/core/java/android/text/GraphicsOperations.java
index 6c15446..f7fe805 100644
--- a/core/java/android/text/GraphicsOperations.java
+++ b/core/java/android/text/GraphicsOperations.java
@@ -26,6 +26,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface GraphicsOperations extends CharSequence {
     /**
      * Just like {@link Canvas#drawText}.
diff --git a/core/java/android/text/Highlights.java b/core/java/android/text/Highlights.java
index 693dbcf..217a38b 100644
--- a/core/java/android/text/Highlights.java
+++ b/core/java/android/text/Highlights.java
@@ -30,6 +30,7 @@
 /**
  * A class that represents of the highlight of the text.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Highlights {
     private final List<Pair<Paint, int[]>> mHighlights;
 
diff --git a/core/java/android/text/Html.java b/core/java/android/text/Html.java
index a42eece..d412071 100644
--- a/core/java/android/text/Html.java
+++ b/core/java/android/text/Html.java
@@ -17,13 +17,13 @@
 package android.text;
 
 import android.app.ActivityThread;
-import android.app.Application;
 import android.compat.annotation.UnsupportedAppUsage;
 import android.content.res.Resources;
 import android.graphics.Color;
 import android.graphics.Typeface;
 import android.graphics.drawable.Drawable;
 import android.os.Build;
+import android.ravenwood.annotation.RavenwoodReplace;
 import android.text.style.AbsoluteSizeSpan;
 import android.text.style.AlignmentSpan;
 import android.text.style.BackgroundColorSpan;
@@ -65,6 +65,7 @@
  * This class processes HTML strings into displayable styled text.
  * Not all HTML tags are supported.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Html {
     /**
      * Retrieves images for HTML &lt;img&gt; tags.
@@ -506,6 +507,15 @@
         out.append("</p>\n");
     }
 
+    @RavenwoodReplace(blockedBy = ActivityThread.class)
+    private static float getDisplayMetricsDensity() {
+        return ActivityThread.currentApplication().getResources().getDisplayMetrics().density;
+    }
+
+    private static float getDisplayMetricsDensity$ravenwood() {
+        return Resources.getSystem().getDisplayMetrics().density;
+    }
+
     private static void withinParagraph(StringBuilder out, Spanned text, int start, int end) {
         int next;
         for (int i = start; i < end; i = next) {
@@ -559,8 +569,7 @@
                     AbsoluteSizeSpan s = ((AbsoluteSizeSpan) style[j]);
                     float sizeDip = s.getSize();
                     if (!s.getDip()) {
-                        Application application = ActivityThread.currentApplication();
-                        sizeDip /= application.getResources().getDisplayMetrics().density;
+                        sizeDip /= getDisplayMetricsDensity();
                     }
 
                     // px in CSS is the equivalance of dip in Android
@@ -669,6 +678,7 @@
     }
 }
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 class HtmlToSpannedConverter implements ContentHandler {
 
     private static final float[] HEADING_SIZES = {
@@ -843,6 +853,16 @@
         }
     }
 
+    @RavenwoodReplace(blockedBy = ActivityThread.class)
+    private static int getFontWeightAdjustment() {
+        return ActivityThread.currentApplication().getResources()
+                .getConfiguration().fontWeightAdjustment;
+    }
+
+    private static int getFontWeightAdjustment$ravenwood() {
+        return Resources.getSystem().getConfiguration().fontWeightAdjustment;
+    }
+
     private void handleEndTag(String tag) {
         if (tag.equalsIgnoreCase("br")) {
             handleBr(mSpannableStringBuilder);
@@ -858,17 +878,11 @@
         } else if (tag.equalsIgnoreCase("span")) {
             endCssStyle(mSpannableStringBuilder);
         } else if (tag.equalsIgnoreCase("strong")) {
-            Application application = ActivityThread.currentApplication();
-            int fontWeightAdjustment =
-                    application.getResources().getConfiguration().fontWeightAdjustment;
             end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD,
-                    fontWeightAdjustment));
+                    getFontWeightAdjustment()));
         } else if (tag.equalsIgnoreCase("b")) {
-            Application application = ActivityThread.currentApplication();
-            int fontWeightAdjustment =
-                    application.getResources().getConfiguration().fontWeightAdjustment;
             end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD,
-                    fontWeightAdjustment));
+                    getFontWeightAdjustment()));
         } else if (tag.equalsIgnoreCase("em")) {
             end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
         } else if (tag.equalsIgnoreCase("cite")) {
@@ -1036,11 +1050,8 @@
         // Their ranges should not include the newlines at the end
         Heading h = getLast(text, Heading.class);
         if (h != null) {
-            Application application = ActivityThread.currentApplication();
-            int fontWeightAdjustment =
-                    application.getResources().getConfiguration().fontWeightAdjustment;
             setSpanFromMark(text, h, new RelativeSizeSpan(HEADING_SIZES[h.mLevel]),
-                    new StyleSpan(Typeface.BOLD, fontWeightAdjustment));
+                    new StyleSpan(Typeface.BOLD, getFontWeightAdjustment()));
         }
 
         endBlockElement(text);
diff --git a/core/java/android/text/Hyphenator.java b/core/java/android/text/Hyphenator.java
index 6f0628a..7f9a8a1 100644
--- a/core/java/android/text/Hyphenator.java
+++ b/core/java/android/text/Hyphenator.java
@@ -21,6 +21,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Hyphenator {
     private Hyphenator() {}
 
diff --git a/core/java/android/text/InputFilter.java b/core/java/android/text/InputFilter.java
index 96e7bd0..ed5de03e 100644
--- a/core/java/android/text/InputFilter.java
+++ b/core/java/android/text/InputFilter.java
@@ -27,6 +27,7 @@
  * InputFilters can be attached to {@link Editable}s to constrain the
  * changes that can be made to them.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface InputFilter
 {
     /**
diff --git a/core/java/android/text/InputType.java b/core/java/android/text/InputType.java
index 4ebecb7..03c9c02 100644
--- a/core/java/android/text/InputType.java
+++ b/core/java/android/text/InputType.java
@@ -44,6 +44,7 @@
  *     TYPE_DATETIME_VARIATION_TIME
  * </dl>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface InputType {
     /**
      * Mask of bits that determine the overall class
diff --git a/core/java/android/text/Layout.java b/core/java/android/text/Layout.java
index b273a7f..44c3f9a 100644
--- a/core/java/android/text/Layout.java
+++ b/core/java/android/text/Layout.java
@@ -69,6 +69,7 @@
  * which will be updated as the text changes.
  * For text that will not change, use a {@link StaticLayout}.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public abstract class Layout {
 
     // These should match the constants in framework/base/libs/hwui/hwui/DrawTextFunctor.h
diff --git a/core/java/android/text/LoginFilter.java b/core/java/android/text/LoginFilter.java
index 0e4eec44..94f196f 100644
--- a/core/java/android/text/LoginFilter.java
+++ b/core/java/android/text/LoginFilter.java
@@ -23,6 +23,7 @@
  * handle non-BMP characters.
  */
 @Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public abstract class LoginFilter implements InputFilter {
     private boolean mAppendInvalid;  // whether to append or ignore invalid characters
     /**
diff --git a/core/java/android/text/MeasuredParagraph.java b/core/java/android/text/MeasuredParagraph.java
index 31a2263..b2e4459 100644
--- a/core/java/android/text/MeasuredParagraph.java
+++ b/core/java/android/text/MeasuredParagraph.java
@@ -68,6 +68,7 @@
  * @hide
  */
 @TestApi
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class MeasuredParagraph {
     private static final char OBJECT_REPLACEMENT_CHARACTER = '\uFFFC';
 
diff --git a/core/java/android/text/NoCopySpan.java b/core/java/android/text/NoCopySpan.java
index e754d76..4cd3d04 100644
--- a/core/java/android/text/NoCopySpan.java
+++ b/core/java/android/text/NoCopySpan.java
@@ -21,6 +21,7 @@
  * into a new Spanned when performing a slice or copy operation on the original
  * Spanned it was placed in.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface NoCopySpan {
     /**
      * Convenience equivalent for when you would just want a new Object() for
diff --git a/core/java/android/text/PackedIntVector.java b/core/java/android/text/PackedIntVector.java
index 3e5bf56..11dd0c3 100644
--- a/core/java/android/text/PackedIntVector.java
+++ b/core/java/android/text/PackedIntVector.java
@@ -29,6 +29,7 @@
  * @hide
  */
 @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class PackedIntVector {
     private final int mColumns;
     private int mRows;
diff --git a/core/java/android/text/PackedObjectVector.java b/core/java/android/text/PackedObjectVector.java
index b777e16..beb5ea4 100644
--- a/core/java/android/text/PackedObjectVector.java
+++ b/core/java/android/text/PackedObjectVector.java
@@ -21,6 +21,7 @@
 
 import libcore.util.EmptyArray;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 class PackedObjectVector<E>
 {
     private int mColumns;
diff --git a/core/java/android/text/ParcelableSpan.java b/core/java/android/text/ParcelableSpan.java
index d7c1a4b..a9a4893 100644
--- a/core/java/android/text/ParcelableSpan.java
+++ b/core/java/android/text/ParcelableSpan.java
@@ -24,6 +24,7 @@
  * This can only be used by code in the framework; it is not intended for
  * applications to implement their own Parcelable spans.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface ParcelableSpan extends Parcelable {
     /**
      * Return a special type identifier for this span class.
diff --git a/core/java/android/text/PrecomputedText.java b/core/java/android/text/PrecomputedText.java
index 5f6a9bd..71cacd9 100644
--- a/core/java/android/text/PrecomputedText.java
+++ b/core/java/android/text/PrecomputedText.java
@@ -75,6 +75,7 @@
  * Note that any {@link android.text.NoCopySpan} attached to the original text won't be passed to
  * PrecomputedText.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class PrecomputedText implements Spannable {
     private static final char LINE_FEED = '\n';
 
diff --git a/core/java/android/text/SegmentFinder.java b/core/java/android/text/SegmentFinder.java
index 047d07a..b7ab0e6 100644
--- a/core/java/android/text/SegmentFinder.java
+++ b/core/java/android/text/SegmentFinder.java
@@ -39,6 +39,7 @@
  *
  * @see Layout#getRangeForRect(RectF, SegmentFinder, Layout.TextInclusionStrategy)
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public abstract class SegmentFinder {
     /**
      * Return value of previousStartBoundary(int), previousEndBoundary(int), nextStartBoundary(int),
diff --git a/core/java/android/text/Selection.java b/core/java/android/text/Selection.java
index 711578c..674b473 100644
--- a/core/java/android/text/Selection.java
+++ b/core/java/android/text/Selection.java
@@ -27,6 +27,7 @@
  * Utility class for manipulating cursors and selections in CharSequences.
  * A cursor is a selection where the start and end are at the same offset.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Selection {
     private Selection() { /* cannot be instantiated */ }
 
diff --git a/core/java/android/text/SpanColors.java b/core/java/android/text/SpanColors.java
index fcd242b..3b6a041 100644
--- a/core/java/android/text/SpanColors.java
+++ b/core/java/android/text/SpanColors.java
@@ -27,6 +27,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class SpanColors {
     public static final @ColorInt int NO_COLOR_FOUND = Color.TRANSPARENT;
 
diff --git a/core/java/android/text/SpanSet.java b/core/java/android/text/SpanSet.java
index d464278..4ad8106 100644
--- a/core/java/android/text/SpanSet.java
+++ b/core/java/android/text/SpanSet.java
@@ -31,6 +31,7 @@
  * Note that empty spans are ignored by this class.
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class SpanSet<E> {
     private final Class<? extends E> classType;
 
diff --git a/core/java/android/text/SpanWatcher.java b/core/java/android/text/SpanWatcher.java
index 01e82c8..31d6320 100644
--- a/core/java/android/text/SpanWatcher.java
+++ b/core/java/android/text/SpanWatcher.java
@@ -21,6 +21,7 @@
  * will be called to notify it that other markup objects have been
  * added, changed, or removed.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface SpanWatcher extends NoCopySpan {
     /**
      * This method is called to notify you that the specified object
diff --git a/core/java/android/text/Spannable.java b/core/java/android/text/Spannable.java
index 8315b2a..fac5131 100644
--- a/core/java/android/text/Spannable.java
+++ b/core/java/android/text/Spannable.java
@@ -21,6 +21,7 @@
  * attached and detached.  Not all Spannable classes have mutable text;
  * see {@link Editable} for that.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface Spannable
 extends Spanned
 {
diff --git a/core/java/android/text/SpannableString.java b/core/java/android/text/SpannableString.java
index afb5df8..ee04a86 100644
--- a/core/java/android/text/SpannableString.java
+++ b/core/java/android/text/SpannableString.java
@@ -21,6 +21,7 @@
  * markup objects can be attached and detached.
  * For mutable text, see {@link SpannableStringBuilder}.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class SpannableString
 extends SpannableStringInternal
 implements CharSequence, GetChars, Spannable
diff --git a/core/java/android/text/SpannableStringBuilder.java b/core/java/android/text/SpannableStringBuilder.java
index 0e61eff..f8d7283 100644
--- a/core/java/android/text/SpannableStringBuilder.java
+++ b/core/java/android/text/SpannableStringBuilder.java
@@ -35,6 +35,7 @@
 /**
  * This is the class for text whose content and markup can both be changed.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class SpannableStringBuilder implements CharSequence, GetChars, Spannable, Editable,
         Appendable, GraphicsOperations {
     private final static String TAG = "SpannableStringBuilder";
diff --git a/core/java/android/text/SpannableStringInternal.java b/core/java/android/text/SpannableStringInternal.java
index f2ab1bb..90d83d5 100644
--- a/core/java/android/text/SpannableStringInternal.java
+++ b/core/java/android/text/SpannableStringInternal.java
@@ -27,6 +27,7 @@
 
 import java.lang.reflect.Array;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 /* package */ abstract class SpannableStringInternal
 {
     /* package */ SpannableStringInternal(CharSequence source,
diff --git a/core/java/android/text/Spanned.java b/core/java/android/text/Spanned.java
index a0d54c26c..6706ffd 100644
--- a/core/java/android/text/Spanned.java
+++ b/core/java/android/text/Spanned.java
@@ -22,6 +22,7 @@
  * see {@link Spannable} for mutable markup and {@link Editable} for
  * mutable text.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface Spanned
 extends CharSequence
 {
diff --git a/core/java/android/text/SpannedString.java b/core/java/android/text/SpannedString.java
index acee3c5..a3f1ee2 100644
--- a/core/java/android/text/SpannedString.java
+++ b/core/java/android/text/SpannedString.java
@@ -22,6 +22,7 @@
  * For mutable markup, see {@link SpannableString}; for mutable text,
  * see {@link SpannableStringBuilder}.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class SpannedString
 extends SpannableStringInternal
 implements CharSequence, GetChars, Spanned
diff --git a/core/java/android/text/StaticLayout.java b/core/java/android/text/StaticLayout.java
index a5d52957..8193cd2 100644
--- a/core/java/android/text/StaticLayout.java
+++ b/core/java/android/text/StaticLayout.java
@@ -55,6 +55,7 @@
  * float, float, android.graphics.Paint)
  * Canvas.drawText()} directly.</p>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class StaticLayout extends Layout {
     /*
      * The break iteration is done in native code. The protocol for using the native code is as
diff --git a/core/java/android/text/TextDirectionHeuristic.java b/core/java/android/text/TextDirectionHeuristic.java
index 8a4ba42..66cea85 100644
--- a/core/java/android/text/TextDirectionHeuristic.java
+++ b/core/java/android/text/TextDirectionHeuristic.java
@@ -19,6 +19,7 @@
 /**
  * Interface for objects that use a heuristic for guessing at the paragraph direction by examining text.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface TextDirectionHeuristic {
     /**
      * Guess if a chars array is in the RTL direction or not.
diff --git a/core/java/android/text/TextDirectionHeuristics.java b/core/java/android/text/TextDirectionHeuristics.java
index 85260f4..3af8fb7 100644
--- a/core/java/android/text/TextDirectionHeuristics.java
+++ b/core/java/android/text/TextDirectionHeuristics.java
@@ -32,6 +32,7 @@
  * class.
  *
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class TextDirectionHeuristics {
 
     /**
diff --git a/core/java/android/text/TextLine.java b/core/java/android/text/TextLine.java
index 3015791..091eb60 100644
--- a/core/java/android/text/TextLine.java
+++ b/core/java/android/text/TextLine.java
@@ -53,6 +53,7 @@
  * @hide
  */
 @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class TextLine {
     private static final boolean DEBUG = false;
 
diff --git a/core/java/android/text/TextPaint.java b/core/java/android/text/TextPaint.java
index 73825b1..ff063f2 100644
--- a/core/java/android/text/TextPaint.java
+++ b/core/java/android/text/TextPaint.java
@@ -25,6 +25,7 @@
  * TextPaint is an extension of Paint that leaves room for some extra
  * data used during text measuring and drawing.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class TextPaint extends Paint {
 
     // Special value 0 means no background paint
diff --git a/core/java/android/text/TextShaper.java b/core/java/android/text/TextShaper.java
index 6da0b63..6d17401 100644
--- a/core/java/android/text/TextShaper.java
+++ b/core/java/android/text/TextShaper.java
@@ -169,6 +169,7 @@
  * @see TextShaper#shapeText(CharSequence, int, int, TextDirectionHeuristic, TextPaint,
  * GlyphsConsumer)
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class TextShaper {
     private TextShaper() {}
 
diff --git a/core/java/android/text/TextUtils.java b/core/java/android/text/TextUtils.java
index 6dc82c4..042966b 100644
--- a/core/java/android/text/TextUtils.java
+++ b/core/java/android/text/TextUtils.java
@@ -34,6 +34,7 @@
 import android.icu.util.ULocale;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.ravenwood.annotation.RavenwoodKeepWholeClass;
 import android.sysprop.DisplayProperties;
 import android.text.style.AbsoluteSizeSpan;
 import android.text.style.AccessibilityClickableSpan;
@@ -85,8 +86,7 @@
 import java.util.Locale;
 import java.util.regex.Pattern;
 
-@android.ravenwood.annotation.RavenwoodKeepStaticInitializer
-@android.ravenwood.annotation.RavenwoodKeepPartialClass
+@RavenwoodKeepWholeClass
 public class TextUtils {
     private static final String TAG = "TextUtils";
 
@@ -147,7 +147,6 @@
 
     private TextUtils() { /* cannot be instantiated */ }
 
-    @android.ravenwood.annotation.RavenwoodKeep
     public static void getChars(CharSequence s, int start, int end,
                                 char[] dest, int destoff) {
         Class<? extends CharSequence> c = s.getClass();
@@ -166,12 +165,10 @@
         }
     }
 
-    @android.ravenwood.annotation.RavenwoodKeep
     public static int indexOf(CharSequence s, char ch) {
         return indexOf(s, ch, 0);
     }
 
-    @android.ravenwood.annotation.RavenwoodKeep
     public static int indexOf(CharSequence s, char ch, int start) {
         Class<? extends CharSequence> c = s.getClass();
 
@@ -181,7 +178,6 @@
         return indexOf(s, ch, start, s.length());
     }
 
-    @android.ravenwood.annotation.RavenwoodKeep
     public static int indexOf(CharSequence s, char ch, int start, int end) {
         Class<? extends CharSequence> c = s.getClass();
 
@@ -219,12 +215,10 @@
         return -1;
     }
 
-    @android.ravenwood.annotation.RavenwoodKeep
     public static int lastIndexOf(CharSequence s, char ch) {
         return lastIndexOf(s, ch, s.length() - 1);
     }
 
-    @android.ravenwood.annotation.RavenwoodKeep
     public static int lastIndexOf(CharSequence s, char ch, int last) {
         Class<? extends CharSequence> c = s.getClass();
 
@@ -234,7 +228,6 @@
         return lastIndexOf(s, ch, 0, last);
     }
 
-    @android.ravenwood.annotation.RavenwoodKeep
     public static int lastIndexOf(CharSequence s, char ch,
                                   int start, int last) {
         if (last < 0)
@@ -280,17 +273,14 @@
         return -1;
     }
 
-    @android.ravenwood.annotation.RavenwoodKeep
     public static int indexOf(CharSequence s, CharSequence needle) {
         return indexOf(s, needle, 0, s.length());
     }
 
-    @android.ravenwood.annotation.RavenwoodKeep
     public static int indexOf(CharSequence s, CharSequence needle, int start) {
         return indexOf(s, needle, start, s.length());
     }
 
-    @android.ravenwood.annotation.RavenwoodKeep
     public static int indexOf(CharSequence s, CharSequence needle,
                               int start, int end) {
         int nlen = needle.length();
@@ -318,7 +308,6 @@
         return -1;
     }
 
-    @android.ravenwood.annotation.RavenwoodKeep
     public static boolean regionMatches(CharSequence one, int toffset,
                                         CharSequence two, int ooffset,
                                         int len) {
@@ -351,7 +340,6 @@
      * in that it does not preserve any style runs in the source sequence,
      * allowing a more efficient implementation.
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static String substring(CharSequence source, int start, int end) {
         if (source instanceof String)
             return ((String) source).substring(start, end);
@@ -424,7 +412,6 @@
      *     calling object.toString(). If tokens is null, a NullPointerException will be thrown. If
      *     tokens is an empty array, an empty string will be returned.
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static String join(@NonNull CharSequence delimiter, @NonNull Object[] tokens) {
         final int length = tokens.length;
         if (length == 0) {
@@ -448,7 +435,6 @@
      *     calling object.toString(). If tokens is null, a NullPointerException will be thrown. If
      *     tokens is empty, an empty string will be returned.
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static String join(@NonNull CharSequence delimiter, @NonNull Iterable tokens) {
         final Iterator<?> it = tokens.iterator();
         if (!it.hasNext()) {
@@ -481,7 +467,6 @@
      *
      * @throws NullPointerException if expression or text is null
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static String[] split(String text, String expression) {
         if (text.length() == 0) {
             return EmptyArray.STRING;
@@ -507,7 +492,6 @@
      *
      * @throws NullPointerException if expression or text is null
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static String[] split(String text, Pattern pattern) {
         if (text.length() == 0) {
             return EmptyArray.STRING;
@@ -545,7 +529,6 @@
      * be returned for the empty string after that delimeter. That is, splitting <tt>"a,b,"</tt> on
      * comma will return <tt>"a", "b"</tt>, not <tt>"a", "b", ""</tt>.
      */
-    @android.ravenwood.annotation.RavenwoodKeepWholeClass
     public static class SimpleStringSplitter implements StringSplitter, Iterator<String> {
         private String mString;
         private char mDelimiter;
@@ -609,31 +592,26 @@
      * @param str the string to be examined
      * @return true if str is null or zero length
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static boolean isEmpty(@Nullable CharSequence str) {
         return str == null || str.length() == 0;
     }
 
     /** {@hide} */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static String nullIfEmpty(@Nullable String str) {
         return isEmpty(str) ? null : str;
     }
 
     /** {@hide} */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static String emptyIfNull(@Nullable String str) {
         return str == null ? "" : str;
     }
 
     /** {@hide} */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static String firstNotEmpty(@Nullable String a, @NonNull String b) {
         return !isEmpty(a) ? a : Preconditions.checkStringNotEmpty(b);
     }
 
     /** {@hide} */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static int length(@Nullable String s) {
         return s != null ? s.length() : 0;
     }
@@ -642,7 +620,6 @@
      * @return interned string if it's null.
      * @hide
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static String safeIntern(String s) {
         return (s != null) ? s.intern() : null;
     }
@@ -652,7 +629,6 @@
      * spaces and ASCII control characters were trimmed from the start and end,
      * as by {@link String#trim}.
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static int getTrimmedLength(CharSequence s) {
         int len = s.length();
 
@@ -677,7 +653,6 @@
      * @param b second CharSequence to check
      * @return true if a and b are equal
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static boolean equals(@Nullable CharSequence a, @Nullable CharSequence b) {
         if (a == b) return true;
         int length;
@@ -1713,7 +1688,6 @@
         return true;
     }
 
-    @android.ravenwood.annotation.RavenwoodKeep
     /* package */ static char[] obtain(int len) {
         char[] buf;
 
@@ -1728,7 +1702,6 @@
         return buf;
     }
 
-    @android.ravenwood.annotation.RavenwoodKeep
     /* package */ static void recycle(char[] temp) {
         if (temp.length > 1000)
             return;
@@ -1743,7 +1716,6 @@
      * @param s the string to be encoded
      * @return the encoded string
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static String htmlEncode(String s) {
         StringBuilder sb = new StringBuilder();
         char c;
@@ -1830,7 +1802,6 @@
     /**
      * Returns whether the given CharSequence contains any printable characters.
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static boolean isGraphic(CharSequence str) {
         final int len = str.length();
         for (int cp, i=0; i<len; i+=Character.charCount(cp)) {
@@ -1857,7 +1828,6 @@
      * @deprecated Use {@link #isGraphic(CharSequence)} instead.
      */
     @Deprecated
-    @android.ravenwood.annotation.RavenwoodKeep
     public static boolean isGraphic(char c) {
         int gc = Character.getType(c);
         return     gc != Character.CONTROL
@@ -1872,7 +1842,6 @@
     /**
      * Returns whether the given CharSequence contains only digits.
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static boolean isDigitsOnly(CharSequence str) {
         final int len = str.length();
         for (int cp, i = 0; i < len; i += Character.charCount(cp)) {
@@ -1887,7 +1856,6 @@
     /**
      * @hide
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static boolean isPrintableAscii(final char c) {
         final int asciiFirst = 0x20;
         final int asciiLast = 0x7E;  // included
@@ -1898,7 +1866,6 @@
      * @hide
      */
     @UnsupportedAppUsage
-    @android.ravenwood.annotation.RavenwoodKeep
     public static boolean isPrintableAsciiOnly(final CharSequence str) {
         final int len = str.length();
         for (int i = 0; i < len; i++) {
@@ -1950,7 +1917,6 @@
      * {@link #CAP_MODE_CHARACTERS}, {@link #CAP_MODE_WORDS}, and
      * {@link #CAP_MODE_SENTENCES}.
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static int getCapsMode(CharSequence cs, int off, int reqModes) {
         if (off < 0) {
             return 0;
@@ -2162,7 +2128,6 @@
      *
      * Be careful: this code will need to be updated when vertical scripts will be supported
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static int getLayoutDirectionFromLocale(Locale locale) {
         return ((locale != null && !locale.equals(Locale.ROOT)
                         && ULocale.forLocale(locale).isRightToLeft())
@@ -2197,7 +2162,6 @@
      *             match the supported grammar described above.
      * @hide
      */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static @NonNull String formatSimple(@NonNull String format, Object... args) {
         final StringBuilder sb = new StringBuilder(format);
         int j = 0;
@@ -2387,7 +2351,6 @@
     }
 
     /** @hide */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static boolean isNewline(int codePoint) {
         int type = Character.getType(codePoint);
         return type == Character.PARAGRAPH_SEPARATOR || type == Character.LINE_SEPARATOR
@@ -2395,19 +2358,16 @@
     }
 
     /** @hide */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static boolean isWhitespace(int codePoint) {
         return Character.isWhitespace(codePoint) || codePoint == NBSP_CODE_POINT;
     }
 
     /** @hide */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static boolean isWhitespaceExceptNewline(int codePoint) {
         return isWhitespace(codePoint) && !isNewline(codePoint);
     }
 
     /** @hide */
-    @android.ravenwood.annotation.RavenwoodKeep
     public static boolean isPunctuation(int codePoint) {
         int type = Character.getType(codePoint);
         return type == Character.CONNECTOR_PUNCTUATION
diff --git a/core/java/android/text/TextWatcher.java b/core/java/android/text/TextWatcher.java
index a0aef69..5963ca7 100644
--- a/core/java/android/text/TextWatcher.java
+++ b/core/java/android/text/TextWatcher.java
@@ -20,6 +20,7 @@
  * When an object of this type is attached to an Editable, its methods will
  * be called when the text is changed.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface TextWatcher extends NoCopySpan {
     /**
      * This method is called to notify you that, within <code>s</code>,
diff --git a/core/java/android/text/WordSegmentFinder.java b/core/java/android/text/WordSegmentFinder.java
index b0a70ea..b8702d7 100644
--- a/core/java/android/text/WordSegmentFinder.java
+++ b/core/java/android/text/WordSegmentFinder.java
@@ -33,6 +33,7 @@
  * @see <a href="https://unicode.org/reports/tr29/#Word_Boundaries">Unicode Text Segmentation - Word
  *     Boundaries</a>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class WordSegmentFinder extends SegmentFinder {
     private final CharSequence mText;
     private final WordIterator mWordIterator;
diff --git a/core/java/android/text/format/DateFormat.java b/core/java/android/text/format/DateFormat.java
index e6dad27..ef60d30 100644
--- a/core/java/android/text/format/DateFormat.java
+++ b/core/java/android/text/format/DateFormat.java
@@ -63,6 +63,7 @@
  * Note that the non-{@code format} methods in this class are implemented by
  * {@code SimpleDateFormat}.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class DateFormat {
     /**
      * @deprecated Use a literal {@code '} instead.
diff --git a/core/java/android/text/format/DateIntervalFormat.java b/core/java/android/text/format/DateIntervalFormat.java
index 8dea322..5ec9561 100644
--- a/core/java/android/text/format/DateIntervalFormat.java
+++ b/core/java/android/text/format/DateIntervalFormat.java
@@ -37,6 +37,7 @@
  * @hide
  */
 @VisibleForTesting(visibility = PACKAGE)
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class DateIntervalFormat {
 
     private static final LruCache<String, android.icu.text.DateIntervalFormat> CACHED_FORMATTERS =
diff --git a/core/java/android/text/format/DateTimeFormat.java b/core/java/android/text/format/DateTimeFormat.java
index 064d717..c8dd61d 100644
--- a/core/java/android/text/format/DateTimeFormat.java
+++ b/core/java/android/text/format/DateTimeFormat.java
@@ -29,6 +29,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 class DateTimeFormat {
     private static final FormatterCache CACHED_FORMATTERS = new FormatterCache();
 
diff --git a/core/java/android/text/format/DateUtils.java b/core/java/android/text/format/DateUtils.java
index 518a549..12ad764 100644
--- a/core/java/android/text/format/DateUtils.java
+++ b/core/java/android/text/format/DateUtils.java
@@ -44,6 +44,7 @@
  * This class contains various date-related utilities for creating text for things like
  * elapsed time and date ranges, strings for days of the week and months, and AM/PM text etc.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class DateUtils
 {
     private static final Object sLock = new Object();
diff --git a/core/java/android/text/format/DateUtilsBridge.java b/core/java/android/text/format/DateUtilsBridge.java
index 92ec9cf..752a8c0 100644
--- a/core/java/android/text/format/DateUtilsBridge.java
+++ b/core/java/android/text/format/DateUtilsBridge.java
@@ -46,6 +46,7 @@
  * @hide
  */
 @VisibleForTesting(visibility = PACKAGE)
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class DateUtilsBridge {
 
     /**
diff --git a/core/java/android/text/format/Formatter.java b/core/java/android/text/format/Formatter.java
index 7653bdb..e7783dc 100644
--- a/core/java/android/text/format/Formatter.java
+++ b/core/java/android/text/format/Formatter.java
@@ -41,6 +41,7 @@
  * Utility class to aid in formatting common values that are not covered
  * by the {@link java.util.Formatter} class in {@link java.util}
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class Formatter {
 
     /** {@hide} */
diff --git a/core/java/android/text/format/RelativeDateTimeFormatter.java b/core/java/android/text/format/RelativeDateTimeFormatter.java
index 9096469..6b940f8 100644
--- a/core/java/android/text/format/RelativeDateTimeFormatter.java
+++ b/core/java/android/text/format/RelativeDateTimeFormatter.java
@@ -42,6 +42,7 @@
  * @hide
  */
 @VisibleForTesting(visibility = PACKAGE)
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class RelativeDateTimeFormatter {
 
     public static final long SECOND_IN_MILLIS = 1000;
diff --git a/core/java/android/text/format/Time.java b/core/java/android/text/format/Time.java
index bac7c6c..1beb573 100644
--- a/core/java/android/text/format/Time.java
+++ b/core/java/android/text/format/Time.java
@@ -53,6 +53,7 @@
  * @deprecated Use {@link java.util.GregorianCalendar} instead.
  */
 @Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Time {
     private static final String Y_M_D_T_H_M_S_000 = "%Y-%m-%dT%H:%M:%S.000";
     private static final String Y_M_D_T_H_M_S_000_Z = "%Y-%m-%dT%H:%M:%S.000Z";
diff --git a/core/java/android/text/format/TimeFormatter.java b/core/java/android/text/format/TimeFormatter.java
index e42ad63..dd703d8 100644
--- a/core/java/android/text/format/TimeFormatter.java
+++ b/core/java/android/text/format/TimeFormatter.java
@@ -40,6 +40,7 @@
  *
  * <p>This class is not thread safe.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 class TimeFormatter {
     // An arbitrary value outside the range representable by a char.
     private static final int FORCE_LOWER_CASE = -1;
diff --git a/core/java/android/text/format/TimeMigrationUtils.java b/core/java/android/text/format/TimeMigrationUtils.java
index 17bac8d..b2f5024 100644
--- a/core/java/android/text/format/TimeMigrationUtils.java
+++ b/core/java/android/text/format/TimeMigrationUtils.java
@@ -22,6 +22,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class TimeMigrationUtils {
 
     private TimeMigrationUtils() {}
diff --git a/core/java/android/text/method/AllCapsTransformationMethod.java b/core/java/android/text/method/AllCapsTransformationMethod.java
index 305b056..70dcc52 100644
--- a/core/java/android/text/method/AllCapsTransformationMethod.java
+++ b/core/java/android/text/method/AllCapsTransformationMethod.java
@@ -33,6 +33,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class AllCapsTransformationMethod implements TransformationMethod2 {
     private static final String TAG = "AllCapsTransformationMethod";
 
diff --git a/core/java/android/text/method/ArrowKeyMovementMethod.java b/core/java/android/text/method/ArrowKeyMovementMethod.java
index 37474e5..6099220 100644
--- a/core/java/android/text/method/ArrowKeyMovementMethod.java
+++ b/core/java/android/text/method/ArrowKeyMovementMethod.java
@@ -30,6 +30,7 @@
  * A movement method that provides cursor movement and selection.
  * Supports displaying the context menu on DPad Center.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class ArrowKeyMovementMethod extends BaseMovementMethod implements MovementMethod {
     private static boolean isSelecting(Spannable buffer) {
         return ((MetaKeyKeyListener.getMetaState(buffer, MetaKeyKeyListener.META_SHIFT_ON) == 1) ||
diff --git a/core/java/android/text/method/BaseKeyListener.java b/core/java/android/text/method/BaseKeyListener.java
index e427908..5ebfd99 100644
--- a/core/java/android/text/method/BaseKeyListener.java
+++ b/core/java/android/text/method/BaseKeyListener.java
@@ -47,6 +47,7 @@
  * with hardware keyboards.  Software input methods have no obligation to trigger
  * the methods in this class.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public abstract class BaseKeyListener extends MetaKeyKeyListener
         implements KeyListener {
     /* package */ static final Object OLD_SEL_START = new NoCopySpan.Concrete();
diff --git a/core/java/android/text/method/BaseMovementMethod.java b/core/java/android/text/method/BaseMovementMethod.java
index 7a4b3a0..0c2e52e 100644
--- a/core/java/android/text/method/BaseMovementMethod.java
+++ b/core/java/android/text/method/BaseMovementMethod.java
@@ -27,6 +27,7 @@
 /**
  * Base classes for movement methods.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class BaseMovementMethod implements MovementMethod {
     @Override
     public boolean canSelectArbitrarily() {
diff --git a/core/java/android/text/method/CharacterPickerDialog.java b/core/java/android/text/method/CharacterPickerDialog.java
index 7d838e0..f084d03 100644
--- a/core/java/android/text/method/CharacterPickerDialog.java
+++ b/core/java/android/text/method/CharacterPickerDialog.java
@@ -38,6 +38,7 @@
 /**
  * Dialog for choosing accented characters related to a base character.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class CharacterPickerDialog extends Dialog
         implements OnItemClickListener, OnClickListener {
     private View mView;
diff --git a/core/java/android/text/method/DateKeyListener.java b/core/java/android/text/method/DateKeyListener.java
index 0accbf6..acf1822 100644
--- a/core/java/android/text/method/DateKeyListener.java
+++ b/core/java/android/text/method/DateKeyListener.java
@@ -35,6 +35,7 @@
  * with hardware keyboards.  Software input methods have no obligation to trigger
  * the methods in this class.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class DateKeyListener extends NumberKeyListener
 {
     public int getInputType() {
diff --git a/core/java/android/text/method/DateTimeKeyListener.java b/core/java/android/text/method/DateTimeKeyListener.java
index 1593db5..a46ae45 100644
--- a/core/java/android/text/method/DateTimeKeyListener.java
+++ b/core/java/android/text/method/DateTimeKeyListener.java
@@ -35,6 +35,7 @@
  * with hardware keyboards.  Software input methods have no obligation to trigger
  * the methods in this class.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class DateTimeKeyListener extends NumberKeyListener
 {
     public int getInputType() {
diff --git a/core/java/android/text/method/DialerKeyListener.java b/core/java/android/text/method/DialerKeyListener.java
index 17abed6..9eea51a 100644
--- a/core/java/android/text/method/DialerKeyListener.java
+++ b/core/java/android/text/method/DialerKeyListener.java
@@ -28,6 +28,7 @@
  * with hardware keyboards.  Software input methods have no obligation to trigger
  * the methods in this class.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class DialerKeyListener extends NumberKeyListener
 {
     @Override
diff --git a/core/java/android/text/method/DigitsKeyListener.java b/core/java/android/text/method/DigitsKeyListener.java
index d9f2dcf..c97d4af 100644
--- a/core/java/android/text/method/DigitsKeyListener.java
+++ b/core/java/android/text/method/DigitsKeyListener.java
@@ -40,6 +40,7 @@
  * with hardware keyboards.  Software input methods have no obligation to trigger
  * the methods in this class.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class DigitsKeyListener extends NumberKeyListener
 {
     private char[] mAccepted;
diff --git a/core/java/android/text/method/HideReturnsTransformationMethod.java b/core/java/android/text/method/HideReturnsTransformationMethod.java
index 40ce871..8b93b35 100644
--- a/core/java/android/text/method/HideReturnsTransformationMethod.java
+++ b/core/java/android/text/method/HideReturnsTransformationMethod.java
@@ -24,6 +24,7 @@
  * to be hidden by displaying them as zero-width non-breaking space
  * characters (\uFEFF).
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class HideReturnsTransformationMethod
 extends ReplacementTransformationMethod {
     private static char[] ORIGINAL = new char[] { '\r' };
diff --git a/core/java/android/text/method/InsertModeTransformationMethod.java b/core/java/android/text/method/InsertModeTransformationMethod.java
index 6c6576f..ace2d25 100644
--- a/core/java/android/text/method/InsertModeTransformationMethod.java
+++ b/core/java/android/text/method/InsertModeTransformationMethod.java
@@ -58,6 +58,7 @@
  *   the new transformed text: "hello abc\n\n world", and the highlight range will be [5, 11).
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class InsertModeTransformationMethod implements TransformationMethod, TextWatcher {
     /** The start offset of the highlight range in the original text, inclusive. */
     private int mStart;
diff --git a/core/java/android/text/method/KeyListener.java b/core/java/android/text/method/KeyListener.java
index ce7054c..447c4d9 100644
--- a/core/java/android/text/method/KeyListener.java
+++ b/core/java/android/text/method/KeyListener.java
@@ -34,6 +34,7 @@
  * targetting Jelly Bean or later, and will only deliver it for some
  * key presses to applications targetting Ice Cream Sandwich or earlier.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface KeyListener {
     /**
      * Return the type of text that this key listener is manipulating,
diff --git a/core/java/android/text/method/LinkMovementMethod.java b/core/java/android/text/method/LinkMovementMethod.java
index 9f4a0ae..484bc1a 100644
--- a/core/java/android/text/method/LinkMovementMethod.java
+++ b/core/java/android/text/method/LinkMovementMethod.java
@@ -33,6 +33,7 @@
  * A movement method that traverses links in the text buffer and scrolls if necessary.
  * Supports clicking on links with DPad Center or Enter.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class LinkMovementMethod extends ScrollingMovementMethod {
     private static final int CLICK = 1;
     private static final int UP = 2;
diff --git a/core/java/android/text/method/MetaKeyKeyListener.java b/core/java/android/text/method/MetaKeyKeyListener.java
index d1d7c96..7c9c2f1 100644
--- a/core/java/android/text/method/MetaKeyKeyListener.java
+++ b/core/java/android/text/method/MetaKeyKeyListener.java
@@ -71,6 +71,7 @@
  * }
  * </code>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public abstract class MetaKeyKeyListener {
     /**
      * Flag that indicates that the SHIFT key is on.
diff --git a/core/java/android/text/method/MovementMethod.java b/core/java/android/text/method/MovementMethod.java
index f6fe575..5ea439d 100644
--- a/core/java/android/text/method/MovementMethod.java
+++ b/core/java/android/text/method/MovementMethod.java
@@ -32,6 +32,7 @@
  * directly by applications.
  * </p>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface MovementMethod {
     public void initialize(TextView widget, Spannable text);
     public boolean onKeyDown(TextView widget, Spannable text, int keyCode, KeyEvent event);
diff --git a/core/java/android/text/method/MultiTapKeyListener.java b/core/java/android/text/method/MultiTapKeyListener.java
index 5770482..022853ab 100644
--- a/core/java/android/text/method/MultiTapKeyListener.java
+++ b/core/java/android/text/method/MultiTapKeyListener.java
@@ -36,6 +36,7 @@
  * with hardware keyboards.  Software input methods have no obligation to trigger
  * the methods in this class.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class MultiTapKeyListener extends BaseKeyListener
         implements SpanWatcher {
     private static MultiTapKeyListener[] sInstance =
diff --git a/core/java/android/text/method/NumberKeyListener.java b/core/java/android/text/method/NumberKeyListener.java
index 2b038dd..e32ccd4 100644
--- a/core/java/android/text/method/NumberKeyListener.java
+++ b/core/java/android/text/method/NumberKeyListener.java
@@ -39,6 +39,7 @@
  * with hardware keyboards.  Software input methods have no obligation to trigger
  * the methods in this class.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public abstract class NumberKeyListener extends BaseKeyListener
     implements InputFilter
 {
diff --git a/core/java/android/text/method/OffsetMapping.java b/core/java/android/text/method/OffsetMapping.java
index fcf3de6..99613d3 100644
--- a/core/java/android/text/method/OffsetMapping.java
+++ b/core/java/android/text/method/OffsetMapping.java
@@ -27,6 +27,7 @@
  * {@link TransformationMethod} that alters the text length.
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface OffsetMapping {
     /**
      * The mapping strategy for a character offset.
diff --git a/core/java/android/text/method/PasswordTransformationMethod.java b/core/java/android/text/method/PasswordTransformationMethod.java
index 53553be..4a61d9a 100644
--- a/core/java/android/text/method/PasswordTransformationMethod.java
+++ b/core/java/android/text/method/PasswordTransformationMethod.java
@@ -33,6 +33,7 @@
 
 import java.lang.ref.WeakReference;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class PasswordTransformationMethod
 implements TransformationMethod, TextWatcher
 {
diff --git a/core/java/android/text/method/QwertyKeyListener.java b/core/java/android/text/method/QwertyKeyListener.java
index c43864d..27c58ea 100644
--- a/core/java/android/text/method/QwertyKeyListener.java
+++ b/core/java/android/text/method/QwertyKeyListener.java
@@ -37,6 +37,7 @@
  * with hardware keyboards.  Software input methods have no obligation to trigger
  * the methods in this class.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class QwertyKeyListener extends BaseKeyListener {
     private static QwertyKeyListener[] sInstance =
         new QwertyKeyListener[Capitalize.values().length * 2];
diff --git a/core/java/android/text/method/ReplacementTransformationMethod.java b/core/java/android/text/method/ReplacementTransformationMethod.java
index d6f879a..05899d7 100644
--- a/core/java/android/text/method/ReplacementTransformationMethod.java
+++ b/core/java/android/text/method/ReplacementTransformationMethod.java
@@ -30,6 +30,7 @@
  * array to be replaced by the corresponding characters in the
  * {@link #getReplacement} array.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public abstract class ReplacementTransformationMethod
 implements TransformationMethod
 {
diff --git a/core/java/android/text/method/ScrollingMovementMethod.java b/core/java/android/text/method/ScrollingMovementMethod.java
index 4f422cb..2e0eda9 100644
--- a/core/java/android/text/method/ScrollingMovementMethod.java
+++ b/core/java/android/text/method/ScrollingMovementMethod.java
@@ -25,6 +25,7 @@
 /**
  * A movement method that interprets movement keys by scrolling the text buffer.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class ScrollingMovementMethod extends BaseMovementMethod implements MovementMethod {
     @Override
     protected boolean left(TextView widget, Spannable buffer) {
diff --git a/core/java/android/text/method/SingleLineTransformationMethod.java b/core/java/android/text/method/SingleLineTransformationMethod.java
index 818526a..d6eff86 100644
--- a/core/java/android/text/method/SingleLineTransformationMethod.java
+++ b/core/java/android/text/method/SingleLineTransformationMethod.java
@@ -21,6 +21,7 @@
  * displayed as spaces instead of causing line breaks, and causes
  * carriage return characters (\r) to have no appearance.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class SingleLineTransformationMethod
 extends ReplacementTransformationMethod {
     private static char[] ORIGINAL = new char[] { '\n', '\r' };
diff --git a/core/java/android/text/method/TextKeyListener.java b/core/java/android/text/method/TextKeyListener.java
index 2eb917b..1b0ae61 100644
--- a/core/java/android/text/method/TextKeyListener.java
+++ b/core/java/android/text/method/TextKeyListener.java
@@ -43,6 +43,7 @@
  * with hardware keyboards.  Software input methods have no obligation to trigger
  * the methods in this class.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class TextKeyListener extends BaseKeyListener implements SpanWatcher {
     private static TextKeyListener[] sInstance =
         new TextKeyListener[Capitalize.values().length * 2];
diff --git a/core/java/android/text/method/TimeKeyListener.java b/core/java/android/text/method/TimeKeyListener.java
index f11f400..337611c 100644
--- a/core/java/android/text/method/TimeKeyListener.java
+++ b/core/java/android/text/method/TimeKeyListener.java
@@ -35,6 +35,7 @@
  * with hardware keyboards.  Software input methods have no obligation to trigger
  * the methods in this class.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class TimeKeyListener extends NumberKeyListener
 {
     public int getInputType() {
diff --git a/core/java/android/text/method/Touch.java b/core/java/android/text/method/Touch.java
index 44811cb..85aadba 100644
--- a/core/java/android/text/method/Touch.java
+++ b/core/java/android/text/method/Touch.java
@@ -25,6 +25,7 @@
 import android.view.ViewConfiguration;
 import android.widget.TextView;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Touch {
     private Touch() { }
 
diff --git a/core/java/android/text/method/TransformationMethod.java b/core/java/android/text/method/TransformationMethod.java
index 8f3b334..5246baa 100644
--- a/core/java/android/text/method/TransformationMethod.java
+++ b/core/java/android/text/method/TransformationMethod.java
@@ -24,6 +24,7 @@
  * characters of passwords with dots, or keeping the newline characters
  * from causing line breaks in single-line text fields.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface TransformationMethod
 {
     /**
diff --git a/core/java/android/text/method/TransformationMethod2.java b/core/java/android/text/method/TransformationMethod2.java
index 8d5ec24..6e0feb419 100644
--- a/core/java/android/text/method/TransformationMethod2.java
+++ b/core/java/android/text/method/TransformationMethod2.java
@@ -23,6 +23,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface TransformationMethod2 extends TransformationMethod {
     /**
      * Relax the contract of TransformationMethod to allow length changes,
diff --git a/core/java/android/text/method/TranslationTransformationMethod.java b/core/java/android/text/method/TranslationTransformationMethod.java
index 43d186e..8f43d3d 100644
--- a/core/java/android/text/method/TranslationTransformationMethod.java
+++ b/core/java/android/text/method/TranslationTransformationMethod.java
@@ -33,6 +33,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class TranslationTransformationMethod implements TransformationMethod2 {
 
     private static final String TAG = "TranslationTransformationMethod";
diff --git a/core/java/android/text/method/WordIterator.java b/core/java/android/text/method/WordIterator.java
index 2956f84..d57fa9b 100644
--- a/core/java/android/text/method/WordIterator.java
+++ b/core/java/android/text/method/WordIterator.java
@@ -37,6 +37,7 @@
  * Also provides methods to determine word boundaries.
  * {@hide}
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class WordIterator implements Selection.PositionIterator {
     // Size of the window for the word iterator, should be greater than the longest word's length
     private static final int WINDOW_WIDTH = 50;
diff --git a/core/java/android/text/style/AbsoluteSizeSpan.java b/core/java/android/text/style/AbsoluteSizeSpan.java
index 6d4f05a..1bc5d71 100644
--- a/core/java/android/text/style/AbsoluteSizeSpan.java
+++ b/core/java/android/text/style/AbsoluteSizeSpan.java
@@ -32,6 +32,7 @@
  * <img src="{@docRoot}reference/android/images/text/style/absolutesizespan.png" />
  * <figcaption>Text with text size updated.</figcaption>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class AbsoluteSizeSpan extends MetricAffectingSpan implements ParcelableSpan {
 
     private final int mSize;
diff --git a/core/java/android/text/style/AccessibilityClickableSpan.java b/core/java/android/text/style/AccessibilityClickableSpan.java
index ee8d156..5741f2a 100644
--- a/core/java/android/text/style/AccessibilityClickableSpan.java
+++ b/core/java/android/text/style/AccessibilityClickableSpan.java
@@ -43,6 +43,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class AccessibilityClickableSpan extends ClickableSpan
         implements ParcelableSpan {
     // The id of the span this one replaces
diff --git a/core/java/android/text/style/AccessibilityReplacementSpan.java b/core/java/android/text/style/AccessibilityReplacementSpan.java
index e4fc147..af3a324 100644
--- a/core/java/android/text/style/AccessibilityReplacementSpan.java
+++ b/core/java/android/text/style/AccessibilityReplacementSpan.java
@@ -31,6 +31,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class AccessibilityReplacementSpan extends ReplacementSpan
         implements ParcelableSpan {
 
diff --git a/core/java/android/text/style/AccessibilityURLSpan.java b/core/java/android/text/style/AccessibilityURLSpan.java
index e280bdf..1fb76e7 100644
--- a/core/java/android/text/style/AccessibilityURLSpan.java
+++ b/core/java/android/text/style/AccessibilityURLSpan.java
@@ -27,6 +27,7 @@
  * @hide
  */
 @SuppressWarnings("ParcelableCreator")
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class AccessibilityURLSpan extends URLSpan implements Parcelable {
     final AccessibilityClickableSpan mAccessibilityClickableSpan;
 
diff --git a/core/java/android/text/style/AlignmentSpan.java b/core/java/android/text/style/AlignmentSpan.java
index 31db78a..53cbd63 100644
--- a/core/java/android/text/style/AlignmentSpan.java
+++ b/core/java/android/text/style/AlignmentSpan.java
@@ -25,6 +25,7 @@
 /**
  * Span that allows defining the alignment of text at the paragraph level.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface AlignmentSpan extends ParagraphStyle {
 
     /**
diff --git a/core/java/android/text/style/BackgroundColorSpan.java b/core/java/android/text/style/BackgroundColorSpan.java
index 13647d9..bb04d0ff 100644
--- a/core/java/android/text/style/BackgroundColorSpan.java
+++ b/core/java/android/text/style/BackgroundColorSpan.java
@@ -34,6 +34,7 @@
  * <img src="{@docRoot}reference/android/images/text/style/backgroundcolorspan.png" />
  * <figcaption>Set a background color for the text.</figcaption>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class BackgroundColorSpan extends CharacterStyle
         implements UpdateAppearance, ParcelableSpan {
 
diff --git a/core/java/android/text/style/BulletSpan.java b/core/java/android/text/style/BulletSpan.java
index f70e6c5..24ae6e2 100644
--- a/core/java/android/text/style/BulletSpan.java
+++ b/core/java/android/text/style/BulletSpan.java
@@ -63,6 +63,7 @@
  * <img src="{@docRoot}reference/android/images/text/style/custombulletspan.png" />
  * <figcaption>Customized BulletSpan.</figcaption>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class BulletSpan implements LeadingMarginSpan, ParcelableSpan {
     // Bullet is slightly bigger to avoid aliasing artifacts on mdpi devices.
     private static final int STANDARD_BULLET_RADIUS = 4;
diff --git a/core/java/android/text/style/CharacterStyle.java b/core/java/android/text/style/CharacterStyle.java
index 5b95f1a..2ea05e6 100644
--- a/core/java/android/text/style/CharacterStyle.java
+++ b/core/java/android/text/style/CharacterStyle.java
@@ -23,6 +23,7 @@
  * class.  Most extend its subclass {@link MetricAffectingSpan}, but simple
  * ones may just implement {@link UpdateAppearance}.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public abstract class CharacterStyle {
     public abstract void updateDrawState(TextPaint tp);
 
diff --git a/core/java/android/text/style/ClickableSpan.java b/core/java/android/text/style/ClickableSpan.java
index 238da55..9e35d75 100644
--- a/core/java/android/text/style/ClickableSpan.java
+++ b/core/java/android/text/style/ClickableSpan.java
@@ -36,6 +36,7 @@
  * <img src="{@docRoot}reference/android/images/text/style/clickablespan.png" />
  * <figcaption>Text with <code>ClickableSpan</code>.</figcaption>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public abstract class ClickableSpan extends CharacterStyle implements UpdateAppearance {
     private static int sIdCounter = 0;
 
diff --git a/core/java/android/text/style/ForegroundColorSpan.java b/core/java/android/text/style/ForegroundColorSpan.java
index 5c97426..337c49f 100644
--- a/core/java/android/text/style/ForegroundColorSpan.java
+++ b/core/java/android/text/style/ForegroundColorSpan.java
@@ -34,6 +34,7 @@
  * <img src="{@docRoot}reference/android/images/text/style/foregroundcolorspan.png" />
  * <figcaption>Set a text color.</figcaption>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class ForegroundColorSpan extends CharacterStyle
         implements UpdateAppearance, ParcelableSpan {
 
diff --git a/core/java/android/text/style/IconMarginSpan.java b/core/java/android/text/style/IconMarginSpan.java
index a6c5139..cc946e9 100644
--- a/core/java/android/text/style/IconMarginSpan.java
+++ b/core/java/android/text/style/IconMarginSpan.java
@@ -44,6 +44,7 @@
  * @see DrawableMarginSpan for working with a {@link android.graphics.drawable.Drawable} instead of
  * a {@link Bitmap}.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class IconMarginSpan implements LeadingMarginSpan, LineHeightSpan {
 
     @NonNull
diff --git a/core/java/android/text/style/LeadingMarginSpan.java b/core/java/android/text/style/LeadingMarginSpan.java
index 5bd2d60..60c4578 100644
--- a/core/java/android/text/style/LeadingMarginSpan.java
+++ b/core/java/android/text/style/LeadingMarginSpan.java
@@ -32,6 +32,7 @@
  * LeadingMarginSpans should be attached from the first character to the last
  * character of a single paragraph.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface LeadingMarginSpan
 extends ParagraphStyle
 {
diff --git a/core/java/android/text/style/LineBackgroundSpan.java b/core/java/android/text/style/LineBackgroundSpan.java
index 7cb9147..c2d38ce 100644
--- a/core/java/android/text/style/LineBackgroundSpan.java
+++ b/core/java/android/text/style/LineBackgroundSpan.java
@@ -28,6 +28,7 @@
 /**
  * Used to change the background of lines where the span is attached to.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface LineBackgroundSpan extends ParagraphStyle
 {
     /**
diff --git a/core/java/android/text/style/LineBreakConfigSpan.java b/core/java/android/text/style/LineBreakConfigSpan.java
index eeb6383..1af1eed 100644
--- a/core/java/android/text/style/LineBreakConfigSpan.java
+++ b/core/java/android/text/style/LineBreakConfigSpan.java
@@ -31,6 +31,7 @@
  * LineBreakSpan for changing line break style of the specific region of the text.
  */
 @FlaggedApi(FLAG_NO_BREAK_NO_HYPHENATION_SPAN)
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class LineBreakConfigSpan implements ParcelableSpan {
     private final LineBreakConfig mLineBreakConfig;
 
diff --git a/core/java/android/text/style/LineHeightSpan.java b/core/java/android/text/style/LineHeightSpan.java
index ae565d1..71e8932 100644
--- a/core/java/android/text/style/LineHeightSpan.java
+++ b/core/java/android/text/style/LineHeightSpan.java
@@ -30,6 +30,7 @@
 /**
  * The classes that affect the line height of paragraph should implement this interface.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface LineHeightSpan extends ParagraphStyle, WrapTogetherSpan {
     /**
      * Classes that implement this should define how the height is being calculated.
diff --git a/core/java/android/text/style/LocaleSpan.java b/core/java/android/text/style/LocaleSpan.java
index 489ceea..be5525a 100644
--- a/core/java/android/text/style/LocaleSpan.java
+++ b/core/java/android/text/style/LocaleSpan.java
@@ -32,6 +32,7 @@
 /**
  * Changes the {@link Locale} of the text to which the span is attached.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class LocaleSpan extends MetricAffectingSpan implements ParcelableSpan {
     @NonNull
     private final LocaleList mLocales;
diff --git a/core/java/android/text/style/MaskFilterSpan.java b/core/java/android/text/style/MaskFilterSpan.java
index 587d1b4..44db012 100644
--- a/core/java/android/text/style/MaskFilterSpan.java
+++ b/core/java/android/text/style/MaskFilterSpan.java
@@ -30,6 +30,7 @@
  * <img src="{@docRoot}reference/android/images/text/style/maskfilterspan.png" />
  * <figcaption>Text blurred with the <code>MaskFilterSpan</code>.</figcaption>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class MaskFilterSpan extends CharacterStyle implements UpdateAppearance {
 
     private MaskFilter mFilter;
diff --git a/core/java/android/text/style/MetricAffectingSpan.java b/core/java/android/text/style/MetricAffectingSpan.java
index 61b7947..f30fdc1 100644
--- a/core/java/android/text/style/MetricAffectingSpan.java
+++ b/core/java/android/text/style/MetricAffectingSpan.java
@@ -23,6 +23,7 @@
  * The classes that affect character-level text formatting in a way that
  * changes the width or height of characters extend this class.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public abstract class MetricAffectingSpan
         extends CharacterStyle
         implements UpdateLayout {
diff --git a/core/java/android/text/style/NoWritingToolsSpan.java b/core/java/android/text/style/NoWritingToolsSpan.java
index 90f85aa..c7dfcfa 100644
--- a/core/java/android/text/style/NoWritingToolsSpan.java
+++ b/core/java/android/text/style/NoWritingToolsSpan.java
@@ -32,6 +32,7 @@
  * tools should only rewrite the user input text, and not modify the quoted text.
  */
 @FlaggedApi(FLAG_WRITING_TOOLS)
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class NoWritingToolsSpan implements ParcelableSpan {
 
     /**
diff --git a/core/java/android/text/style/ParagraphStyle.java b/core/java/android/text/style/ParagraphStyle.java
index 423156e..27c1e26 100644
--- a/core/java/android/text/style/ParagraphStyle.java
+++ b/core/java/android/text/style/ParagraphStyle.java
@@ -20,6 +20,7 @@
  * The classes that affect paragraph-level text formatting implement
  * this interface.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface ParagraphStyle
 {
 
diff --git a/core/java/android/text/style/QuoteSpan.java b/core/java/android/text/style/QuoteSpan.java
index 393ede6..99c9574 100644
--- a/core/java/android/text/style/QuoteSpan.java
+++ b/core/java/android/text/style/QuoteSpan.java
@@ -57,6 +57,7 @@
  * <img src="{@docRoot}reference/android/images/text/style/customquotespan.png" />
  * <figcaption>Customized <code>QuoteSpan</code>.</figcaption>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class QuoteSpan implements LeadingMarginSpan, ParcelableSpan {
     /**
      * Default stripe width in pixels.
diff --git a/core/java/android/text/style/RasterizerSpan.java b/core/java/android/text/style/RasterizerSpan.java
index f0be50a..cf8599c 100644
--- a/core/java/android/text/style/RasterizerSpan.java
+++ b/core/java/android/text/style/RasterizerSpan.java
@@ -22,6 +22,7 @@
 /**
  *  @removed Rasterizer is not supported for hw-accerlerated and PDF rendering
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class RasterizerSpan extends CharacterStyle implements UpdateAppearance {
 
     private Rasterizer mRasterizer;
diff --git a/core/java/android/text/style/RelativeSizeSpan.java b/core/java/android/text/style/RelativeSizeSpan.java
index 5c91b20..38d5d38 100644
--- a/core/java/android/text/style/RelativeSizeSpan.java
+++ b/core/java/android/text/style/RelativeSizeSpan.java
@@ -34,6 +34,7 @@
  * <img src="{@docRoot}reference/android/images/text/style/relativesizespan.png" />
  * <figcaption>Text increased by 50% with <code>RelativeSizeSpan</code>.</figcaption>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class RelativeSizeSpan extends MetricAffectingSpan implements ParcelableSpan {
 
     private final float mProportion;
diff --git a/core/java/android/text/style/ReplacementSpan.java b/core/java/android/text/style/ReplacementSpan.java
index 9430fd3..a6fe1fe 100644
--- a/core/java/android/text/style/ReplacementSpan.java
+++ b/core/java/android/text/style/ReplacementSpan.java
@@ -23,6 +23,7 @@
 import android.graphics.Paint;
 import android.text.TextPaint;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public abstract class ReplacementSpan extends MetricAffectingSpan {
 
     private CharSequence mContentDescription = null;
diff --git a/core/java/android/text/style/ScaleXSpan.java b/core/java/android/text/style/ScaleXSpan.java
index d022b07..009973e 100644
--- a/core/java/android/text/style/ScaleXSpan.java
+++ b/core/java/android/text/style/ScaleXSpan.java
@@ -36,6 +36,7 @@
  * <img src="{@docRoot}reference/android/images/text/style/scalexspan.png" />
  * <figcaption>Text scaled by 100% with <code>ScaleXSpan</code>.</figcaption>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class ScaleXSpan extends MetricAffectingSpan implements ParcelableSpan {
 
     private final float mProportion;
diff --git a/core/java/android/text/style/SpanUtils.java b/core/java/android/text/style/SpanUtils.java
index 6b4bd1a..21a96cd 100644
--- a/core/java/android/text/style/SpanUtils.java
+++ b/core/java/android/text/style/SpanUtils.java
@@ -30,6 +30,7 @@
 /**
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class SpanUtils {
     private SpanUtils() {}  // Do not instantiate
 
diff --git a/core/java/android/text/style/SpellCheckSpan.java b/core/java/android/text/style/SpellCheckSpan.java
index e8ec3c6..39cd279 100644
--- a/core/java/android/text/style/SpellCheckSpan.java
+++ b/core/java/android/text/style/SpellCheckSpan.java
@@ -28,6 +28,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class SpellCheckSpan implements ParcelableSpan {
 
     private boolean mSpellCheckInProgress;
diff --git a/core/java/android/text/style/StrikethroughSpan.java b/core/java/android/text/style/StrikethroughSpan.java
index 65ee347..3654870 100644
--- a/core/java/android/text/style/StrikethroughSpan.java
+++ b/core/java/android/text/style/StrikethroughSpan.java
@@ -32,6 +32,7 @@
  * <img src="{@docRoot}reference/android/images/text/style/strikethroughspan.png" />
  * <figcaption>Strikethrough text.</figcaption>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class StrikethroughSpan extends CharacterStyle
         implements UpdateAppearance, ParcelableSpan {
 
diff --git a/core/java/android/text/style/StyleSpan.java b/core/java/android/text/style/StyleSpan.java
index 378682b..c01e134 100644
--- a/core/java/android/text/style/StyleSpan.java
+++ b/core/java/android/text/style/StyleSpan.java
@@ -44,6 +44,7 @@
  * <img src="{@docRoot}reference/android/images/text/style/stylespan.png" />
  * <figcaption>Text styled bold and italic with the <code>StyleSpan</code>.</figcaption>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class StyleSpan extends MetricAffectingSpan implements ParcelableSpan {
 
     private final int mStyle;
diff --git a/core/java/android/text/style/SubscriptSpan.java b/core/java/android/text/style/SubscriptSpan.java
index 729a9ad..54c765d 100644
--- a/core/java/android/text/style/SubscriptSpan.java
+++ b/core/java/android/text/style/SubscriptSpan.java
@@ -37,6 +37,7 @@
  * Note: Since the span affects the position of the text, if the text is on the last line of a
  * TextView, it may appear cut.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class SubscriptSpan extends MetricAffectingSpan implements ParcelableSpan {
 
     /**
diff --git a/core/java/android/text/style/SuggestionRangeSpan.java b/core/java/android/text/style/SuggestionRangeSpan.java
index 1eee99a..640fae4 100644
--- a/core/java/android/text/style/SuggestionRangeSpan.java
+++ b/core/java/android/text/style/SuggestionRangeSpan.java
@@ -27,6 +27,7 @@
  * A SuggestionRangeSpan is used to show which part of an EditText is affected by a suggestion
  * popup window.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class SuggestionRangeSpan extends CharacterStyle implements ParcelableSpan {
     private int mBackgroundColor;
 
diff --git a/core/java/android/text/style/SuggestionSpan.java b/core/java/android/text/style/SuggestionSpan.java
index 0cf96f6..d819062 100644
--- a/core/java/android/text/style/SuggestionSpan.java
+++ b/core/java/android/text/style/SuggestionSpan.java
@@ -48,6 +48,7 @@
  *
  * @see TextView#isSuggestionsEnabled()
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class SuggestionSpan extends CharacterStyle implements ParcelableSpan {
 
     private static final String TAG = "SuggestionSpan";
diff --git a/core/java/android/text/style/SuperscriptSpan.java b/core/java/android/text/style/SuperscriptSpan.java
index 5610223..d3b339c 100644
--- a/core/java/android/text/style/SuperscriptSpan.java
+++ b/core/java/android/text/style/SuperscriptSpan.java
@@ -35,6 +35,7 @@
  * TextView, it may appear cut. This can be avoided by decreasing the text size with an {@link
  * AbsoluteSizeSpan}
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class SuperscriptSpan extends MetricAffectingSpan implements ParcelableSpan {
     /**
      * Creates a {@link SuperscriptSpan}.
diff --git a/core/java/android/text/style/TabStopSpan.java b/core/java/android/text/style/TabStopSpan.java
index 8128475..e6733a2 100644
--- a/core/java/android/text/style/TabStopSpan.java
+++ b/core/java/android/text/style/TabStopSpan.java
@@ -24,6 +24,7 @@
  * the leading margin of the line. <code>TabStopSpan</code> will only affect the first tab
  * encountered on the first line of the text.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface TabStopSpan extends ParagraphStyle {
 
     /**
diff --git a/core/java/android/text/style/TextAppearanceSpan.java b/core/java/android/text/style/TextAppearanceSpan.java
index 245a9db..7ede349 100644
--- a/core/java/android/text/style/TextAppearanceSpan.java
+++ b/core/java/android/text/style/TextAppearanceSpan.java
@@ -58,6 +58,7 @@
  * @attr ref android.R.styleable#TextAppearance_fontVariationSettings
  *
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class TextAppearanceSpan extends MetricAffectingSpan implements ParcelableSpan {
     private final String mFamilyName;
     private final int mStyle;
diff --git a/core/java/android/text/style/TtsSpan.java b/core/java/android/text/style/TtsSpan.java
index e0d4ec1..6d776d1 100644
--- a/core/java/android/text/style/TtsSpan.java
+++ b/core/java/android/text/style/TtsSpan.java
@@ -42,6 +42,7 @@
  * The inner classes are there for convenience and provide builders for each
  * TtsSpan type.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class TtsSpan implements ParcelableSpan {
     private final String mType;
     private final PersistableBundle mArgs;
diff --git a/core/java/android/text/style/TypefaceSpan.java b/core/java/android/text/style/TypefaceSpan.java
index bdfc772..86f7f76 100644
--- a/core/java/android/text/style/TypefaceSpan.java
+++ b/core/java/android/text/style/TypefaceSpan.java
@@ -50,6 +50,7 @@
  * <figcaption>Text with <code>TypefaceSpan</code>s constructed based on a font from resource and
  * from a font family.</figcaption>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class TypefaceSpan extends MetricAffectingSpan implements ParcelableSpan {
 
     @Nullable
diff --git a/core/java/android/text/style/URLSpan.java b/core/java/android/text/style/URLSpan.java
index 9969d29..f06627d 100644
--- a/core/java/android/text/style/URLSpan.java
+++ b/core/java/android/text/style/URLSpan.java
@@ -41,6 +41,7 @@
  * <img src="{@docRoot}reference/android/images/text/style/urlspan.png" />
  * <figcaption>Text with <code>URLSpan</code>.</figcaption>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class URLSpan extends ClickableSpan implements ParcelableSpan {
 
     private final String mURL;
diff --git a/core/java/android/text/style/UnderlineSpan.java b/core/java/android/text/style/UnderlineSpan.java
index 075e70b..b3bb142 100644
--- a/core/java/android/text/style/UnderlineSpan.java
+++ b/core/java/android/text/style/UnderlineSpan.java
@@ -32,6 +32,7 @@
  * <img src="{@docRoot}reference/android/images/text/style/underlinespan.png" />
  * <figcaption>Underlined text.</figcaption>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class UnderlineSpan extends CharacterStyle
         implements UpdateAppearance, ParcelableSpan {
 
diff --git a/core/java/android/text/style/UpdateAppearance.java b/core/java/android/text/style/UpdateAppearance.java
index 7112347..7b0a6d3 100644
--- a/core/java/android/text/style/UpdateAppearance.java
+++ b/core/java/android/text/style/UpdateAppearance.java
@@ -22,5 +22,6 @@
  * that if the class also impacts size or other metrics, it should instead
  * implement {@link UpdateLayout}.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface UpdateAppearance {
 }
diff --git a/core/java/android/text/style/UpdateLayout.java b/core/java/android/text/style/UpdateLayout.java
index 591075e..5af4141 100644
--- a/core/java/android/text/style/UpdateLayout.java
+++ b/core/java/android/text/style/UpdateLayout.java
@@ -22,4 +22,5 @@
  * this interface.  This interface also includes {@link UpdateAppearance}
  * since such a change implicitly also impacts the appearance.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface UpdateLayout extends UpdateAppearance { }
diff --git a/core/java/android/text/style/WrapTogetherSpan.java b/core/java/android/text/style/WrapTogetherSpan.java
index 11721a8..cf74c1b 100644
--- a/core/java/android/text/style/WrapTogetherSpan.java
+++ b/core/java/android/text/style/WrapTogetherSpan.java
@@ -16,6 +16,7 @@
 
 package android.text.style;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface WrapTogetherSpan
 extends ParagraphStyle
 {
diff --git a/core/java/android/text/util/Rfc822Token.java b/core/java/android/text/util/Rfc822Token.java
index 2f207db..d6e987b 100644
--- a/core/java/android/text/util/Rfc822Token.java
+++ b/core/java/android/text/util/Rfc822Token.java
@@ -22,6 +22,7 @@
  * This class stores an RFC 822-like name, address, and comment,
  * and provides methods to convert them to quoted strings.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Rfc822Token {
     @Nullable
     private String mName, mAddress, mComment;
diff --git a/core/java/android/text/util/Rfc822Tokenizer.java b/core/java/android/text/util/Rfc822Tokenizer.java
index 68334e4..8a9252a 100644
--- a/core/java/android/text/util/Rfc822Tokenizer.java
+++ b/core/java/android/text/util/Rfc822Tokenizer.java
@@ -27,6 +27,7 @@
  * a string of addresses (such as might be typed into such a field)
  * into a series of Rfc822Tokens.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Rfc822Tokenizer implements MultiAutoCompleteTextView.Tokenizer {
 
     /**
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java
index 0903d22..c4347f0 100644
--- a/core/java/android/view/SurfaceControl.java
+++ b/core/java/android/view/SurfaceControl.java
@@ -3080,6 +3080,21 @@
         }
 
         /**
+         * Changes the default ApplyToken.
+         *
+         * ApplyToken is used to determine the order in which Transactions are applied.
+         * Transactions applied with the same ApplyToken will be applied in the order
+         * they were queued in SurfaceFlinger. Transactions are sent via binder so the
+         * caller should be aware of the order in which binder calls are executed in
+         * SurfaceFlinger. This along with the ApplyToken will determine the order
+         * in which Transactions are applied. Transactions with different apply tokens
+         * will be applied in arbitrary order regardless of when they were queued in
+         * SurfaceFlinger.
+         *
+         * Caller must keep track of the previous ApplyToken if they want to restore it.
+         *
+         * Note each buffer producer should have its own ApplyToken in order to ensure
+         * that Transactions are not delayed by Transactions from other buffer producers.
          *
          * @hide
          */
@@ -3088,6 +3103,7 @@
         }
 
         /**
+         * Returns the default ApplyToken.
          *
          * @hide
          */
@@ -3096,8 +3112,10 @@
         }
 
         /**
-         * Apply the transaction, clearing it's state, and making it usable
+         * Apply the transaction, clearing its state, and making it usable
          * as a new transaction.
+         *
+         * This method will also increment the transaction ID for debugging purposes.
          */
         public void apply() {
             apply(/*sync*/ false);
@@ -3116,7 +3134,7 @@
 
 
         /**
-         * Clear the transaction object, without applying it.
+         * Clear the transaction object, without applying it. The transction ID is preserved.
          *
          * @hide
          */
@@ -3375,6 +3393,9 @@
          * If two siblings share the same Z order the ordering is undefined. Surfaces
          * with a negative Z will be placed below the parent surface.
          *
+         * Calling setLayer after setRelativeLayer will reset the relative layer
+         * in the same transaction.
+         *
          * @param sc The SurfaceControl to set the Z order on
          * @param z The Z-order
          * @return This Transaction.
@@ -3392,6 +3413,22 @@
         }
 
         /**
+         * Set the Z-order for a given SurfaceControl, relative to the specified SurfaceControl.
+         * The SurfaceControl with a negative z will be placed below the relativeTo
+         * SurfaceControl and the SurfaceControl with a positive z will be placed above the
+         * relativeTo SurfaceControl.
+         *
+         * Calling setLayer will reset the relative layer. Calling setRelativeLayer after setLayer
+         * will override the setLayer call.
+         *
+         * If a layer is set to be relative to a layer that is destroyed, the layer will be
+         * offscreen until setLayer is called or setRelativeLayer is called with a valid
+         * SurfaceControl.
+         *
+         * @param sc The SurfaceControl to set the Z order on
+         * @param relativeTo The SurfaceControl to set the Z order relative to
+         * @param z The Z-order
+         * @return This Transaction.
          * @hide
          */
         public Transaction setRelativeLayer(SurfaceControl sc, SurfaceControl relativeTo, int z) {
@@ -3405,6 +3442,9 @@
         }
 
         /**
+         * The hint from the buffer producer as to what portion of the layer is
+         * transparent.
+         *
          * @hide
          */
         public Transaction setTransparentRegionHint(SurfaceControl sc, Region transparentRegion) {
@@ -3438,6 +3478,10 @@
         }
 
         /**
+         * Sets the input channel for a given SurfaceControl. The position and order of the
+         * SurfaceControl in conjunction with the touchable region in the InputWindowHandle
+         * determines the hit region.
+         *
          * @hide
          */
         public Transaction setInputWindowInfo(SurfaceControl sc, InputWindowHandle handle) {
@@ -3549,6 +3593,8 @@
          * surface. If no crop is specified and the surface has no buffer, the surface bounds is
          * only constrained by the size of its parent bounds.
          *
+         * To unset the crop, pass in an invalid Rect (0, 0, -1, -1)
+         *
          * @param sc   SurfaceControl to set crop of.
          * @param crop Bounds of the crop to apply.
          * @hide
@@ -3578,6 +3624,8 @@
          * surface. If no crop is specified and the surface has no buffer, the surface bounds is
          * only constrained by the size of its parent bounds.
          *
+         * To unset the crop, pass in an invalid Rect (0, 0, -1, -1)
+         *
          * @param sc   SurfaceControl to set crop of.
          * @param crop Bounds of the crop to apply.
          * @return this This transaction for chaining
@@ -3625,6 +3673,8 @@
          * surface. If no crop is specified and the surface has no buffer, the surface bounds is
          * only constrained by the size of its parent bounds.
          *
+         * To unset the crop, pass in an invalid Rect (0, 0, -1, -1)
+         *
          * @param sc   SurfaceControl to set crop of.
          * @param crop Bounds of the crop to apply.
          * @return this This transaction for chaining
@@ -3643,7 +3693,12 @@
         }
 
         /**
-         * Sets the corner radius of a {@link SurfaceControl}.
+         * Sets the corner radius of a {@link SurfaceControl}. This corner radius is applied to the
+         * SurfaceControl and its children. The API expects a crop to be set on the SurfaceControl
+         * to ensure that the corner radius is applied to the correct region. If the crop does not
+         * intersect with the SurfaceControl's visible content, the corner radius will not be
+         * applied.
+         *
          * @param sc SurfaceControl
          * @param cornerRadius Corner radius in pixels.
          * @return Itself.
@@ -3753,6 +3808,9 @@
         }
 
         /**
+         * Associates a layer with a display. The layer will be drawn on the display with the
+         * specified layer stack. If the layer is not a root layer, this call has no effect.
+         *
          * @hide
          */
         @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.O)
@@ -3791,6 +3849,7 @@
 
         /**
          * Fills the surface with the specified color.
+         *
          * @param color A float array with three values to represent r, g, b in range [0..1]. An
          * invalid color will remove the color fill.
          * @hide
@@ -3809,8 +3868,9 @@
 
         /**
          * Removes color fill.
-        * @hide
-        */
+         *
+         * @hide
+         */
         public Transaction unsetColor(SurfaceControl sc) {
             checkPreconditions(sc);
             if (SurfaceControlRegistry.sCallStackDebuggingEnabled) {
@@ -3898,6 +3958,8 @@
         }
 
         /**
+         * Sets the surface to render contents of the display to.
+         *
          * @hide
          */
         public Transaction setDisplaySurface(IBinder displayToken, Surface surface) {
@@ -3916,6 +3978,9 @@
         }
 
         /**
+         * Sets the layer stack of the display.
+         *
+         * All layers with the same layer stack will be drawn on this display.
          * @hide
          */
         public Transaction setDisplayLayerStack(IBinder displayToken, int layerStack) {
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java
index dd32947..b98f4db 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -16,6 +16,7 @@
 
 package android.view;
 
+import static android.view.flags.Flags.FLAG_DEPRECATE_SURFACE_VIEW_Z_ORDER_APIS;
 import static android.view.flags.Flags.FLAG_SURFACE_VIEW_GET_SURFACE_PACKAGE;
 import static android.view.flags.Flags.FLAG_SURFACE_VIEW_SET_COMPOSITION_ORDER;
 import static android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
@@ -812,7 +813,12 @@
      * window is attached to the window manager.
      *
      * <p>Calling this overrides any previous call to {@link #setZOrderOnTop}.
+     *
+     * @deprecated Use {@link #setCompositionOrder(int)} instead. It provides more
+     * control over the Z ordering behavior.
      */
+    @Deprecated
+    @FlaggedApi(FLAG_DEPRECATE_SURFACE_VIEW_Z_ORDER_APIS)
     public void setZOrderMediaOverlay(boolean isMediaOverlay) {
         mRequestedSubLayer = isMediaOverlay
             ? APPLICATION_MEDIA_OVERLAY_SUBLAYER : APPLICATION_MEDIA_SUBLAYER;
@@ -834,7 +840,12 @@
      * <p>Calling this overrides any previous call to {@link #setZOrderMediaOverlay}.
      *
      * @param onTop Whether to show the surface on top of this view's window.
+     *
+     * @deprecated Use {@link #setCompositionOrder(int)} instead. It provides more
+     * control over the Z ordering behavior.
      */
+    @Deprecated
+    @FlaggedApi(FLAG_DEPRECATE_SURFACE_VIEW_Z_ORDER_APIS)
     public void setZOrderOnTop(boolean onTop) {
         // In R and above we allow dynamic layer changes.
         final boolean allowDynamicChange = getContext().getApplicationInfo().targetSdkVersion
@@ -866,7 +877,11 @@
      * @return Whether the Z ordering changed.
      *
      * @hide
+     *
+     * @deprecated Use {@link #setCompositionOrder(int)} instead. It provides more control
+     * over the Z ordering behavior.
      */
+    @Deprecated
     public boolean setZOrderedOnTop(boolean onTop, boolean allowDynamicChange) {
         final int subLayer;
         if (onTop) {
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index 93eed37..24647f4 100644
--- a/core/java/android/view/WindowManager.java
+++ b/core/java/android/view/WindowManager.java
@@ -1199,6 +1199,43 @@
             "android.window.PROPERTY_CAMERA_COMPAT_ENABLE_REFRESH_VIA_PAUSE";
 
     /**
+     * Application-level [PackageManager][android.content.pm.PackageManager.Property] tag that (when
+     * set to false) informs the system the app has opted out of the camera compatibility treatment
+     * for fixed-orientation apps, which simulates running on a portrait device, in the orientation
+     * requested by the app.
+     *
+     * <p>This treatment aims to mitigate camera issues on large screens, like stretched or sideways
+     * previews. It simulates running on a portrait device by:
+     * <ul>
+     *   <li>Letterboxing the app window,
+     *   <li>Cropping the camera buffer to match the app's requested orientation,
+     *   <li>Setting the camera sensor orientation to portrait.
+     *   <li>Setting the display rotation to match the app's requested orientation, given portrait
+     *       natural orientation,
+     *   <li>Refreshes the activity to trigger new camera setup, with sandboxed values.
+     * </ul>
+     *
+     * <p>To opt out of the camera compatibility treatment, add this property to your app manifest
+     * and set the value to {@code false}.
+     *
+     * <p>Not setting this property at all, or setting this property to {@code true} has no effect.
+     *
+     * <p><b>Syntax:</b>
+     * <pre>
+     * &lt;application&gt;
+     *   &lt;property
+     *     android:name="android.window.PROPERTY_CAMERA_COMPAT_ALLOW_SIMULATE_REQUESTED_ORIENTATION"
+     *     android:value="true|false"/&gt;
+     * &lt;/application&gt;
+     * </pre>
+     *
+     * @hide
+     */
+    //TODO(b/394590412): Make this property public.
+    String PROPERTY_CAMERA_COMPAT_ALLOW_SIMULATE_REQUESTED_ORIENTATION =
+            "android.window.PROPERTY_CAMERA_COMPAT_ALLOW_SIMULATE_REQUESTED_ORIENTATION";
+
+    /**
      * Application level {@link android.content.pm.PackageManager.Property PackageManager.Property}
      * for an app to inform the system that the app should be excluded from the compatibility
      * override for orientation set by the device manufacturer. When the orientation override is
diff --git a/core/java/android/view/flags/view_flags.aconfig b/core/java/android/view/flags/view_flags.aconfig
index f6fdec9..d06f885 100644
--- a/core/java/android/view/flags/view_flags.aconfig
+++ b/core/java/android/view/flags/view_flags.aconfig
@@ -129,6 +129,14 @@
 }
 
 flag {
+    name: "deprecate_surface_view_z_order_apis"
+    namespace: "window_surfaces"
+    description: "Deprecate SurfaceView z order control APIs."
+    bug: "341021569"
+    is_fixed_read_only: true
+}
+
+flag {
     name: "use_refactored_round_scrollbar"
     namespace: "wear_frameworks"
     description: "Use refactored round scrollbar."
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java
index 421001f..0b34600 100644
--- a/core/java/android/view/inputmethod/InputMethodManager.java
+++ b/core/java/android/view/inputmethod/InputMethodManager.java
@@ -532,6 +532,7 @@
     final H mH;
 
     // Our generic input connection if the current target does not have its own.
+    @NonNull
     private final RemoteInputConnectionImpl mFallbackInputConnection;
 
     private final int mDisplayId;
diff --git a/core/java/android/view/textclassifier/intent/OWNERS b/core/java/android/view/textclassifier/intent/OWNERS
index 3465fe6..dc18514 100644
--- a/core/java/android/view/textclassifier/intent/OWNERS
+++ b/core/java/android/view/textclassifier/intent/OWNERS
@@ -1,6 +1,5 @@
 # Bug component: 709498
 
-mns@google.com
 toki@google.com
 svetoslavganov@android.com
 svetoslavganov@google.com
diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java
index 0a5c14e..222a7b3 100644
--- a/core/java/android/widget/RemoteViews.java
+++ b/core/java/android/widget/RemoteViews.java
@@ -9216,6 +9216,7 @@
         public static RemoteResponse fromFillInIntent(@NonNull Intent fillIntent) {
             RemoteResponse response = new RemoteResponse();
             response.mFillIntent = fillIntent;
+            fillIntent.collectExtraIntentKeys();
             return response;
         }
 
@@ -9224,6 +9225,7 @@
             RemoteResponse response = new RemoteResponse();
             response.mPendingIntent = pendingIntent;
             response.mFillIntent = intent;
+            intent.collectExtraIntentKeys();
             return response;
         }
 
diff --git a/core/java/android/window/DesktopModeFlags.java b/core/java/android/window/DesktopModeFlags.java
index 4ba9738..4aeedbb 100644
--- a/core/java/android/window/DesktopModeFlags.java
+++ b/core/java/android/window/DesktopModeFlags.java
@@ -102,9 +102,14 @@
     ENABLE_HOLD_TO_DRAG_APP_HANDLE(Flags::enableHoldToDragAppHandle, true),
     ENABLE_MINIMIZE_BUTTON(Flags::enableMinimizeButton, true),
     ENABLE_MODALS_FULLSCREEN_WITH_PERMISSIONS(Flags::enableModalsFullscreenWithPermission, false),
+    ENABLE_OPAQUE_BACKGROUND_FOR_TRANSPARENT_WINDOWS(
+            Flags::enableOpaqueBackgroundForTransparentWindows, false),
+    ENABLE_QUICKSWITCH_DESKTOP_SPLIT_BUGFIX(Flags::enableQuickswitchDesktopSplitBugfix, true),
     ENABLE_RESIZING_METRICS(Flags::enableResizingMetrics, true),
     ENABLE_RESTORE_TO_PREVIOUS_SIZE_FROM_DESKTOP_IMMERSIVE(
             Flags::enableRestoreToPreviousSizeFromDesktopImmersive, true),
+    ENABLE_START_LAUNCH_TRANSITION_FROM_TASKBAR_BUGFIX(
+            Flags::enableStartLaunchTransitionFromTaskbarBugfix, true),
     ENABLE_TASKBAR_OVERFLOW(Flags::enableTaskbarOverflow, false),
     ENABLE_TASK_RESIZING_KEYBOARD_SHORTCUTS(Flags::enableTaskResizingKeyboardShortcuts, true),
     ENABLE_TASK_STACK_OBSERVER_IN_SHELL(Flags::enableTaskStackObserverInShell, true),
@@ -118,6 +123,8 @@
     ENABLE_WINDOWING_TRANSITION_HANDLERS_OBSERVERS(
             Flags::enableWindowingTransitionHandlersObservers, false),
     EXCLUDE_CAPTION_FROM_APP_BOUNDS(Flags::excludeCaptionFromAppBounds, false),
+    IGNORE_ASPECT_RATIO_RESTRICTIONS_FOR_RESIZEABLE_FREEFORM_ACTIVITIES(
+            Flags::ignoreAspectRatioRestrictionsForResizeableFreeformActivities, true),
     INCLUDE_TOP_TRANSPARENT_FULLSCREEN_TASK_IN_DESKTOP_HEURISTIC(
             Flags::includeTopTransparentFullscreenTaskInDesktopHeuristic, true)
     // go/keep-sorted end
diff --git a/core/java/android/window/TransitionFilter.java b/core/java/android/window/TransitionFilter.java
index 61fc622..d8d2011 100644
--- a/core/java/android/window/TransitionFilter.java
+++ b/core/java/android/window/TransitionFilter.java
@@ -31,8 +31,6 @@
 import android.os.Parcelable;
 import android.view.WindowManager;
 
-import com.android.window.flags.Flags;
-
 /**
  * A parcelable filter that can be used for rerouting transitions to a remote. This is a local
  * representation so that the transition system doesn't need to make blocking queries over
@@ -261,9 +259,7 @@
                         // only applies to activity/task
                         && (change.getTaskInfo() != null
                                 || change.getActivityComponent() != null)) {
-                    final TransitionInfo.AnimationOptions opts =
-                            Flags.moveAnimationOptionsToChange() ? change.getAnimationOptions()
-                                    : info.getAnimationOptions();
+                    final TransitionInfo.AnimationOptions opts = change.getAnimationOptions();
                     if (opts != null) {
                         boolean canActuallyOverride = change.getTaskInfo() == null
                                 || opts.getOverrideTaskTransition();
diff --git a/core/java/android/window/TransitionInfo.java b/core/java/android/window/TransitionInfo.java
index 4f34aa3..32175f1 100644
--- a/core/java/android/window/TransitionInfo.java
+++ b/core/java/android/window/TransitionInfo.java
@@ -57,8 +57,6 @@
 import android.view.SurfaceControl;
 import android.view.WindowManager;
 
-import com.android.window.flags.Flags;
-
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.ArrayList;
@@ -220,10 +218,6 @@
     private final ArrayList<Change> mChanges = new ArrayList<>();
     private final ArrayList<Root> mRoots = new ArrayList<>();
 
-    // TODO(b/327332488): Clean-up usages after the flag is fully enabled.
-    @Deprecated
-    private AnimationOptions mOptions;
-
     /** This is only a BEST-EFFORT id used for log correlation. DO NOT USE for any real work! */
     private int mDebugId = -1;
 
@@ -238,7 +232,6 @@
         mFlags = in.readInt();
         in.readTypedList(mChanges, Change.CREATOR);
         in.readTypedList(mRoots, Root.CREATOR);
-        mOptions = in.readTypedObject(AnimationOptions.CREATOR);
         mDebugId = in.readInt();
         mTrack = in.readInt();
     }
@@ -250,7 +243,6 @@
         dest.writeInt(mFlags);
         dest.writeTypedList(mChanges);
         dest.writeTypedList(mRoots, flags);
-        dest.writeTypedObject(mOptions, flags);
         dest.writeInt(mDebugId);
         dest.writeInt(mTrack);
     }
@@ -286,18 +278,6 @@
         mRoots.add(other);
     }
 
-    /**
-     * @deprecated Set {@link AnimationOptions} to change. This method is only used if
-     * {@link Flags#FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE} is disabled.
-     */
-    @Deprecated
-    public void setAnimationOptions(@Nullable AnimationOptions options) {
-        if (Flags.moveAnimationOptionsToChange()) {
-            return;
-        }
-        mOptions = options;
-    }
-
     public @TransitionType int getType() {
         return mType;
     }
@@ -360,16 +340,6 @@
     }
 
     /**
-     * @deprecated Use {@link Change#getAnimationOptions()} instead. This method is called only
-     * if {@link Flags#FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE} is disabled.
-     */
-    @Deprecated
-    @Nullable
-    public AnimationOptions getAnimationOptions() {
-        return mOptions;
-    }
-
-    /**
      * @return the list of {@link Change}s in this transition. The list is sorted top-to-bottom
      *         in Z (meaning index 0 is the top-most container).
      */
@@ -455,9 +425,6 @@
         StringBuilder sb = new StringBuilder();
         sb.append("{id=").append(mDebugId).append(" t=").append(transitTypeToString(mType))
                 .append(" f=0x").append(Integer.toHexString(mFlags)).append(" trk=").append(mTrack);
-        if (mOptions != null) {
-            sb.append(" opt=").append(mOptions);
-        }
         sb.append(" r=[");
         for (int i = 0; i < mRoots.size(); ++i) {
             if (i > 0) {
@@ -656,8 +623,6 @@
         for (int i = 0; i < mRoots.size(); ++i) {
             out.mRoots.add(mRoots.get(i).localRemoteCopy());
         }
-        // Doesn't have any native stuff, so no need for actual copy
-        out.mOptions = mOptions;
         return out;
     }
 
@@ -860,9 +825,6 @@
          * Sets {@link AnimationOptions} to override animation.
          */
         public void setAnimationOptions(@Nullable AnimationOptions options) {
-            if (!Flags.moveAnimationOptionsToChange()) {
-                return;
-            }
             mAnimationOptions = options;
         }
 
diff --git a/core/java/android/window/flags/lse_desktop_experience.aconfig b/core/java/android/window/flags/lse_desktop_experience.aconfig
index 8265d25..2e36e9a 100644
--- a/core/java/android/window/flags/lse_desktop_experience.aconfig
+++ b/core/java/android/window/flags/lse_desktop_experience.aconfig
@@ -206,6 +206,13 @@
 }
 
 flag {
+    name: "enable_camera_compat_for_desktop_windowing_opt_out_api"
+    namespace: "lse_desktop_experience"
+    description: "Introduces a developer API to opt-out of Camera Compat treatment for fixed-orientation apps in desktop windowing mode"
+    bug: "397165621"
+}
+
+flag {
     name: "enable_task_stack_observer_in_shell"
     namespace: "lse_desktop_experience"
     description: "Introduces a new observer in shell to track the task stack."
@@ -681,6 +688,16 @@
 }
 
 flag {
+  name: "enable_opaque_background_for_transparent_windows"
+  namespace: "lse_desktop_experience"
+  description: "Whether an opaque background should be forcefully set for windows with only transparent background."
+  bug: "397219542"
+  metadata {
+    purpose: PURPOSE_BUGFIX
+  }
+}
+
+flag {
     name: "enable_desktop_mode_through_dev_option"
     namespace: "lse_desktop_experience"
     description: "Enables support for desktop mode through developer options for devices eligible for desktop mode."
@@ -778,3 +795,20 @@
     description: "Show recent apps in the taskbar overflow."
     bug: "368119679"
 }
+
+flag {
+    name: "enable_projected_display_desktop_mode"
+    namespace: "lse_desktop_experience"
+    description: "Enable Desktop Mode on Projected Mode devices but constrained to the external display."
+    bug: "384568161"
+}
+
+flag {
+    name: "enable_persisting_density_scale_for_connected_displays"
+    namespace: "lse_desktop_experience"
+    description: "Enables persisting density scale on resolution change for connected displays."
+    bug: "392855657"
+    metadata {
+        purpose: PURPOSE_BUGFIX
+    }
+}
\ No newline at end of file
diff --git a/core/java/android/window/flags/windowing_sdk.aconfig b/core/java/android/window/flags/windowing_sdk.aconfig
index 54d0eef..6e45d3d 100644
--- a/core/java/android/window/flags/windowing_sdk.aconfig
+++ b/core/java/android/window/flags/windowing_sdk.aconfig
@@ -62,16 +62,6 @@
 
 flag {
     namespace: "windowing_sdk"
-     name: "move_animation_options_to_change"
-     description: "Move AnimationOptions from TransitionInfo to each Change"
-     bug: "327332488"
-     metadata {
-         purpose: PURPOSE_BUGFIX
-     }
-}
-
-flag {
-    namespace: "windowing_sdk"
     name: "rear_display_disable_force_desktop_system_decorations"
     description: "Block system decorations from being added to a rear display when desktop mode is forced"
     bug: "346103150"
diff --git a/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java b/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java
index a27eeb8..1281a78 100644
--- a/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java
+++ b/core/java/com/android/internal/accessibility/AccessibilityShortcutController.java
@@ -97,6 +97,8 @@
             new ComponentName("com.android.server.accessibility", "ReduceBrightColors");
     public static final ComponentName FONT_SIZE_COMPONENT_NAME =
             new ComponentName("com.android.server.accessibility", "FontSize");
+    public static final ComponentName AUTOCLICK_COMPONENT_NAME =
+            new ComponentName("com.android.server.accessibility", "Autoclick");
 
     // The component name for the sub setting of Accessibility button in Accessibility settings
     public static final ComponentName ACCESSIBILITY_BUTTON_COMPONENT_NAME =
@@ -163,7 +165,7 @@
             getFrameworkShortcutFeaturesMap() {
 
         if (sFrameworkShortcutFeaturesMap == null) {
-            Map<ComponentName, FrameworkFeatureInfo> featuresMap = new ArrayMap<>(4);
+            Map<ComponentName, FrameworkFeatureInfo> featuresMap = new ArrayMap<>(8);
             featuresMap.put(COLOR_INVERSION_COMPONENT_NAME,
                     new ToggleableFrameworkFeatureInfo(
                             Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED,
@@ -174,6 +176,11 @@
                             Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED,
                             "1" /* Value to enable */, "0" /* Value to disable */,
                             R.string.color_correction_feature_name));
+            featuresMap.put(AUTOCLICK_COMPONENT_NAME,
+                    new ToggleableFrameworkFeatureInfo(
+                            Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED,
+                            "1" /* Value to enable */, "0" /* Value to disable */,
+                            R.string.autoclick_feature_name));
             if (SUPPORT_ONE_HANDED_MODE) {
                 featuresMap.put(ONE_HANDED_COMPONENT_NAME,
                         new ToggleableFrameworkFeatureInfo(
diff --git a/core/java/com/android/internal/accessibility/dialog/AccessibilityTargetHelper.java b/core/java/com/android/internal/accessibility/dialog/AccessibilityTargetHelper.java
index b187eb4..6498c53 100644
--- a/core/java/com/android/internal/accessibility/dialog/AccessibilityTargetHelper.java
+++ b/core/java/com/android/internal/accessibility/dialog/AccessibilityTargetHelper.java
@@ -17,6 +17,7 @@
 package com.android.internal.accessibility.dialog;
 
 import static com.android.internal.accessibility.AccessibilityShortcutController.ACCESSIBILITY_HEARING_AIDS_COMPONENT_NAME;
+import static com.android.internal.accessibility.AccessibilityShortcutController.AUTOCLICK_COMPONENT_NAME;
 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;
@@ -214,6 +215,19 @@
                         Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED);
         targets.add(colorInversion);
 
+        // TODO(b/394683600): Update Icon with the autoclick asset.
+        final ToggleAllowListingFeatureTarget autoclick =
+                new ToggleAllowListingFeatureTarget(context,
+                        shortcutType,
+                        isShortcutContained(context, shortcutType,
+                                AUTOCLICK_COMPONENT_NAME.flattenToString()),
+                        AUTOCLICK_COMPONENT_NAME.flattenToString(),
+                        uid,
+                        context.getString(R.string.autoclick_feature_name),
+                        context.getDrawable(R.drawable.ic_accessibility_generic),
+                        Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED);
+        targets.add(autoclick);
+
         if (SUPPORT_ONE_HANDED_MODE) {
             final ToggleAllowListingFeatureTarget oneHandedMode =
                     new ToggleAllowListingFeatureTarget(context,
diff --git a/core/java/com/android/internal/app/MediaRouteControllerContentManager.java b/core/java/com/android/internal/app/MediaRouteControllerContentManager.java
index dc4caa3..3a8b94f 100644
--- a/core/java/com/android/internal/app/MediaRouteControllerContentManager.java
+++ b/core/java/com/android/internal/app/MediaRouteControllerContentManager.java
@@ -17,7 +17,12 @@
 package com.android.internal.app;
 
 import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.drawable.AnimationDrawable;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.StateListDrawable;
 import android.media.MediaRouter;
+import android.util.TypedValue;
 import android.view.View;
 import android.widget.LinearLayout;
 import android.widget.SeekBar;
@@ -35,9 +40,14 @@
      */
     public interface Delegate {
         /**
-         * Updates the title of the cast device
+         * Updates the title of the media route device
          */
-        void setCastDeviceTitle(CharSequence title);
+        void setMediaRouteDeviceTitle(CharSequence title);
+
+        /**
+         * Updates the icon of the media route device
+         */
+        void setMediaRouteDeviceIcon(Drawable icon);
 
         /**
          * Dismiss the UI to transition to a different workflow.
@@ -45,6 +55,7 @@
         void dismissView();
     }
 
+    private final Context mContext;
     private final Delegate mDelegate;
 
     // Time to wait before updating the volume when the user lets go of the seek bar
@@ -53,15 +64,25 @@
     private static final int VOLUME_UPDATE_DELAY_MILLIS = 250;
 
     private final MediaRouter mRouter;
+    private final MediaRouteControllerContentManager.MediaRouterCallback mCallback;
     private final MediaRouter.RouteInfo mRoute;
 
+    private Drawable mMediaRouteButtonDrawable;
+    private final int[] mMediaRouteConnectingState = { R.attr.state_checked, R.attr.state_enabled };
+    private final int[] mMediaRouteOnState = { R.attr.state_activated, R.attr.state_enabled };
+    private Drawable mCurrentIconDrawable;
+
+    private boolean mAttachedToWindow;
+
     private LinearLayout mVolumeLayout;
     private SeekBar mVolumeSlider;
     private boolean mVolumeSliderTouched;
 
     public MediaRouteControllerContentManager(Context context, Delegate delegate) {
+        mContext = context;
         mDelegate = delegate;
         mRouter = context.getSystemService(MediaRouter.class);
+        mCallback = new MediaRouteControllerContentManager.MediaRouterCallback();
         mRoute = mRouter.getSelectedRoute();
     }
 
@@ -70,7 +91,7 @@
      * given container view.
      */
     public void bindViews(View containerView) {
-        mDelegate.setCastDeviceTitle(mRoute.getName());
+        mDelegate.setMediaRouteDeviceTitle(mRoute.getName());
         mVolumeLayout = containerView.findViewById(R.id.media_route_volume_layout);
         mVolumeSlider = containerView.findViewById(R.id.media_route_volume_slider);
         mVolumeSlider.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@@ -108,20 +129,58 @@
                 }
             }
         });
+
+        mMediaRouteButtonDrawable = obtainMediaRouteButtonDrawable();
+    }
+
+    /**
+     * Called when this UI is attached to a window..
+     */
+    public void onAttachedToWindow() {
+        mAttachedToWindow = true;
+        mRouter.addCallback(0, mCallback, MediaRouter.CALLBACK_FLAG_UNFILTERED_EVENTS);
+        update();
+    }
+
+    /**
+     * Called when this UI is detached from a window..
+     */
+    public void onDetachedFromWindow() {
+        mRouter.removeCallback(mCallback);
+        mAttachedToWindow = false;
     }
 
     /**
      * Updates all the views to reflect new states.
      */
     public void update() {
-        mDelegate.setCastDeviceTitle(mRoute.getName());
+        if (!mRoute.isSelected() || mRoute.isDefault()) {
+            mDelegate.dismissView();
+        }
+
+        mDelegate.setMediaRouteDeviceTitle(mRoute.getName());
         updateVolume();
+
+        Drawable icon = getIconDrawable();
+        if (icon != mCurrentIconDrawable) {
+            mCurrentIconDrawable = icon;
+            if (icon instanceof AnimationDrawable animDrawable) {
+                if (!mAttachedToWindow && !mRoute.isConnecting()) {
+                    // When the route is already connected before the view is attached, show the
+                    // last frame of the connected animation immediately.
+                    if (animDrawable.isRunning()) {
+                        animDrawable.stop();
+                    }
+                    icon = animDrawable.getFrame(animDrawable.getNumberOfFrames() - 1);
+                } else if (!animDrawable.isRunning()) {
+                    animDrawable.start();
+                }
+            }
+            mDelegate.setMediaRouteDeviceIcon(icon);
+        }
     }
 
-    /**
-     * Updates the volume layout and slider.
-     */
-    public void updateVolume() {
+    private void updateVolume() {
         if (!mVolumeSliderTouched) {
             if (isVolumeControlAvailable()) {
                 mVolumeLayout.setVisibility(View.VISIBLE);
@@ -150,4 +209,61 @@
     private boolean isVolumeControlAvailable() {
         return mRoute.getVolumeHandling() == MediaRouter.RouteInfo.PLAYBACK_VOLUME_VARIABLE;
     }
+
+    private Drawable obtainMediaRouteButtonDrawable() {
+        TypedValue value = new TypedValue();
+        if (!mContext.getTheme().resolveAttribute(R.attr.mediaRouteButtonStyle, value, true)) {
+            return null;
+        }
+        int[] drawableAttrs = new int[] { R.attr.externalRouteEnabledDrawable };
+        TypedArray a = mContext.obtainStyledAttributes(value.data, drawableAttrs);
+        Drawable drawable = a.getDrawable(0);
+        a.recycle();
+        return drawable;
+    }
+
+    private Drawable getIconDrawable() {
+        if (!(mMediaRouteButtonDrawable instanceof StateListDrawable)) {
+            return mMediaRouteButtonDrawable;
+        } else if (mRoute.isConnecting()) {
+            StateListDrawable stateListDrawable = (StateListDrawable) mMediaRouteButtonDrawable;
+            stateListDrawable.setState(mMediaRouteConnectingState);
+            return stateListDrawable.getCurrent();
+        } else {
+            StateListDrawable stateListDrawable = (StateListDrawable) mMediaRouteButtonDrawable;
+            stateListDrawable.setState(mMediaRouteOnState);
+            return stateListDrawable.getCurrent();
+        }
+    }
+
+    private final class MediaRouterCallback extends MediaRouter.SimpleCallback {
+        @Override
+        public void onRouteUnselected(MediaRouter router, int type, MediaRouter.RouteInfo info) {
+            update();
+        }
+
+        @Override
+        public void onRouteChanged(MediaRouter router, MediaRouter.RouteInfo route) {
+            update();
+        }
+
+        @Override
+        public void onRouteVolumeChanged(MediaRouter router, MediaRouter.RouteInfo route) {
+            if (route == mRoute) {
+                updateVolume();
+            }
+        }
+
+        @Override
+        public void onRouteGrouped(MediaRouter router, MediaRouter.RouteInfo info,
+                MediaRouter.RouteGroup group, int index) {
+            update();
+        }
+
+        @Override
+        public void onRouteUngrouped(MediaRouter router, MediaRouter.RouteInfo info,
+                MediaRouter.RouteGroup group) {
+            update();
+        }
+    }
 }
diff --git a/core/java/com/android/internal/app/MediaRouteControllerDialog.java b/core/java/com/android/internal/app/MediaRouteControllerDialog.java
index 45a4a13..5899963 100644
--- a/core/java/com/android/internal/app/MediaRouteControllerDialog.java
+++ b/core/java/com/android/internal/app/MediaRouteControllerDialog.java
@@ -21,15 +21,9 @@
 import android.app.MediaRouteButton;
 import android.content.Context;
 import android.content.res.Resources;
-import android.content.res.TypedArray;
-import android.graphics.drawable.AnimationDrawable;
 import android.graphics.drawable.Drawable;
-import android.graphics.drawable.StateListDrawable;
 import android.media.MediaRouter;
-import android.media.MediaRouter.RouteGroup;
-import android.media.MediaRouter.RouteInfo;
 import android.os.Bundle;
-import android.util.TypedValue;
 import android.view.KeyEvent;
 import android.view.View;
 
@@ -48,19 +42,11 @@
  */
 public class MediaRouteControllerDialog extends AlertDialog implements
         MediaRouteControllerContentManager.Delegate {
-    // TODO(b/360050020): Eventually these 3 variables should be in the content manager instead of
+    // TODO(b/360050020): Eventually these 2 variables should be in the content manager instead of
     //  here. So these should be removed when the migration is completed.
     private final MediaRouter mRouter;
-    private final MediaRouterCallback mCallback;
     private final MediaRouter.RouteInfo mRoute;
 
-    private Drawable mMediaRouteButtonDrawable;
-    private int[] mMediaRouteConnectingState = { R.attr.state_checked, R.attr.state_enabled };
-    private int[] mMediaRouteOnState = { R.attr.state_activated, R.attr.state_enabled };
-    private Drawable mCurrentIconDrawable;
-
-    private boolean mAttachedToWindow;
-
     private final MediaRouteControllerContentManager mContentManager;
 
     public MediaRouteControllerDialog(Context context, int theme) {
@@ -68,7 +54,6 @@
 
         mContentManager = new MediaRouteControllerContentManager(context, this);
         mRouter = (MediaRouter) context.getSystemService(Context.MEDIA_ROUTER_SERVICE);
-        mCallback = new MediaRouterCallback();
         mRoute = mRouter.getSelectedRoute();
     }
 
@@ -87,24 +72,18 @@
             customPanelView.setMinimumHeight(0);
         }
 
-        mMediaRouteButtonDrawable = obtainMediaRouteButtonDrawable();
-        update();
+        mContentManager.update();
     }
 
     @Override
     public void onAttachedToWindow() {
         super.onAttachedToWindow();
-        mAttachedToWindow = true;
-
-        mRouter.addCallback(0, mCallback, MediaRouter.CALLBACK_FLAG_UNFILTERED_EVENTS);
-        update();
+        mContentManager.onAttachedToWindow();
     }
 
     @Override
     public void onDetachedFromWindow() {
-        mRouter.removeCallback(mCallback);
-        mAttachedToWindow = false;
-
+        mContentManager.onDetachedFromWindow();
         super.onDetachedFromWindow();
     }
 
@@ -128,95 +107,17 @@
     }
 
     @Override
-    public void setCastDeviceTitle(CharSequence title) {
+    public void setMediaRouteDeviceTitle(CharSequence title) {
         setTitle(title);
     }
 
     @Override
+    public void setMediaRouteDeviceIcon(Drawable icon) {
+        setIcon(icon);
+    }
+
+    @Override
     public void dismissView() {
         dismiss();
     }
-
-    private void update() {
-        if (!mRoute.isSelected() || mRoute.isDefault()) {
-            dismissView();
-        }
-
-        mContentManager.update();
-
-        Drawable icon = getIconDrawable();
-        if (icon != mCurrentIconDrawable) {
-            mCurrentIconDrawable = icon;
-            if (icon instanceof AnimationDrawable animDrawable) {
-                if (!mAttachedToWindow && !mRoute.isConnecting()) {
-                    // When the route is already connected before the view is attached, show the
-                    // last frame of the connected animation immediately.
-                    if (animDrawable.isRunning()) {
-                        animDrawable.stop();
-                    }
-                    icon = animDrawable.getFrame(animDrawable.getNumberOfFrames() - 1);
-                } else if (!animDrawable.isRunning()) {
-                    animDrawable.start();
-                }
-            }
-            setIcon(icon);
-        }
-    }
-
-    private Drawable obtainMediaRouteButtonDrawable() {
-        Context context = getContext();
-        TypedValue value = new TypedValue();
-        if (!context.getTheme().resolveAttribute(R.attr.mediaRouteButtonStyle, value, true)) {
-            return null;
-        }
-        int[] drawableAttrs = new int[] { R.attr.externalRouteEnabledDrawable };
-        TypedArray a = context.obtainStyledAttributes(value.data, drawableAttrs);
-        Drawable drawable = a.getDrawable(0);
-        a.recycle();
-        return drawable;
-    }
-
-    private Drawable getIconDrawable() {
-        if (!(mMediaRouteButtonDrawable instanceof StateListDrawable)) {
-            return mMediaRouteButtonDrawable;
-        } else if (mRoute.isConnecting()) {
-            StateListDrawable stateListDrawable = (StateListDrawable) mMediaRouteButtonDrawable;
-            stateListDrawable.setState(mMediaRouteConnectingState);
-            return stateListDrawable.getCurrent();
-        } else {
-            StateListDrawable stateListDrawable = (StateListDrawable) mMediaRouteButtonDrawable;
-            stateListDrawable.setState(mMediaRouteOnState);
-            return stateListDrawable.getCurrent();
-        }
-    }
-
-    private final class MediaRouterCallback extends MediaRouter.SimpleCallback {
-        @Override
-        public void onRouteUnselected(MediaRouter router, int type, RouteInfo info) {
-            update();
-        }
-
-        @Override
-        public void onRouteChanged(MediaRouter router, MediaRouter.RouteInfo route) {
-            update();
-        }
-
-        @Override
-        public void onRouteVolumeChanged(MediaRouter router, MediaRouter.RouteInfo route) {
-            if (route == mRoute) {
-                mContentManager.updateVolume();
-            }
-        }
-
-        @Override
-        public void onRouteGrouped(MediaRouter router, RouteInfo info, RouteGroup group,
-                int index) {
-            update();
-        }
-
-        @Override
-        public void onRouteUngrouped(MediaRouter router, RouteInfo info, RouteGroup group) {
-            update();
-        }
-    }
 }
diff --git a/core/java/com/android/internal/os/LongArrayMultiStateCounter.java b/core/java/com/android/internal/os/LongArrayMultiStateCounter.java
index fe616e0..5e9c87a 100644
--- a/core/java/com/android/internal/os/LongArrayMultiStateCounter.java
+++ b/core/java/com/android/internal/os/LongArrayMultiStateCounter.java
@@ -16,6 +16,7 @@
 
 package com.android.internal.os;
 
+import android.annotation.CheckResult;
 import android.annotation.Nullable;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -196,7 +197,8 @@
     /**
      * Populates the array with the accumulated counts for the specified state.
      */
-    public void getCounts(long[] counts, int state) {
+    @CheckResult
+    public boolean getCounts(long[] counts, int state) {
         if (state < 0 || state >= mStateCount) {
             throw new IllegalArgumentException(
                     "State: " + state + ", outside the range: [0-" + mStateCount + "]");
@@ -205,7 +207,7 @@
             throw new IllegalArgumentException(
                     "Invalid array length: " + counts.length + ", expected: " + mLength);
         }
-        native_getCounts(mNativeObject, counts, state);
+        return native_getCounts(mNativeObject, counts, state);
     }
 
     @Override
@@ -282,7 +284,8 @@
 
     @FastNative
     @RavenwoodRedirect
-    private static native void native_getCounts(long nativeObject, long[] counts, int state);
+    @CheckResult
+    private static native boolean native_getCounts(long nativeObject, long[] counts, int state);
 
     @FastNative
     @RavenwoodRedirect
diff --git a/core/java/com/android/internal/os/LongArrayMultiStateCounter_ravenwood.java b/core/java/com/android/internal/os/LongArrayMultiStateCounter_ravenwood.java
index 4f5f37d..403e8c1 100644
--- a/core/java/com/android/internal/os/LongArrayMultiStateCounter_ravenwood.java
+++ b/core/java/com/android/internal/os/LongArrayMultiStateCounter_ravenwood.java
@@ -168,8 +168,20 @@
             }
         }
 
-        public void getValues(long[] values, int state) {
-            System.arraycopy(mStates[state].mCounter, 0, values, 0, mArrayLength);
+        public boolean getValues(long[] values, int state) {
+            long[] counts = mStates[state].mCounter;
+            boolean allZeros = true;
+            for (int i = 0; i < counts.length; i++) {
+                if (counts[i] != 0) {
+                    allZeros = false;
+                    break;
+                }
+            }
+            if (allZeros) {
+                return false;
+            }
+            System.arraycopy(counts, 0, values, 0, mArrayLength);
+            return true;
         }
 
         public void reset() {
@@ -316,8 +328,8 @@
         getInstance(instanceId).addCounts(counts);
     }
 
-    public static void native_getCounts(long instanceId, long[] counts, int state) {
-        getInstance(instanceId).getValues(counts, state);
+    public static boolean native_getCounts(long instanceId, long[] counts, int state) {
+        return getInstance(instanceId).getValues(counts, state);
     }
 
     public static void native_reset(long instanceId) {
diff --git a/core/jni/Android.bp b/core/jni/Android.bp
index 06702e2..92a841f 100644
--- a/core/jni/Android.bp
+++ b/core/jni/Android.bp
@@ -76,6 +76,9 @@
     srcs: [
         "android_animation_PropertyValuesHolder.cpp",
         "android_content_res_ApkAssets.cpp",
+        "android_media_ImageReader.cpp",
+        "android_media_PublicFormatUtils.cpp",
+        "android_media_Utils.cpp",
         "android_os_SystemClock.cpp",
         "android_os_SystemProperties.cpp",
         "android_text_AndroidCharacter.cpp",
@@ -134,10 +137,7 @@
                 "android_app_ActivityThread.cpp",
                 "android_app_NativeActivity.cpp",
                 "android_app_admin_SecurityLog.cpp",
-                "android_media_ImageReader.cpp",
                 "android_media_ImageWriter.cpp",
-                "android_media_PublicFormatUtils.cpp",
-                "android_media_Utils.cpp",
                 "android_opengl_EGL14.cpp",
                 "android_opengl_EGL15.cpp",
                 "android_opengl_EGLExt.cpp",
@@ -489,6 +489,7 @@
                 "libsqlite",
                 "libgui_window_info_static",
                 "libbinder",
+                "libbinder_ndk",
                 "libhidlbase", // libhwbinder is in here
             ],
             version_script: "platform/linux/libandroid_runtime_export.txt",
diff --git a/core/jni/android_graphics_BLASTBufferQueue.cpp b/core/jni/android_graphics_BLASTBufferQueue.cpp
index a526783..1a7490e6 100644
--- a/core/jni/android_graphics_BLASTBufferQueue.cpp
+++ b/core/jni/android_graphics_BLASTBufferQueue.cpp
@@ -26,6 +26,7 @@
 #include <nativehelper/JNIHelp.h>
 #include <utils/Log.h>
 #include <utils/RefBase.h>
+#include <utils/StrongPointer.h>
 
 #include "core_jni_helpers.h"
 
@@ -124,7 +125,7 @@
 static jlong nativeCreate(JNIEnv* env, jclass clazz, jstring jName,
                           jboolean updateDestinationFrame) {
     ScopedUtfChars name(env, jName);
-    sp<BLASTBufferQueue> queue = new BLASTBufferQueue(name.c_str(), updateDestinationFrame);
+    sp<BLASTBufferQueue> queue = sp<BLASTBufferQueue>::make(name.c_str(), updateDestinationFrame);
     queue->incStrong((void*)nativeCreate);
     return reinterpret_cast<jlong>(queue.get());
 }
diff --git a/core/jni/android_media_ImageReader.cpp b/core/jni/android_media_ImageReader.cpp
index 20b9c57..a34cb39 100644
--- a/core/jni/android_media_ImageReader.cpp
+++ b/core/jni/android_media_ImageReader.cpp
@@ -25,13 +25,22 @@
 #include <android_runtime/android_view_Surface.h>
 #include <com_android_graphics_libgui_flags.h>
 #include <cutils/atomic.h>
+#ifdef __ANDROID__
 #include <grallocusage/GrallocUsageConversion.h>
+#else
+#define GRALLOC_USAGE_PROTECTED 0
+#define GRALLOC_USAGE_SW_READ_OFTEN 0
+#define GRALLOC_USAGE_SW_WRITE_OFTEN 0
+#endif
 #include <gui/BufferItemConsumer.h>
 #include <gui/Surface.h>
 #include <inttypes.h>
 #include <jni.h>
+#include <jni_wrappers.h>
 #include <nativehelper/JNIHelp.h>
+#ifdef __ANDROID__
 #include <private/android/AHardwareBufferHelpers.h>
+#endif
 #include <stdint.h>
 #include <ui/Rect.h>
 #include <utils/List.h>
@@ -393,8 +402,12 @@
     String8 consumerName = String8::format("ImageReader-%dx%df%xm%d-%d-%d",
             width, height, nativeHalFormat, maxImages, getpid(),
             createProcessUniqueId());
+#ifdef __ANDROID__
     uint64_t consumerUsage =
             android_hardware_HardwareBuffer_convertToGrallocUsageBits(ndkUsage);
+#else
+    uint64_t consumerUsage = 0;
+#endif
 
 #if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
     sp<BufferItemConsumer> bufferConsumer = new BufferItemConsumer(consumerUsage, maxImages,
@@ -773,6 +786,7 @@
     return true;
 }
 
+#ifdef __ANDROID__
 static void ImageReader_unlockGraphicBuffer(JNIEnv* env, jobject /*thiz*/,
         jobject buffer) {
     sp<GraphicBuffer> graphicBuffer =
@@ -856,6 +870,7 @@
 
     return imagePlanes;
 }
+#endif
 
 static jobjectArray Image_createSurfacePlanes(JNIEnv* env, jobject thiz,
         int numPlanes, int halReaderFormat, uint64_t ndkReaderUsage)
@@ -964,6 +979,7 @@
     }
 }
 
+#ifdef __ANDROID__
 static jobject Image_getHardwareBuffer(JNIEnv* env, jobject thiz) {
     BufferItem* buffer = Image_getBufferItem(env, thiz);
     if (buffer == nullptr) {
@@ -976,45 +992,48 @@
     // to link against libandroid.so
     return android_hardware_HardwareBuffer_createFromAHardwareBuffer(env, b);
 }
+#endif
 
 } // extern "C"
 
 // ----------------------------------------------------------------------------
 
-static const JNINativeMethod gImageReaderMethods[] = {
-    {"nativeClassInit",        "()V",                        (void*)ImageReader_classInit },
-    {"nativeInit",             "(Ljava/lang/Object;IIIJII)V",   (void*)ImageReader_init },
-    {"nativeClose",            "()V",                        (void*)ImageReader_close },
-    {"nativeReleaseImage",     "(Landroid/media/Image;)V",   (void*)ImageReader_imageRelease },
-    {"nativeImageSetup",       "(Landroid/media/Image;)I",   (void*)ImageReader_imageSetup },
-    {"nativeGetSurface",       "()Landroid/view/Surface;",   (void*)ImageReader_getSurface },
-    {"nativeDetachImage",      "(Landroid/media/Image;Z)I",   (void*)ImageReader_detachImage },
-    {"nativeCreateImagePlanes",
-        "(ILandroid/graphics/GraphicBuffer;IIIIII)[Landroid/media/ImageReader$ImagePlane;",
-                                                             (void*)ImageReader_createImagePlanes },
-    {"nativeUnlockGraphicBuffer",
-        "(Landroid/graphics/GraphicBuffer;)V",             (void*)ImageReader_unlockGraphicBuffer },
-    {"nativeDiscardFreeBuffers", "()V",                      (void*)ImageReader_discardFreeBuffers }
-};
+static const JNINativeMethod gImageReaderMethods[] =
+        {{"nativeClassInit", "()V", (void*)ImageReader_classInit},
+         {"nativeInit", "(Ljava/lang/Object;IIIJII)V", (void*)ImageReader_init},
+         {"nativeClose", "()V", (void*)ImageReader_close},
+         {"nativeReleaseImage", "(Landroid/media/Image;)V", (void*)ImageReader_imageRelease},
+         {"nativeImageSetup", "(Landroid/media/Image;)I", (void*)ImageReader_imageSetup},
+         {"nativeGetSurface", "()Landroid/view/Surface;", (void*)ImageReader_getSurface},
+         {"nativeDetachImage", "(Landroid/media/Image;Z)I", (void*)ImageReader_detachImage},
+#ifdef __ANDROID__
+         {"nativeCreateImagePlanes",
+          "(ILandroid/graphics/GraphicBuffer;IIIIII)[Landroid/media/ImageReader$ImagePlane;",
+          (void*)ImageReader_createImagePlanes},
+         {"nativeUnlockGraphicBuffer", "(Landroid/graphics/GraphicBuffer;)V",
+          (void*)ImageReader_unlockGraphicBuffer},
+#endif
+         {"nativeDiscardFreeBuffers", "()V", (void*)ImageReader_discardFreeBuffers}};
 
 static const JNINativeMethod gImageMethods[] = {
-    {"nativeCreatePlanes",      "(IIJ)[Landroid/media/ImageReader$SurfaceImage$SurfacePlane;",
-                                                             (void*)Image_createSurfacePlanes },
-    {"nativeGetWidth",          "()I",                       (void*)Image_getWidth },
-    {"nativeGetHeight",         "()I",                       (void*)Image_getHeight },
-    {"nativeGetFormat",         "(I)I",                      (void*)Image_getFormat },
-    {"nativeGetFenceFd",        "()I",                       (void*)Image_getFenceFd },
-    {"nativeGetHardwareBuffer", "()Landroid/hardware/HardwareBuffer;",
-                                                             (void*)Image_getHardwareBuffer },
+        {"nativeCreatePlanes", "(IIJ)[Landroid/media/ImageReader$SurfaceImage$SurfacePlane;",
+         (void*)Image_createSurfacePlanes},
+        {"nativeGetWidth", "()I", (void*)Image_getWidth},
+        {"nativeGetHeight", "()I", (void*)Image_getHeight},
+        {"nativeGetFormat", "(I)I", (void*)Image_getFormat},
+        {"nativeGetFenceFd", "()I", (void*)Image_getFenceFd},
+#ifdef __ANDROID__
+        {"nativeGetHardwareBuffer", "()Landroid/hardware/HardwareBuffer;",
+         (void*)Image_getHardwareBuffer},
+#endif
 };
 
 int register_android_media_ImageReader(JNIEnv *env) {
+    int ret1 = RegisterMethodsOrDie(env, "android/media/ImageReader", gImageReaderMethods,
+                                    NELEM(gImageReaderMethods));
 
-    int ret1 = AndroidRuntime::registerNativeMethods(env,
-                   "android/media/ImageReader", gImageReaderMethods, NELEM(gImageReaderMethods));
-
-    int ret2 = AndroidRuntime::registerNativeMethods(env,
-                   "android/media/ImageReader$SurfaceImage", gImageMethods, NELEM(gImageMethods));
+    int ret2 = RegisterMethodsOrDie(env, "android/media/ImageReader$SurfaceImage", gImageMethods,
+                                    NELEM(gImageMethods));
 
     return (ret1 || ret2);
 }
diff --git a/core/jni/android_media_PublicFormatUtils.cpp b/core/jni/android_media_PublicFormatUtils.cpp
index 04494ad..bcdf654 100644
--- a/core/jni/android_media_PublicFormatUtils.cpp
+++ b/core/jni/android_media_PublicFormatUtils.cpp
@@ -16,10 +16,10 @@
 
 #define LOG_TAG "PublicFormatUtils_JNI"
 
-#include <utils/misc.h>
-#include <ui/PublicFormat.h>
-#include <android_runtime/AndroidRuntime.h>
 #include <jni.h>
+#include <jni_wrappers.h>
+#include <ui/PublicFormat.h>
+#include <utils/misc.h>
 
 using namespace android;
 
@@ -53,7 +53,6 @@
 };
 
 int register_android_media_PublicFormatUtils(JNIEnv *env) {
-    return AndroidRuntime::registerNativeMethods(env,
-             "android/media/PublicFormatUtils", gMethods, NELEM(gMethods));
+    return RegisterMethodsOrDie(env, "android/media/PublicFormatUtils", gMethods, NELEM(gMethods));
 }
 
diff --git a/core/jni/android_media_Utils.cpp b/core/jni/android_media_Utils.cpp
index e8f8644..e484141 100644
--- a/core/jni/android_media_Utils.cpp
+++ b/core/jni/android_media_Utils.cpp
@@ -19,10 +19,12 @@
 
 #include "android_media_Utils.h"
 
+#ifdef __ANDROID__ // Layoutlib does not support hardware
 #include <aidl/android/hardware/graphics/common/PixelFormat.h>
 #include <aidl/android/hardware/graphics/common/PlaneLayoutComponentType.h>
 #include <ui/GraphicBufferMapper.h>
 #include <ui/GraphicTypes.h>
+#endif
 #include <utils/Log.h>
 
 #define ALIGN(x, mask) ( ((x) + (mask) - 1) & ~((mask) - 1) )
@@ -34,7 +36,13 @@
 
 // -----------Utility functions used by ImageReader/Writer JNI-----------------
 
+#ifdef __ANDROID__
 using AidlPixelFormat = aidl::android::hardware::graphics::common::PixelFormat;
+#else
+namespace AidlPixelFormat {
+const int32_t YCBCR_P210 = 60;
+}
+#endif
 
 enum {
     IMAGE_MAX_NUM_PLANES = 3,
@@ -517,6 +525,7 @@
     return OK;
 }
 
+#ifdef __ANDROID__
 static status_t extractP010Gralloc4PlaneLayout(
         sp<GraphicBuffer> buffer, void *pData, int format, LockedImage *outputImage) {
     using aidl::android::hardware::graphics::common::PlaneLayoutComponent;
@@ -663,6 +672,7 @@
     outputImage->chromaStep = 4;
     return OK;
 }
+#endif
 
 status_t lockImageFromBuffer(sp<GraphicBuffer> buffer, uint32_t inUsage,
         const Rect& rect, int fenceFd, LockedImage* outputImage) {
@@ -701,6 +711,7 @@
             ALOGE("Lock buffer failed!");
             return res;
         }
+#ifdef __ANDROID__
         if (isPossibly10BitYUV(format)) {
             if (format == HAL_PIXEL_FORMAT_YCBCR_P010 &&
                 OK == extractP010Gralloc4PlaneLayout(buffer, pData, format, outputImage)) {
@@ -713,6 +724,7 @@
                 return OK;
             }
         }
+#endif
     }
 
     outputImage->data = reinterpret_cast<uint8_t*>(pData);
diff --git a/core/jni/com_android_internal_os_LongArrayMultiStateCounter.cpp b/core/jni/com_android_internal_os_LongArrayMultiStateCounter.cpp
index 8f36ecb..7d94ef8 100644
--- a/core/jni/com_android_internal_os_LongArrayMultiStateCounter.cpp
+++ b/core/jni/com_android_internal_os_LongArrayMultiStateCounter.cpp
@@ -116,17 +116,26 @@
     counter->reset();
 }
 
-static void native_getCounts(JNIEnv *env, jclass, jlong nativePtr, jlongArray values, jint state) {
+static bool native_getCounts(JNIEnv *env, jclass, jlong nativePtr, jlongArray values, jint state) {
     auto *counter = reinterpret_cast<LongArrayMultiStateCounter *>(nativePtr);
-    ScopedLongArrayRW scopedArray(env, values);
     auto *data = counter->getCount(state).data();
-    auto size = env->GetArrayLength(values);
-    auto *outData = scopedArray.get();
     if (data == nullptr) {
-        memset(outData, 0, size * sizeof(uint64_t));
-    } else {
-        memcpy(outData, data, size * sizeof(uint64_t));
+        return false;
     }
+    auto size = env->GetArrayLength(values);
+    bool allZeros = true;
+    for (int i = 0; i < size; i++) {
+        if (data[i]) {
+            allZeros = false;
+            break;
+        }
+    }
+    if (allZeros) {
+        return false;
+    }
+    ScopedLongArrayRW scopedArray(env, values);
+    memcpy(scopedArray.get(), data, size * sizeof(uint64_t));
+    return true;
 }
 
 static jobject native_toString(JNIEnv *env, jclass, jlong nativePtr) {
@@ -255,7 +264,7 @@
         // @CriticalNative
         {"native_reset", "(J)V", (void *)native_reset},
         // @FastNative
-        {"native_getCounts", "(J[JI)V", (void *)native_getCounts},
+        {"native_getCounts", "(J[JI)Z", (void *)native_getCounts},
         // @FastNative
         {"native_toString", "(J)Ljava/lang/String;", (void *)native_toString},
         // @FastNative
diff --git a/core/jni/jni_wrappers.h b/core/jni/jni_wrappers.h
index e3e17ee..1f44994 100644
--- a/core/jni/jni_wrappers.h
+++ b/core/jni/jni_wrappers.h
@@ -22,6 +22,8 @@
 #include <log/log.h>
 #include <nativehelper/JNIHelp.h>
 
+#include <string>
+
 namespace android {
 
 static inline jclass FindClassOrDie(JNIEnv* env, const char* class_name) {
diff --git a/core/jni/platform/host/HostRuntime.cpp b/core/jni/platform/host/HostRuntime.cpp
index 1a03283..746740b 100644
--- a/core/jni/platform/host/HostRuntime.cpp
+++ b/core/jni/platform/host/HostRuntime.cpp
@@ -48,6 +48,8 @@
  * (see AndroidRuntime.cpp).
  */
 
+extern int register_android_media_ImageReader(JNIEnv* env);
+extern int register_android_media_PublicFormatUtils(JNIEnv* env);
 extern int register_android_os_Binder(JNIEnv* env);
 extern int register_libcore_util_NativeAllocationRegistry(JNIEnv* env);
 
@@ -126,6 +128,10 @@
         {"android.database.sqlite.SQLiteDebug", REG_JNI(register_android_database_SQLiteDebug)},
         {"android.database.sqlite.SQLiteRawStatement",
          REG_JNI(register_android_database_SQLiteRawStatement)},
+#endif
+        {"android.media.ImageReader", REG_JNI(register_android_media_ImageReader)},
+        {"android.media.PublicFormatUtils", REG_JNI(register_android_media_PublicFormatUtils)},
+#ifdef __linux__
         {"android.os.Binder", REG_JNI(register_android_os_Binder)},
         {"android.os.FileObserver", REG_JNI(register_android_os_FileObserver)},
         {"android.os.MessageQueue", REG_JNI(register_android_os_MessageQueue)},
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index 78526ad..ee6899c 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -7759,7 +7759,17 @@
          @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies")
          @hide -->
     <permission android:name="android.permission.READ_BLOCKED_NUMBERS"
-                android:protectionLevel="signature" />
+                android:protectionLevel="signature"
+                android:featureFlag="!android.permission.flags.grant_read_blocked_numbers_to_system_ui_intelligence" />
+
+    <!-- Allows the holder to read blocked numbers. See
+         {@link android.provider.BlockedNumberContract}.
+         @SystemApi
+         @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies")
+         @hide -->
+    <permission android:name="android.permission.READ_BLOCKED_NUMBERS"
+                android:protectionLevel="signature|role"
+                android:featureFlag="android.permission.flags.grant_read_blocked_numbers_to_system_ui_intelligence" />
 
     <!-- Allows the holder to write blocked numbers. See
          {@link android.provider.BlockedNumberContract}.
diff --git a/core/res/res/color-night/surface_effect_2_color.xml b/core/res/res/color-night/surface_effect_2_color.xml
new file mode 100644
index 0000000..6485017
--- /dev/null
+++ b/core/res/res/color-night/surface_effect_2_color.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2025 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="@android:color/system_accent1_100"
+          android:alpha="0.15"/>
+</selector>
diff --git a/core/res/res/color-night/surface_effect_3_color.xml b/core/res/res/color-night/surface_effect_3_color.xml
new file mode 100644
index 0000000..a7a7f8d
--- /dev/null
+++ b/core/res/res/color-night/surface_effect_3_color.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2025 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="@android:color/system_accent1_100"
+          android:alpha="0.10"/>
+</selector>
diff --git a/core/res/res/color/surface_effect_2_color.xml b/core/res/res/color/surface_effect_2_color.xml
new file mode 100644
index 0000000..91c8409
--- /dev/null
+++ b/core/res/res/color/surface_effect_2_color.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2025 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="@android:color/system_accent1_0"
+          android:alpha="0.32"/>
+</selector>
diff --git a/core/res/res/color/surface_effect_3_color.xml b/core/res/res/color/surface_effect_3_color.xml
new file mode 100644
index 0000000..d766a32
--- /dev/null
+++ b/core/res/res/color/surface_effect_3_color.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2025 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT 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="@android:color/system_accent1_600"
+          android:alpha="0.15"/>
+</selector>
diff --git a/core/res/res/layout/notification_2025_template_collapsed_call.xml b/core/res/res/layout/notification_2025_template_collapsed_call.xml
index f1729b3..ee691e4 100644
--- a/core/res/res/layout/notification_2025_template_collapsed_call.xml
+++ b/core/res/res/layout/notification_2025_template_collapsed_call.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?><!--
-  ~ Copyright (C) 2024 The Android Open Source Project
+  ~ Copyright (C) 2025 The Android Open Source Project
   ~
   ~ Licensed under the Apache License, Version 2.0 (the "License");
   ~ you may not use this file except in compliance with the License.
@@ -25,55 +25,177 @@
     android:theme="@style/Theme.DeviceDefault.Notification"
     >
 
-    <!-- CallLayout shares visual appearance with ConversationLayout, so shares layouts -->
-    <include layout="@layout/notification_2025_conversation_icon_container" />
-
     <LinearLayout
-        xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:minHeight="@dimen/notification_2025_min_height"
-        android:orientation="horizontal"
+        android:clipChildren="false"
+        android:orientation="vertical"
         >
 
-        <LinearLayout
-            android:id="@+id/notification_main_column"
+        <com.android.internal.widget.NotificationMaxHeightFrameLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:layout_marginStart="@dimen/notification_2025_content_margin_start"
-            android:orientation="vertical"
-            android:paddingBottom="@dimen/notification_2025_margin"
+            android:minHeight="@dimen/notification_2025_min_height"
+            android:clipChildren="false"
             >
 
-            <include
-                layout="@layout/notification_template_conversation_header"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
+            <ImageView
+                android:id="@+id/left_icon"
+                android:layout_width="@dimen/notification_2025_left_icon_size"
+                android:layout_height="@dimen/notification_2025_left_icon_size"
+                android:layout_alignParentStart="true"
+                android:layout_margin="@dimen/notification_2025_margin"
+                android:background="@drawable/notification_large_icon_outline"
+                android:clipToOutline="true"
+                android:importantForAccessibility="no"
+                android:scaleType="centerCrop"
+                android:visibility="gone"
                 />
 
-            <include layout="@layout/notification_template_text"
-                android:layout_height="wrap_content"
-                android:minHeight="@dimen/notification_text_height"
+            <!-- CallLayout shares visual appearance with ConversationLayout, so shares layouts -->
+            <include layout="@layout/notification_2025_conversation_icon_container" />
+
+            <FrameLayout
+                android:id="@+id/alternate_expand_target"
+                android:layout_width="@dimen/notification_2025_content_margin_start"
+                android:layout_height="match_parent"
+                android:layout_gravity="start"
+                android:importantForAccessibility="no"
+                android:focusable="false"
                 />
 
+            <LinearLayout
+                android:id="@+id/notification_headerless_view_row"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginStart="@dimen/notification_2025_content_margin_start"
+                android:orientation="horizontal"
+                android:clipChildren="false"
+                >
+
+                <LinearLayout
+                    android:id="@+id/notification_headerless_view_column"
+                    android:layout_width="0px"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center_vertical"
+                    android:layout_weight="1"
+                    android:layout_marginBottom="@dimen/notification_2025_margin"
+                    android:layout_marginTop="@dimen/notification_2025_margin"
+                    android:clipChildren="false"
+                    android:orientation="vertical"
+                    >
+
+                    <NotificationTopLineView
+                        android:id="@+id/notification_top_line"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:minHeight="@dimen/notification_headerless_line_height"
+                        android:clipChildren="false"
+                        android:theme="@style/Theme.DeviceDefault.Notification"
+                        >
+
+                        <!--
+                        NOTE: The notification_2025_top_line_views layout contains the app_name_text.
+                        In order to include the title view at the beginning, the Notification.Builder
+                        has logic to hide that view whenever this title view is to be visible.
+                        -->
+
+                        <TextView
+                            android:id="@+id/title"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginEnd="@dimen/notification_header_separating_margin"
+                            android:ellipsize="end"
+                            android:fadingEdge="horizontal"
+                            android:singleLine="true"
+                            android:textAlignment="viewStart"
+                            android:textAppearance="@style/TextAppearance.DeviceDefault.Notification.Title"
+                            />
+
+                        <include layout="@layout/notification_2025_top_line_views" />
+
+                    </NotificationTopLineView>
+
+                    <LinearLayout
+                        android:id="@+id/notification_main_column"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:orientation="vertical"
+                        android:clipChildren="false"
+                        >
+                        <com.android.internal.widget.NotificationVanishingFrameLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:minHeight="@dimen/notification_headerless_line_height"
+                            >
+                            <!-- This is the simplest way to keep this text vertically centered without
+                             gravity="center_vertical" which causes jumpiness in expansion animations. -->
+                            <include
+                                layout="@layout/notification_2025_text"
+                                android:layout_width="match_parent"
+                                android:layout_height="@dimen/notification_text_height"
+                                android:layout_gravity="center_vertical"
+                                android:layout_marginTop="0dp"
+                                />
+                        </com.android.internal.widget.NotificationVanishingFrameLayout>
+                    </LinearLayout>
+
+                </LinearLayout>
+
+                <ImageView
+                    android:id="@+id/right_icon"
+                    android:layout_width="@dimen/notification_right_icon_size"
+                    android:layout_height="@dimen/notification_right_icon_size"
+                    android:layout_gravity="center_vertical|end"
+                    android:layout_marginTop="@dimen/notification_right_icon_headerless_margin"
+                    android:layout_marginBottom="@dimen/notification_right_icon_headerless_margin"
+                    android:layout_marginStart="@dimen/notification_right_icon_content_margin"
+                    android:background="@drawable/notification_large_icon_outline"
+                    android:clipToOutline="true"
+                    android:importantForAccessibility="no"
+                    android:scaleType="centerCrop"
+                    />
+
+                <FrameLayout
+                    android:id="@+id/expand_button_touch_container"
+                    android:layout_width="wrap_content"
+                    android:layout_height="match_parent"
+                    android:minWidth="@dimen/notification_content_margin_end"
+                    >
+
+                    <include layout="@layout/notification_2025_expand_button"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="top|end"
+                        />
+
+                </FrameLayout>
+
+            </LinearLayout>
+
+            <include layout="@layout/notification_close_button"
+                android:id="@+id/close_button"
+                android:layout_width="@dimen/notification_close_button_size"
+                android:layout_height="@dimen/notification_close_button_size"
+                android:layout_gravity="top|end" />
+
+        </com.android.internal.widget.NotificationMaxHeightFrameLayout>
+
+        <LinearLayout
+            android:id="@+id/notification_action_list_margin_target"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="-20dp"
+            android:clipChildren="false"
+            android:orientation="vertical">
+            <include layout="@layout/notification_template_smart_reply_container"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/notification_content_margin"
+                android:layout_marginStart="@dimen/notification_2025_content_margin_start"
+                android:layout_marginEnd="@dimen/notification_content_margin_end" />
+            <include layout="@layout/notification_material_action_list" />
         </LinearLayout>
-
-        <FrameLayout
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:minWidth="@dimen/notification_content_margin_end"
-            >
-
-            <include
-                layout="@layout/notification_2025_expand_button"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="top|end"
-                />
-
-        </FrameLayout>
-
     </LinearLayout>
 
 </com.android.internal.widget.CallLayout>
diff --git a/core/res/res/layout/notification_2025_template_expanded_call.xml b/core/res/res/layout/notification_2025_template_expanded_call.xml
index 2114831..bbc2966 100644
--- a/core/res/res/layout/notification_2025_template_expanded_call.xml
+++ b/core/res/res/layout/notification_2025_template_expanded_call.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
-  ~ Copyright (C) 2024 The Android Open Source Project
+  ~ Copyright (C) 2025 The Android Open Source Project
   ~
   ~ Licensed under the Apache License, Version 2.0 (the "License");
   ~ you may not use this file except in compliance with the License.
@@ -27,83 +27,47 @@
     >
 
     <!-- CallLayout shares visual appearance with ConversationLayout, so shares layouts -->
-    <include layout="@layout/notification_2025_conversation_icon_container" />
+    <include layout="@layout/notification_2025_conversation_header"/>
 
-    <LinearLayout
+    <com.android.internal.widget.RemeasuringLinearLayout
         android:id="@+id/notification_action_list_margin_target"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginBottom="@dimen/notification_content_margin"
-        android:orientation="vertical"
-        >
+        android:layout_gravity="top"
+        android:clipChildren="false"
+        android:orientation="vertical">
 
-        <LinearLayout
+        <!-- Note: the top margin is being set in code based on the estimated space needed for
+        the header text. -->
+        <com.android.internal.widget.RemeasuringLinearLayout
+            android:id="@+id/notification_main_column"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
+            android:layout_gravity="top"
             android:layout_weight="1"
-            android:orientation="horizontal"
-            >
-
-            <LinearLayout
-                android:id="@+id/notification_main_column"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="@dimen/notification_2025_content_margin_start"
-                android:layout_weight="1"
-                android:orientation="vertical"
-                android:minHeight="68dp"
-                >
-
-                <include
-                    layout="@layout/notification_template_conversation_header"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    />
-
-                <include layout="@layout/notification_template_text_multiline" />
-
-                <include
-                    android:layout_width="match_parent"
-                    android:layout_height="@dimen/notification_progress_bar_height"
-                    android:layout_marginTop="@dimen/notification_progress_margin_top"
-                    layout="@layout/notification_template_progress"
-                    />
-            </LinearLayout>
-
-            <FrameLayout
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:minWidth="@dimen/notification_content_margin_end"
-                >
-
-                <include
-                    layout="@layout/notification_expand_button"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    />
-
-            </FrameLayout>
-
-        </LinearLayout>
-
-        <ViewStub
-            android:layout="@layout/notification_material_reply_text"
-            android:id="@+id/notification_material_reply_container"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            />
-
-        <include
-            layout="@layout/notification_template_smart_reply_container"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
             android:layout_marginStart="@dimen/notification_2025_content_margin_start"
             android:layout_marginEnd="@dimen/notification_content_margin_end"
+            android:orientation="vertical"
+            android:clipChildren="false"
+            >
+
+            <include layout="@layout/notification_template_part_line1"/>
+
+            <include layout="@layout/notification_template_text_multiline" />
+
+        </com.android.internal.widget.RemeasuringLinearLayout>
+
+        <include layout="@layout/notification_template_smart_reply_container"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/notification_content_margin"
-            />
+            android:layout_marginStart="@dimen/notification_2025_content_margin_start"
+            android:layout_marginEnd="@dimen/notification_content_margin_end" />
 
         <include layout="@layout/notification_material_action_list" />
 
-    </LinearLayout>
+    </com.android.internal.widget.RemeasuringLinearLayout>
+
+    <include layout="@layout/notification_template_right_icon" />
 
 </com.android.internal.widget.CallLayout>
diff --git a/core/res/res/layout/notification_2025_template_header.xml b/core/res/res/layout/notification_2025_template_header.xml
index 5aae678..72b3798 100644
--- a/core/res/res/layout/notification_2025_template_header.xml
+++ b/core/res/res/layout/notification_2025_template_header.xml
@@ -59,7 +59,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentStart="true"
-        android:layout_toStartOf="@id/expand_button_container"
+        android:layout_toStartOf="@id/expand_button"
         android:layout_alignWithParentIfMissing="true"
         android:layout_marginVertical="@dimen/notification_2025_margin"
         android:clipChildren="false"
@@ -81,30 +81,12 @@
         android:focusable="false"
         />
 
-
-    <LinearLayout
-        android:id="@+id/expand_button_container"
+    <include layout="@layout/notification_2025_expand_button"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_alignParentEnd="true"
-        android:orientation="vertical"
-        >
-        <FrameLayout
-            android:id="@+id/expand_button_spacer"
-            android:layout_width="@dimen/notification_2025_expand_button_pill_width"
-            android:layout_height="@dimen/notification_2025_expand_button_pill_height"
-            android:layout_centerVertical="true"
-            android:layout_alignParentEnd="true"
-            android:layout_margin="@dimen/notification_2025_margin"
-            android:visibility="gone" />
+        android:layout_gravity="top|end"
+        android:layout_alignParentEnd="true" />
 
-        <include layout="@layout/notification_2025_expand_button"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="top|end"
-            android:layout_alignParentEnd="true" />
-
-    </LinearLayout>
     <include layout="@layout/notification_close_button"
         android:id="@+id/close_button"
         android:layout_width="@dimen/notification_close_button_size"
diff --git a/core/res/res/layout/notification_2025_top_line_views.xml b/core/res/res/layout/notification_2025_top_line_views.xml
index a9bde9d..7431c42 100644
--- a/core/res/res/layout/notification_2025_top_line_views.xml
+++ b/core/res/res/layout/notification_2025_top_line_views.xml
@@ -108,6 +108,42 @@
         android:visibility="gone"
         />
 
+    <TextView
+        android:id="@+id/verification_divider"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:textAppearance="@style/TextAppearance.DeviceDefault.Notification.Info"
+        android:layout_marginStart="@dimen/notification_header_separating_margin"
+        android:layout_marginEnd="@dimen/notification_header_separating_margin"
+        android:text="@string/notification_header_divider_symbol"
+        android:singleLine="true"
+        android:visibility="gone"
+        />
+
+    <ImageView
+        android:id="@+id/verification_icon"
+        android:layout_width="@dimen/notification_2025_badge_size"
+        android:layout_height="@dimen/notification_2025_badge_size"
+        android:layout_marginStart="@dimen/notification_header_separating_margin"
+        android:layout_marginEnd="@dimen/notification_header_separating_margin"
+        android:baseline="@dimen/notification_2025_badge_baseline"
+        android:scaleType="fitCenter"
+        android:visibility="gone"
+        />
+
+    <TextView
+        android:id="@+id/verification_text"
+        android:textAppearance="@style/TextAppearance.DeviceDefault.Notification.Info"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="@dimen/notification_header_separating_margin"
+        android:layout_marginEnd="@dimen/notification_header_separating_margin"
+        android:layout_weight="100"
+        android:showRelative="true"
+        android:singleLine="true"
+        android:visibility="gone"
+        />
+
     <ImageButton
         android:id="@+id/feedback"
         android:layout_width="@dimen/notification_feedback_size"
diff --git a/core/res/res/layout/notification_template_header.xml b/core/res/res/layout/notification_template_header.xml
index b7fd737..5795936 100644
--- a/core/res/res/layout/notification_template_header.xml
+++ b/core/res/res/layout/notification_template_header.xml
@@ -62,7 +62,7 @@
         android:layout_height="match_parent"
         android:layout_alignParentStart="true"
         android:layout_centerVertical="true"
-        android:layout_toStartOf="@id/expand_button_container"
+        android:layout_toStartOf="@id/expand_button"
         android:layout_alignWithParentIfMissing="true"
         android:clipChildren="false"
         android:gravity="center_vertical"
@@ -83,28 +83,12 @@
         android:focusable="false"
         />
 
-    <LinearLayout
-        android:id="@+id/expand_button_container"
+    <include layout="@layout/notification_expand_button"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_alignParentEnd="true"
-        android:orientation="vertical"
-        >
-        <FrameLayout
-            android:id="@+id/expand_button_spacer"
-            android:layout_width="@dimen/notification_expand_button_pill_height"
-            android:layout_height="@dimen/notification_header_height"
-            android:layout_centerVertical="true"
-            android:layout_alignParentEnd="true"
-            android:layout_marginHorizontal="16dp"
-            android:visibility="gone" />
+        android:layout_centerVertical="true"
+        android:layout_alignParentEnd="true" />
 
-        <include layout="@layout/notification_expand_button"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_centerVertical="true"
-            android:layout_alignParentEnd="true" />
-    </LinearLayout>
     <include layout="@layout/notification_close_button"
         android:id="@+id/close_button"
         android:layout_width="@dimen/notification_close_button_size"
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index 788d5f7..3203195 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"toegang te verkry tot sensordata oor jou lewenstekens"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Kennisgewings"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"wys kennisgewings"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"UR-nasporingdata"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"toegang tot UR-data oor jou en die omgewing rondom jou te verkry"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"sensitiewe UR-nasporingdata"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"toegang tot sensitiewe nasporingdata, soos oogblik, te verkry"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Venster-inhoud ophaal"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Die inhoud ondersoek van \'n venster waarmee jy interaksie het."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Verken-met-raak aanskakel"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Laat die app toe om jou fotoversameling te wysig."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"lees liggings in jou mediaversameling"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Laat die app toe om liggings in jou mediaversameling te lees."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"jou benaderde oogblik na te spoor"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Laat die app toe om jou benaderde oogblik na te spoor."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"waar jy kyk na te spoor"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Gee die app toegang tot presiese oogblikdata."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"jou gesig na te spoor"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Gee die app toegang tot gesignasporingdata."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"jou hande na te spoor"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Gee die app toegang tot handbewegingnasporingdata."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"jou kop na te spoor"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Gee die app toegang tot kopsporingdata."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"jou onmiddellike omgewing te verstaan"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Gee die app toegang tot nasporingdata oor die omgewing direk rondom jou."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"jou onmiddellike omgewing in fyn detail te verstaan"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Gee die app toegang tot hoogs gedetailleerde spoordata oor die omgewing direk rondom jou."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"toegang tot UR-data te verkry terwyl dit nie op die voorgrond is nie"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Gee die app toegang tot UR-data terwyl dit nie in die voorgrond is nie."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Gebruik biometrie"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Gebruik biometrie of skermslot"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Verifieer dat dit jy is"</string>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index ca145e5..f4dabdb 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"ስለአስፈላጊ ምልክቶችዎ ያሉ የዳሳሽ ውሂብ ይድረሱ"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"ማሳወቂያዎች"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"ማሳወቂያዎች አሳይ"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR የመከታተያ ውሂብ"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"ስለ እርስዎ እና በዙሪያዎ ስላለው አካባቢ XR ውሂብ ይድረሱ"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"ልዩ ጥንቃቄ የሚያስፈልገው XR የመከታተያ ውሂብ"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"እንደ የዓይን ትኩረት ያለ ልዩ ጥንቃቄ የሚያስፈልገው የመከታተያ ውሂብ ይድረሱ"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"የመስኮት ይዘት ሰርስረው ያውጡ"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"መስተጋበር የሚፈጥሩት የመስኮት ይዘት ይመርምሩ።"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"በመንካት ያስሱን ያብሩ"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"መተግበሪያው የፎቶ ስብስብዎን እንዲቀይረው ያስችለዋል።"</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"አካባቢዎችን ከሚዲያ ስብስብዎ ማንበብ"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"መተግበሪያው አካባቢዎችን ከሚዲያ ስብስብዎ እንዲያነብብ ያስችለዋል።"</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"የእርዎን ግምታዊ የዓይን ትኩረት ይከታተሉ"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"መተግበሪያው የእርስዎን ግምታዊ የዓይን ትኩረት እንዲከታተል ይፈቅዳል።"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"የሚመልከቱበትን ቦታ ይከታተሉ"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"መተግበሪያው ትክክለኛ የዓይን ትኩረት ውሂብን እንዲከታተል ይፈቅዳል።"</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"መልክዎን ይከታተሉ"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"መተግበሪያው የመልክ መከታተያ ውሂብን እንዲደርስ ይፈቅዳል።"</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"እጆችዎን ይከታተሉ"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"መተግበሪያው የእጅ ክትትል ውሂብን እንዲደርስ ይፈቅዳል።"</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"ጭንቅላትዎን ይከታተሉ"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"መተግበሪያው የጭንቅላት መከታተያ ውሂብን እንዲደርስ ይፈቅዳል።"</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"የእርስዎን ቅርብ አካባቢ ይረዱ"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"መተግበሪያው በቀጥታ በዙሪያዎ ስላለው አካባቢ ውሂብ መከታተልን እንዲደርስ ይፈቅዳል።"</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"የእርስዎን ቅርብ አካባቢ በከፍተኛ ዝርዝር ይረዱ"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"መተግበሪያው በቀጥታ በዙሪያዎ ስላለው አካባቢ በከፍተኛ ዝርዝር የመከታተያ ውሂብ እንዲደርስ ይፈቅዳል።"</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"የፊት ገፅ ውስጥ ሳይሆን ሳለ XR ውሂብ ይድረሱ"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"መተግበሪያው የፊት ገፅ ውስጥ ሳይሆን XR ውሂብ እንዲደርስ ይፈቅዳል።"</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"ባዮሜትሪኮችን ይጠቀሙ"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"ባዮሜትሪክስ ወይም ማያ ገፅ መቆለፊያን ይጠቀሙ"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"እርስዎን መሆንዎን ያረጋግጡ"</string>
diff --git a/core/res/res/values-as/strings.xml b/core/res/res/values-as/strings.xml
index 397afe2..2b9a20a 100644
--- a/core/res/res/values-as/strings.xml
+++ b/core/res/res/values-as/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"আপোনাৰ দেহৰ গুৰুত্বপূৰ্ণ অংগসমূহৰ অৱস্থাৰ বিষয়ে ছেন্সৰৰ ডেটা লাভ কৰিব পাৰে"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"জাননী"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"জাননী দেখুৱাওক"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR ট্ৰেকিং ডেটা"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"আপোনাৰ আৰু আপোনাৰ চৌপাশৰ পৰিৱেশ সম্পৰ্কীয় XR ডেটা এক্সেছ কৰা"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"সংবেদনশীল XR ট্ৰেকিং ডেটা"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"চকুৰ দৃষ্টিৰ দৰে সংবেদনশীল ট্ৰেকিং ডেটা এক্সেছ কৰা"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"ৱিণ্ড’ সমল বিচাৰি উলিওৱাৰ"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"আপুনি চাই থকা ৱিণ্ড’খনৰ সমল পৰীক্ষা কৰাৰ।"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"স্পৰ্শৰ দ্বাৰা অন্বেষণ কৰাৰ সুবিধা অন কৰাৰ"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"এপক আপোনাৰ ফট’ সংগ্ৰহ সালসলনি কৰিবলৈ দিয়ে।"</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"আপোনাৰ মিডিয়া সংগ্ৰহৰ অৱস্থান পঢ়িবলৈ"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"এপক আপোনাৰ মিডিয়া সংগ্ৰহৰ অৱস্থান পঢ়িবলৈ দিয়ে।"</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"আপোনাৰ আনুমানিক চকুৰ দৃষ্টি ট্ৰেক কৰা"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"এপ্‌টোক আপোনাৰ চকুৰ আনুমানিক দৃষ্টি ট্ৰেক কৰিবলৈ দিয়ে।"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"আপুনি কোনফালে চাই আছে সেয়া ট্ৰেক কৰা"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"এপ্‌টোক আপোনাৰ চকুৰ সঠিক দৃষ্টি সম্পৰ্কীয় ডেটা এক্সেছ কৰিবলৈ দিয়ে।"</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"আপোনাৰ মুখাৱয়ব ট্ৰেক কৰা"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"এপ্‌টোক মুখাৱয়ব ট্ৰেক কৰাৰ ডেটা এক্সেছ কৰিবলৈ দিয়ে।"</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"আপোনাৰ হাত ট্ৰেক কৰা"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"এপ্‌টোক হাতৰ ট্ৰেকিং সম্পৰ্কীয় ডেটা এক্সেছ কৰিবলৈ দিয়ে।"</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"আপোনাৰ মূৰ ট্ৰেক কৰা"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"এপ্‌টোক হে’ড ট্ৰেকিং সম্পৰ্কীয় ডেটা এক্সেছ কৰিবলৈ দিয়ে।"</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"আপোনাৰ একেবাৰেই আশ-পাশৰ পৰিৱেশ বুজা"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"এপ্‌টোক আপোনাৰ একেবাৰেই আশা-পাশৰ পৰিৱেশ সম্পৰ্কীয় ট্ৰেকিং ডেটা এক্সেছ কৰিবলৈ দিয়ে।"</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"বিস্তৃত সবিশেষৰ সৈতে আপোনাৰ একেবাৰেই আশ-পাশৰ পৰিৱেশ বুজা"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"এপ্‌টোক বিতং সবিশেষৰ সৈতে আপোনাৰ একেবাৰেই আশা-পাশৰ পৰিৱেশ সম্পৰ্কীয় ট্ৰেকিং ডেটা এক্সেছ কৰিবলৈ দিয়ে।"</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"অগ্ৰভূমিত নথকাৰ সময়ত XR ডেটা এক্সেছ কৰা"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"অগ্ৰভূমিত নথকাৰ সময়ত এপ্‌টোক XR ডেটা এক্সেছ কৰিবলৈ দিয়ে।"</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"বায়\'মেট্ৰিক ব্যৱহাৰ কৰক"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"বায়\'মেট্ৰিক অথবা স্ক্ৰীন লক ব্যৱহাৰ কৰক"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"এইয়া আপুনিয়েই বুলি সত্যাপন কৰক"</string>
diff --git a/core/res/res/values-az/strings.xml b/core/res/res/values-az/strings.xml
index 96c77e4..e5bfb29 100644
--- a/core/res/res/values-az/strings.xml
+++ b/core/res/res/values-az/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"Həyati əlamətlər haqqında sensor dataya daxil olun"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Bildirişlər"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"bildirişləri göstərmək"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR izləmə datası"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"siz və ətrafınızdakı mühit haqqında XR datasına giriş"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"həssas XR izləmə datası"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"baxış kimi həssas izləmə datasına giriş"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Pəncərənin məzmununu əldə edin"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Əlaqədə olduğunuz pəncərənin məzmununu nəzərdən keçirin."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Toxunuşla öyrənmə funksiyasını aktiv edin"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Tətbiqin foto kolleksiyanıza düzəliş etməsinə icazə verir."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"media kolleksiyanızdan məkanları oxuyun"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Tətbiqin media kolleksiyanızdan məkanları oxumasına icazə verin."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"təxmini baxışınızı izləmək"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Tətbiqə təxmini baxışınızı izləmək icazəsi verir."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"baxdığınız yeri izləmək"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Tətbiqə dəqiq baxış datasına daxil olmaq icazəsi verir."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"üzünüzü izləmək"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Tətbiqə üz izləmə datasına daxil olmaq icazəsi verir."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"əllərinizi izləmək"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Tətbiqə əl izləmə datasına daxil olmaq icazəsi verir."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"başınızı izləmək"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Tətbiqə baş izləmə datasına daxil olmaq icazəsi verir."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"yaxın ətrafınızı anlamaq"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Tətbiqə ətrafınızdakı mühit haqqında izləmə datasına daxil olmaq icazəsi verir."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"yaxın ətrafınızı yüksək detallarla anlamaq"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Tətbiqə çox yüksək detallar ilə ətrafınızdakı mühit haqqında izləmə datasına daxil olmaq icazəsi verir."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"ön planda olmadıqda XR datasına giriş"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Tətbiqə ön planda olmadıqda XR datasına daxil olmaq icazəsi verir."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Biometrik məlumatlardan istifadə edin"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Biometrik məlumatlardan və ya ekran kilidindən istifadə edin"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Kimliyinizi doğrulayın"</string>
diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml
index 6a68f8d..3e67233 100644
--- a/core/res/res/values-b+sr+Latn/strings.xml
+++ b/core/res/res/values-b+sr+Latn/strings.xml
@@ -354,14 +354,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"pristupa podacima senzora o vitalnim funkcijama"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Obaveštenja"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"prikazivanje obaveštenja"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"podaci o praćenju proširene stvarnosti"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"pristupa podacima proširene stvarnosti o vama i okruženju oko vas"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"osetljivi podaci o XR praćenju"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"pristupa osetljivim podacima o praćenju, na primer podacima o pogledu"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"da preuzima sadržaj prozora"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Proverava sadržaj prozora sa kojim ostvarujete interakciju."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"da uključi Istraživanja dodirom"</string>
@@ -657,38 +653,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Dozvoljava aplikaciji da menja kolekciju slika."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"čitanje lokacija iz medijske kolekcije"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Dozvoljava aplikaciji da čita lokacije iz medijske kolekcije."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"praćenje približnih podataka o pogledu"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Dozvoljava aplikaciji da prati približne podatke o pogledu."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"praćenje pogleda"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Dozvoljava aplikaciji da pristupa preciznim podacima o pogledu."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"praćenje lica"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Dozvoljava aplikaciji da pristupa podacima o praćenju lica."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"praćenje ruku"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Dozvoljava aplikaciji da pristupa podacima o praćenju ruku."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"praćenje glave"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Dozvoljava aplikaciji da pristupa podacima o praćenju glave."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"razumevanje neposrednog okruženja"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Dozvoljava aplikaciji da pristupa podacima o praćenju vašeg neposrednog okruženja."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"razumevanje neposrednog okruženja sa mnoštvom detalja"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Dozvoljava aplikaciji da pristupa podacima o praćenju vašeg neposrednog okruženja koji sadrže mnoštvo detalja."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"pristup podacima proširene stvarnosti kada nije u prvom planu"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Dozvoljava aplikaciji da pristupa podacima proširene stvarnosti kada nije u prvom planu."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Koristite biometriju"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Koristite biometriju ili otključavanje ekrana"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Potvrdite identitet"</string>
diff --git a/core/res/res/values-be/strings.xml b/core/res/res/values-be/strings.xml
index 69271ba..d01af94 100644
--- a/core/res/res/values-be/strings.xml
+++ b/core/res/res/values-be/strings.xml
@@ -355,14 +355,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"атрымліваць з датчыка даныя асноўных фізіялагічных паказчыкаў"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Апавяшчэнні"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"паказваць апавяшчэнні"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"даныя XR адсочвання"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"атрымліваць доступ да даных XR пра вас і ваша блізкае асяроддзе"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"канфідэнцыяльныя даныя XR адсочвання"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"атрымліваць доступ да канфідэнцыяльных даных адсочвання, напрыклад позірку"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Атрымліваць змесціва вакна"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Аналізаваць змесціва актыўнага вакна."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Уключаць Азнаямленне дотыкам"</string>
@@ -658,38 +654,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Праграма зможа змяняць фотакалекцыю."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"паказваць месцазнаходжанне ў калекцыі мультымедыя"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Праграма зможа паказваць месцазнаходжанне ў калекцыі мультымедыя."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"адсочваць прыблізны напрамак позірку"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Дазваляе праграме адсочваць прыблізны напрамак позірку."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"адсочваць, куды вы гледзіце"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Дазваляе праграме атрымліваць доступ да дакладных даных позірку."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"адсочваць рухі твару"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Дазваляе праграме атрымліваць доступ да даных адсочвання рухаў твару."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"адсочваць рухі рук"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Дазваляе праграме атрымліваць доступ да даных адсочвання рухаў рук."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"адсочваць рухі галавы"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Дазваляе праграме атрымліваць доступ да даных адсочвання рухаў галавы."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"счытваць ваша блізкае асяроддзе"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Дазваляе праграме атрымліваць доступ да даных адсочвання вашага блізкага асяроддзя."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"счытваць ваша блізкае асяроддзе з высокай дэталізацыяй"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Дазваляе праграме атрымліваць доступ да даных адсочвання вашага блізкага асяроддзя з вялікай дэталізацыяй."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"атрымліваць доступ да даных XR, калі праграма не ў актыўным рэжыме"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Дазваляе праграме атрымліваць доступ да даных XR, калі яна працуе не ў актыўным рэжыме."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Выкарыстоўваць біяметрыю"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Выкарыстоўваць біяметрыю ці блакіроўку экрана"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Спраўдзіце, што гэта вы"</string>
@@ -1846,7 +1826,7 @@
     <string name="hearing_device_notification_switch_button" msgid="3619524619430941300">"Пераключыцца"</string>
     <string name="hearing_device_notification_settings_button" msgid="6673651052880279178">"Налады"</string>
     <string name="user_switched" msgid="7249833311585228097">"Бягучы карыстальнік <xliff:g id="NAME">%1$s</xliff:g>."</string>
-    <string name="user_switching_message" msgid="1912993630661332336">"Пераход у рэжым \"<xliff:g id="NAME">%1$s</xliff:g>\"..."</string>
+    <string name="user_switching_message" msgid="1912993630661332336">"Пераключэнне на карыстальніка \"<xliff:g id="NAME">%1$s</xliff:g>\"…"</string>
     <string name="user_logging_out_message" msgid="7216437629179710359">"<xliff:g id="NAME">%1$s</xliff:g> выходзіць з сістэмы…"</string>
     <string name="owner_name" msgid="8713560351570795743">"Уладальнік"</string>
     <string name="guest_name" msgid="8502103277839834324">"Госць"</string>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index 1581ab8..0083dde 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"достъп до сензорните данни за жизнените ви показатели"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Известия"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"показване на известията"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"Данни за XR за проследяване"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"достъп до данните за XR за вас и заобикалящата ви среда"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"поверителни данни за XR за проследяване"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"достъп до поверителните данни за проследяване, като например погледа"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Извлича съдържанието от прозореца"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Инспектира съдържанието на прозорец, с който взаимодействате."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Включи изследването чрез докосване"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Разрешава на приложението да променя колекцията ви от снимки."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"да чете местоположенията от мултимедийната ви колекция"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Разрешава на приложението да чете местоположенията от мултимедийната ви колекция."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"проследяване на погледа ви с ниска точност"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Разрешава на приложението да проследява погледа ви с ниска точност."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"проследяване на погледа ви"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Разрешава на приложението да осъществява достъп до данните за погледа ви с висока точност."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"проследяване на лицето ви"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Разрешава на приложението да осъществява достъп до данните за проследяване на лицето."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"проследяване на ръцете ви"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Разрешава на приложението да осъществява достъп до данните за проследяване на ръцете."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"проследяване на движенията на главата ви"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Разрешава на приложението да осъществява достъп до данните за проследяване на движенията на главата."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"разбиране на заобикалящата ви среда"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Разрешава на приложението да осъществява достъп до данните за проследяване на заобикалящата ви среда."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"разпознаване на заобикалящата ви среда с висока детайлност"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Разрешава на приложението да осъществява достъп до данните за проследяване на заобикалящата ви среда с много висока детайлност."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"достъп до данните за XR, когато не е на преден план"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Разрешава на приложението да осъществява достъп до данните за XR, когато не е на преден план."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Използване на биометр. данни"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Използване на биометрични данни или опцията за заключване на екрана"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Потвърдете, че сте вие"</string>
diff --git a/core/res/res/values-bn/strings.xml b/core/res/res/values-bn/strings.xml
index c05ea6d..298be51 100644
--- a/core/res/res/values-bn/strings.xml
+++ b/core/res/res/values-bn/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"আপনার অত্যাবশ্যক লক্ষণগুলির সম্পর্কে সেন্সর ডেটা অ্যাক্সেস করে"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"বিজ্ঞপ্তি"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"বিজ্ঞপ্তি দেখুন"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR ট্র্যাকিং ডেটা"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"আপনার এবং আপনার চারপাশের পরিবেশ সম্পর্কে XR ডেটা অ্যাক্সেস করুন"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"সংবেদনশীল XR ট্র্যাকিং ডেটা"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"সংবেদনশীল ট্র্যাকিং ডেটা অ্যাক্সেস করুন, যেমন চোখের দৃষ্টি"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"উইন্ডোর কন্টেন্ট ফিরিয়ে আনুন"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"ব্যবহার করছেন এমন একটি উইন্ডোর কন্টেন্ট পরীক্ষা করে৷"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"স্পর্শের মাধ্যমে অন্বেষণ করা চালু করুন"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"অ্যাপকে আপনার ফটো সংগ্রহ পরিবর্তন করার অনুমতি দিন।"</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"ডিয়া সংগ্রহ থেকে লোকেশন দেখতে দিন"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"আপনার মিডিয়া সংগ্রহ থেকে লোকেশন দেখতে অ্যাপকে অনুমতি দিন।"</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"আপনার আনুমানিক চোখের দৃষ্টি ট্র্যাক করুন"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"অ্যাপটিকে আপনার আনুমানিক চোখের দৃষ্টি ট্র্যাক করার অনুমতি দেয়।"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"কোনদিকে দেখছেন তা ট্র্যাক করুন"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"অ্যাপটিকে আপনার চোখের দৃষ্টি সম্পর্কিত নির্দিষ্ট ডেটা অ্যাক্সেস করার অনুমতি দেয়।"</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"নিজের ফেস ট্র্যাক করুন"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"অ্যাপটিকে ফেস ট্র্যাকিং ডেটা অ্যাক্সেস করার অনুমতি দেয়।"</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"হাত ট্র্যাক করুন"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"অ্যাপটিকে হ্যান্ড ট্র্যাকিং ডেটা অ্যাক্সেস করার অনুমতি দেয়।"</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"আপনার মাথা ট্র্যাক করুন"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"অ্যাপটিকে হেড ট্র্যাকিং ডেটা অ্যাক্সেস করার অনুমতি দেয়।"</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"আপনার চারপাশের পরিবেশ সম্পর্কে বুঝুন"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"অ্যাপটিকে সরাসরি আপনার চারপাশের পরিবেশ সম্পর্কে ট্র্যাকিং ডেটা অ্যাক্সেস করার অনুমতি দেয়।"</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"সূক্ষ্ম বিশদ বিবরণ সহ আপনার চারপাশের পরিবেশ সম্পর্কে বুঝুন"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"অ্যাপটিকে সরাসরি আপনার চারপাশের পরিবেশ সম্পর্কে সূক্ষ্ম বিবরণ সহ ট্র্যাকিং ডেটা অ্যাক্সেস করার অনুমতি দেয়।"</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"ফোরগ্রাউন্ডে না থাকাকালীন XR ডেটা অ্যাক্সেস করুন"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"অ্যাপটিকে ফোরগ্রাউন্ডে না থাকাকালীন XR ডেটা অ্যাক্সেস করার অনুমতি দেয়।"</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"বায়োমেট্রিক্স ব্যবহার করুন"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"বায়োমেট্রিক্স অথবা স্ক্রিন লক ব্যবহার করুন"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"আপনার পরিচয় যাচাই করুন"</string>
diff --git a/core/res/res/values-bs/strings.xml b/core/res/res/values-bs/strings.xml
index ebef234..6a54f65 100644
--- a/core/res/res/values-bs/strings.xml
+++ b/core/res/res/values-bs/strings.xml
@@ -354,14 +354,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"pristupa podacima senzora o vašim vitalnim funkcijama"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Obavještenja"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"prikaz obavještenja"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"podaci o XR praćenju"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"pristup XR podacima o vama i vašoj okolini"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"osjetljivi podaci o XR praćenju"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"pristup osjetljivim podacima o praćenju, npr. praćenju pogleda"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"preuzimati sadržaj prozora"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Pregleda sadržaj prozora koji trenutno koristite."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"uključiti Istraživanje dodirom"</string>
@@ -657,38 +653,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Omogućava aplikaciji da mijenja vašu kolekciju fotografija."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"čitanje lokacija iz kolekcije medija"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Omogućava aplikaciji da čita lokacije iz vaše kolekcije medija."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"približno praćenje vašeg pogleda"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Dozvoljava aplikaciji da približno prati vaš pogled."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"praćenje u šta gledate"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Dozvoljava aplikaciji da pristupa preciznim podacima o pogledu."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"praćenje vašeg lica"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Dozvoljava aplikaciji da pristupa podacima o praćenju lica."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"praćenje vaših ruku"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Dozvoljava aplikaciji da pristupa podacima o praćenju ruku."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"praćenje položaja vaše glave"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Dozvoljava aplikaciji da pristupa podacima o praćenju položaja glave."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"utvrđivanje vaše neposredne okoline"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Dozvoljava aplikaciji da pristupa podacima o praćenju vaše neposredne okoline."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"veoma detaljno utvrđivanje vaše neposredne okoline"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Dozvoljava aplikaciji da pristupa podacima o veoma detaljnom praćenju vaše neposredne okoline."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"pristup XR podacima dok aplikacija nije u prvom planu"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Dozvoljava aplikaciji da pristupa XR podacima dok nije u prvom planu."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Koristi biometriju"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Koristi biometriju ili zaključavanje ekrana"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Potvrdite identitet"</string>
@@ -2187,7 +2167,7 @@
     <string name="etws_primary_default_message_tsunami" msgid="5828171463387976279">"Odmah se evakuirajte iz priobalnih područja i područja oko rijeka na sigurnije mjesto kao što su viši predjeli."</string>
     <string name="etws_primary_default_message_earthquake_and_tsunami" msgid="4888224011071875068">"Ostanite smireni i potražite sklonište u blizini."</string>
     <string name="etws_primary_default_message_test" msgid="4583367373909549421">"Test poruka za hitne slučajeve"</string>
-    <string name="notification_reply_button_accessibility" msgid="5235776156579456126">"Odgovori"</string>
+    <string name="notification_reply_button_accessibility" msgid="5235776156579456126">"Odgovorite"</string>
     <string name="etws_primary_default_message_others" msgid="7958161706019130739"></string>
     <string name="mmcc_authentication_reject" msgid="4891965994643876369">"SIM kartica nije dozvoljena za govor"</string>
     <string name="mmcc_imsi_unknown_in_hlr" msgid="227760698553988751">"SIM kartica nije dodijeljena za govor"</string>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index 6ddfeaf..63fbb07 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -354,14 +354,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"accedir a les dades del sensor sobre les constants vitals"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notificacions"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"mostra notificacions"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"dades de seguiment d\'XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"accedir a les dades d\'XR sobre tu i l\'entorn que t\'envolta"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"dades de seguiment d\'XR sensibles"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"accedir a les dades de seguiment sensibles, com ara la mirada"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Recuperar el contingut de la finestra"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Inspeccionar el contingut d\'una finestra amb què estàs interaccionant."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Activar Exploració tàctil"</string>
@@ -657,38 +653,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Permet que l\'aplicació modifiqui la teva col·lecció de fotos."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"llegir les ubicacions de les teves col·leccions multimèdia"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Permet que l\'aplicació llegeixi les ubicacions de les teves col·leccions multimèdia."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"seguir la teva mirada aproximada"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Permet que l\'aplicació segueixi la teva mirada aproximada."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"seguir on estàs mirant"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Permet que l\'aplicació accedeixi a les dades precises de la mirada."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"seguir la teva cara"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Permet que l\'aplicació accedeixi a les dades de seguiment de la cara."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"seguir les teves mans"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Permet que l\'aplicació accedeixi a les dades de seguiment de mans."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"seguir el teu cap"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Permet que l\'aplicació accedeixi a les dades de seguiment del cap."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"entendre l\'entorn que t\'envolta directament"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Permet que l\'aplicació accedeixi a les dades de seguiment de l\'entorn que t\'envolta directament."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"entendre l\'entorn que t\'envolta directament amb molt de detall"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Permet que l\'aplicació accedeixi a les dades de seguiment de l\'entorn que t\'envolta directament amb molt de detall."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"accedir a les dades d\'XR quan no s\'utilitzi en primer pla"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Permet que l\'aplicació accedeixi a les dades d\'XR quan no s\'utilitzi en primer pla."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Utilitza la biometria"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Fes servir la biometria o el bloqueig de pantalla"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Verifica la teva identitat"</string>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index 5e596fc..5d0edf3 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -355,14 +355,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"přístup k datům ze senzorů vašich životních funkcí"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Oznámení"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"zobrazovat oznámení"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"data pro rozšířenou realitu"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"přístup k datům o vás a okolním prostředí pro rozšířenou realitu"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"citlivá data pro rozšířenou realitu"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"přístup k citlivým datům o sledování, jako je například směr pohledu"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Načítat obsah oken"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Může prozkoumávat obsah oken, se kterými pracujete."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Zapnout funkci Prozkoumání dotykem"</string>
@@ -658,38 +654,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Umožňuje aplikaci upravit vaši sbírku fotek."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"čtení míst ze sbírky médií"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Umožňuje aplikaci číst místa z vaší sbírky médií."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"sledování přibližného směru pohledu"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Umožňuje aplikaci sledovat, kam se přibližně díváte."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"sledování, kam se díváte"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Umožňuje aplikaci přistupovat k přesným údajům o tom, kam se díváte."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"sledování obličeje"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Umožňuje aplikaci přistupovat k datům o sledování obličeje."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"sledování rukou"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Umožňuje aplikaci přistupovat k datům o sledování rukou."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"sledování hlavy"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Umožňuje aplikaci přistupovat k datům o sledování hlavy."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"porozumění bezprostřednímu okolí"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Umožňuje aplikaci přistupovat k datům o prostředí kolem vás."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"detailní porozumění bezprostřednímu okolí"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Umožňuje aplikaci přistupovat k velmi detailním datům o prostředí kolem vás."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"přístup k datům pro rozšířenou realitu na pozadí"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Umožňuje aplikaci přistupovat k datům pro rozšířenou reality, když není v popředí."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Použít biometrii"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Použít biometrii nebo zámek obrazovky"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Potvrďte, že jste to vy"</string>
@@ -2144,7 +2124,7 @@
     <string name="app_category_video" msgid="2590183854839565814">"Filmy a video"</string>
     <string name="app_category_image" msgid="7307840291864213007">"Fotky a obrázky"</string>
     <string name="app_category_social" msgid="2278269325488344054">"Sociální sítě a komunikace"</string>
-    <string name="app_category_news" msgid="1172762719574964544">"Zprávy a časopisy"</string>
+    <string name="app_category_news" msgid="1172762719574964544">"Noviny a časopisy"</string>
     <string name="app_category_maps" msgid="6395725487922533156">"Mapy a navigace"</string>
     <string name="app_category_productivity" msgid="1844422703029557883">"Produktivita"</string>
     <string name="app_category_accessibility" msgid="6643521607848547683">"Přístupnost"</string>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index 8cc1cfe..a853076 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"få adgang til sensordata om dine vitale værdier"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notifikationer"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"vise notifikationer"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR-sporingsdata"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"tilgå XR-data om dig og dine nærmeste omgivelser"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"følsomme XR-sporingsdata"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"tilgå følsomme sporingsdata, f.eks. øjenbevægelser"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Hente indholdet i vinduet"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Undersøge indholdet i et vindue, du interagerer med."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Aktivere Udforsk ved berøring"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Tillader, at appen kan ændre din billedsamling."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"læse lokationer fra din mediesamling"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Tillader, at appen kan læse lokationer fra din mediesamling."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"registrer dine omtrentlige øjenbevægelser"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Tillader, at appen registrerer dine omtrentlige øjenbevægelser."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"registrer, hvor du kigger hen"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Tillader, at appen kan få adgang til præcise data om øjenbevægelser."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"registrer dit ansigt"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Tillader, at appen kan få adgang til data om ansigtssporing."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"registrer dine hænder"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Tillader, at appen kan få adgang til data om registrering af håndbevægelser."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"registrer dit hoved"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Tillader, at appen kan få adgang til data om registrering af hovedbevægelser."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"forstå dine nærmeste omgivelser"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Tillader, at appen kan få adgang til sporingsdata om omgivelser i nærheden."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"forstå dine nærmeste omgivelser i detaljer"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Tillader, at appen kan få adgang til sporingsdata om omgivelser i nærheden med meget detaljerede oplysninger."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"tilgå XR-data, når appen ikke kører i forgrunden"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Tillader, at appen kan få adgang til XR-data, når den ikke kører i forgrunden."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Brug biometri"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Brug biometri eller skærmlås"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Verificer, at det er dig"</string>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index 7d5672b..81a331d 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"auf Sensordaten zu deinen Vitaldaten zugreifen"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Benachrichti­gun­gen"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"Benachrichtigungen anzeigen"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR-Trackingdaten"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"auf XR-Daten zu dir und deiner Umgebung zugreifen"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"sensible XR-Trackingdaten"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"auf sensible Trackingdaten wie Daten zu Blickbewegungen zugreifen"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Fensterinhalte abrufen"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Die Inhalte eines Fensters, mit dem du interagierst, werden abgerufen."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"\"Tippen &amp; Entdecken\" aktivieren"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Ermöglicht der App, deine Fotosammlung zu ändern."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"Standorte aus meiner Mediensammlung abrufen"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Ermöglicht der App, Standorte aus deiner Mediensammlung abzurufen."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"ungefähre Blickbewegungen erfassen"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Ermöglicht der App, deine ungefähren Blickbewegungen zu erfassen."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"erfassen, wo du gerade hinschaust"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Ermöglicht der App, auf präzise Daten zu Blickbewegungen zuzugreifen."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"Gesichtsbewegungen erfassen"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Ermöglicht der App, auf Daten zur Erfassung von Gesichtsbewegungen zuzugreifen."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"Handbewegungen erfassen"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Ermöglicht der App, auf Daten zur Erfassung von Handbewegungen zuzugreifen."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"Kopfbewegungen erfassen"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Ermöglicht der App, auf Daten zur Erfassung von Kopfbewegungen zuzugreifen."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"auf Daten zu deiner unmittelbaren Umgebung zugreifen"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Ermöglicht der App, auf Trackingdaten zu deiner unmittelbaren Umgebung zuzugreifen."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"auf sehr detaillierte Daten zu deiner unmittelbaren Umgebung zugreifen"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Ermöglicht der App, auf sehr detaillierte Trackingdaten zu deiner unmittelbaren Umgebung zuzugreifen."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"auf XR-Daten zugreifen, wenn die App im Hintergrund ausgeführt wird"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Ermöglicht der App, auf XR-Daten zuzugreifen, wenn sie im Hintergrund ausgeführt wird."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Biometrisches Verfahren nutzen"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Biometrisches Verfahren oder Displaysperre verwenden"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Deine Identität bestätigen"</string>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 84ca5b7..f4fb932 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"πρόσβαση στα δεδομένα αισθητήρα σχετικά με τις ζωτικές ενδείξεις σας"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Ειδοποιήσεις"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"εμφάνιση ειδοποιήσεων"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"Δεδομένα παρακολούθησης XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"πρόσβαση σε δεδομένα XR για εσάς και το περιβάλλον γύρω σας"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"ευαίσθητα δεδομένα παρακολούθησης XR"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"πρόσβαση σε ευαίσθητα δεδομένα παρακολούθησης, όπως είναι η εστίαση των ματιών"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Ανάκτηση του περιεχομένου του παραθύρου"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Έλεγχος του περιεχομένου ενός παραθύρου με το οποίο αλληλεπιδράτε."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Ενεργοποίηση της \"Εξερεύνησης με άγγιγμα\""</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Επιτρέπει στην εφαρμογή να τροποποιήσει τη συλλογή φωτογραφιών σας."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"ανάγνωση τοποθεσιών από τη συλλογή πολυμέσων σας"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Επιτρέπει στην εφαρμογή να διαβάσει τοποθεσίες από τη συλλογή πολυμέσων σας."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"παρακολούθηση της εστίασης των ματιών κατά προσέγγιση"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Επιτρέπει στην εφαρμογή να παρακολουθεί την εστίαση των ματιών κατά προσέγγιση."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"παρακολούθηση του σημείου που κοιτάτε"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Επιτρέπει στην εφαρμογή να έχει πρόσβαση σε ακριβή δεδομένα της εστίασης των ματιών."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"παρακολούθηση του προσώπου"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Επιτρέπει στην εφαρμογή να έχει πρόσβαση σε δεδομένα παρακολούθησης προσώπου."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"παρακολούθηση των κινήσεων των χεριών"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Επιτρέπει στην εφαρμογή να έχει πρόσβαση σε δεδομένα παρακολούθησης χεριού."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"παρακολούθηση της κίνησης του κεφαλιού"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Επιτρέπει στην εφαρμογή να έχει πρόσβαση σε δεδομένα παρακολούθησης κίνησης κεφαλιού."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"κατανόηση του άμεσου περιβάλλοντος"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Επιτρέπει στην εφαρμογή να έχει πρόσβαση σε δεδομένα παρακολούθησης του περιβάλλοντος γύρω σας."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"κατανόηση του άμεσου περιβάλλοντος με μεγάλη λεπτομέρεια"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Επιτρέπει στην εφαρμογή να έχει πρόσβαση σε δεδομένα παρακολούθησης του περιβάλλοντος γύρω σας με εξαιρετική λεπτομέρεια."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"πρόσβαση σε δεδομένα XR, όταν δεν βρίσκεται στο προσκήνιο"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Επιτρέπει στην εφαρμογή να έχει πρόσβαση σε δεδομένα XR, όταν δεν βρίσκεται στο προσκήνιο."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Χρήση βιομετρικών"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Χρήση βιομετρικών ή κλειδώματος οθόνης"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Επαλήθευση ταυτότητας"</string>
diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml
index ef7238c..3b4f52c 100644
--- a/core/res/res/values-en-rAU/strings.xml
+++ b/core/res/res/values-en-rAU/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"access sensor data about your vital signs"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notifications"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"show notifications"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR tracking data"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"access XR data about you and the environment around you"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"sensitive XR tracking data"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"access sensitive tracking data, such as eye gaze"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Retrieve window content"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Inspect the content of a window you\'re interacting with."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Turn on Explore by Touch"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Allows the app to modify your photo collection."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"read locations from your media collection"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Allows the app to read locations from your media collection."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"track your approximate eye gaze"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Allows the app to track your approximate eye gaze."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"track where you are looking"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Allows the app to access precise eye-gaze data."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"track your face"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Allows the app to access face-tracking data."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"track your hands"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Allows the app to access hand-tracking data."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"track your head"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Allows the app to access head-tracking data."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"understand your immediate environment"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Allows the app to access tracking data about the environment directly around you."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"understand your immediate environment at high detail"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Allows the app to access tracking data about the environment directly around you with very high detail."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"access XR data while not in the foreground"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Allows the app to access XR data while not in the foreground."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Use biometrics"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Use biometrics or screen lock"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Verify that it’s you"</string>
diff --git a/core/res/res/values-en-rCA/strings.xml b/core/res/res/values-en-rCA/strings.xml
index 7e83739..79020c58 100644
--- a/core/res/res/values-en-rCA/strings.xml
+++ b/core/res/res/values-en-rCA/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"access sensor data about your vital signs"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notifications"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"show notifications"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR tracking data"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"access XR data about you and the environment around you"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"sensitive XR tracking data"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"access sensitive tracking data, such as eye gaze"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Retrieve window content"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Inspect the content of a window you\'re interacting with."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Turn on Explore by Touch"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Allows the app to modify your photo collection."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"read locations from your media collection"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Allows the app to read locations from your media collection."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"track your approximate eye gaze"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Allows the app to track your approximate eye gaze."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"track where you are looking"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Allows the app to access precise eye gaze data."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"track your face"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Allows the app to access face tracking data."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"track your hands"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Allows the app to access hand tracking data."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"track your head"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Allows the app to access head tracking data."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"understand your immediate environment"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Allows the app to access tracking data about the environment directly around you."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"understand your immediate environment at high detail"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Allows the app to access tracking data about the environment directly around you with very high detail."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"access XR data while not in the foreground"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Allows the app to access XR data while not in the foreground."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Use biometrics"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Use biometrics or screen lock"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Verify it’s you"</string>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index 5b99b57..2c5cf4d 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"access sensor data about your vital signs"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notifications"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"show notifications"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR tracking data"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"access XR data about you and the environment around you"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"sensitive XR tracking data"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"access sensitive tracking data, such as eye gaze"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Retrieve window content"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Inspect the content of a window that you\'re interacting with."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Turn on Explore by Touch"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Allows the app to modify your photo collection."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"read locations from your media collection"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Allows the app to read locations from your media collection."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"track your approximate eye gaze"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Allows the app to track your approximate eye gaze."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"track where you are looking"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Allows the app to access precise eye-gaze data."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"track your face"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Allows the app to access face-tracking data."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"track your hands"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Allows the app to access hand-tracking data."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"track your head"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Allows the app to access head-tracking data."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"understand your immediate environment"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Allows the app to access tracking data about the environment directly around you."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"understand your immediate environment at high detail"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Allows the app to access tracking data about the environment directly around you with very high detail."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"access XR data while not in the foreground"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Allows the app to access XR data while not in the foreground."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Use biometrics"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Use biometrics or screen lock"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Verify that it’s you"</string>
diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml
index 5ba765b..65ebd0d 100644
--- a/core/res/res/values-en-rIN/strings.xml
+++ b/core/res/res/values-en-rIN/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"access sensor data about your vital signs"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notifications"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"show notifications"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR tracking data"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"access XR data about you and the environment around you"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"sensitive XR tracking data"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"access sensitive tracking data, such as eye gaze"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Retrieve window content"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Inspect the content of a window you\'re interacting with."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Turn on Explore by Touch"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Allows the app to modify your photo collection."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"read locations from your media collection"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Allows the app to read locations from your media collection."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"track your approximate eye gaze"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Allows the app to track your approximate eye gaze."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"track where you are looking"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Allows the app to access precise eye-gaze data."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"track your face"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Allows the app to access face-tracking data."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"track your hands"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Allows the app to access hand-tracking data."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"track your head"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Allows the app to access head-tracking data."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"understand your immediate environment"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Allows the app to access tracking data about the environment directly around you."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"understand your immediate environment at high detail"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Allows the app to access tracking data about the environment directly around you with very high detail."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"access XR data while not in the foreground"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Allows the app to access XR data while not in the foreground."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Use biometrics"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Use biometrics or screen lock"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Verify that it’s you"</string>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index d3258dd..c9bb39c 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -282,7 +282,7 @@
     <string name="global_action_toggle_silent_mode" msgid="8464352592860372188">"Modo silencioso"</string>
     <string name="global_action_silent_mode_on_status" msgid="2371892537738632013">"El sonido está Desactivado"</string>
     <string name="global_action_silent_mode_off_status" msgid="6608006545950920042">"El sonido está Activado"</string>
-    <string name="global_actions_toggle_airplane_mode" msgid="6911684460146916206">"Modo de avión"</string>
+    <string name="global_actions_toggle_airplane_mode" msgid="6911684460146916206">"Modo avión"</string>
     <string name="global_actions_airplane_mode_on_status" msgid="5508025516695361936">"El modo avión está Activado"</string>
     <string name="global_actions_airplane_mode_off_status" msgid="8522219771500505475">"El modo avión está Desactivado"</string>
     <string name="global_action_settings" msgid="4671878836947494217">"Configuración"</string>
@@ -354,14 +354,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"acceder a los datos de sensores acerca de tus signos vitales"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notificaciones"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"mostrar notificaciones"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"datos de seguimiento de realidad extendida"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"acceder a datos de realidad extendida sobre ti y el entorno que te rodea"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"datos sensibles de seguimiento de realidad extendida"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"acceder a datos de seguimiento sensibles, como la mirada"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Recuperar el contenido de las ventanas"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Inspeccionará el contenido de la ventana con la que estés interactuando."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Activar la Exploración táctil"</string>
@@ -657,38 +653,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Permite que la app modifique tu colección de fotos."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"leer ubicaciones de tu colección de contenido multimedia"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Permite que la app lea las ubicaciones de tu colección de contenido multimedia."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"seguimiento aproximado de la mirada"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Permite que la app haga un seguimiento aproximado de tu mirada."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"seguimiento de la dirección de la mirada"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Permite que la app acceda a datos precisos de la mirada."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"seguimiento de tu rostro"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Permite que la app acceda a los datos de seguimiento de rostros."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"seguimiento de tus manos"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Permite que la app acceda a los datos de seguimiento de manos."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"seguimiento de tu cabeza"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Permite que la app acceda a los datos de seguimiento de la cabeza."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"comprensión de tu entorno inmediato"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Permite que la app acceda a los datos de seguimiento del entorno que te rodea directamente."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"comprensión de tu entorno inmediato con gran detalle"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Permite que la app acceda a datos de seguimiento del entorno que te rodea directamente con mucho detalle."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"acceso a los datos de realidad extendida cuando no está en primer plano"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Permite que la app acceda a los datos de realidad extendida cuando no está en primer plano."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Usar datos biométricos"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Usar datos biométricos o bloqueo de pantalla"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Comprueba que eres tú"</string>
@@ -2260,7 +2240,7 @@
     <string name="mime_type_spreadsheet_ext" msgid="8720173181137254414">"Hoja de cálculo <xliff:g id="EXTENSION">%1$s</xliff:g>"</string>
     <string name="mime_type_presentation" msgid="1145384236788242075">"Presentación"</string>
     <string name="mime_type_presentation_ext" msgid="8761049335564371468">"Presentación <xliff:g id="EXTENSION">%1$s</xliff:g>"</string>
-    <string name="bluetooth_airplane_mode_toast" msgid="2066399056595768554">"La conexión Bluetooth permanecerá activa durante el modo de avión"</string>
+    <string name="bluetooth_airplane_mode_toast" msgid="2066399056595768554">"La conexión Bluetooth permanecerá activa durante el modo avión"</string>
     <string name="car_loading_profile" msgid="8219978381196748070">"Cargando"</string>
     <string name="file_count" msgid="3220018595056126969">"{count,plural, =1{{file_name} y # archivo más}many{{file_name} y # archivos más}other{{file_name} y # archivos más}}"</string>
     <string name="chooser_no_direct_share_targets" msgid="1511722103987329028">"No hay personas recomendadas con quienes compartir"</string>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index c021a8a..63fc276 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -354,14 +354,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"acceder a datos de sensores de tus constantes vitales"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notificaciones"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"mostrar notificaciones"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"datos de seguimiento de RE"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"acceder a datos de RE sobre ti y el entorno que te rodea"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"datos de seguimiento de RE sensibles"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"acceder a datos de seguimiento sensibles, como la mirada"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Comprobar el contenido de la ventana"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Inspecciona el contenido de una ventana con la que estés interactuando."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Activar la exploración táctil"</string>
@@ -657,38 +653,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Permite que la aplicación modifique tu colección de fotos."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"leer las ubicaciones de tu colección de contenido multimedia"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Permite que la aplicación lea las ubicaciones de tu colección de contenido multimedia."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"hacer un seguimiento de tu mirada de forma aproximada"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Permite que la aplicación haga un seguimiento de tu mirada de forma aproximada."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"hacer un seguimiento de hacia dónde miras"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Permite que la aplicación acceda a los datos precisos de la mirada."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"hacer un seguimiento de tu cara"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Permite que la aplicación acceda a los datos de seguimiento facial."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"hacer un seguimiento de tus manos"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Permite que la aplicación acceda a los datos de seguimiento de manos."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"hacer un seguimiento de tu cabeza"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Permite que la aplicación acceda a los datos de seguimiento de cabeza."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"entender tu entorno inmediato"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Permite que la aplicación acceda a los datos de seguimiento sobre el entorno que te rodea de forma directa."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"entender tu entorno inmediato con un nivel alto de detalle"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Permite que la aplicación acceda a datos de seguimiento sobre el entorno que te rodea de forma directa con un nivel de detalle muy alto."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"acceder a datos de RE cuando no está en primer plano"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Permite que la aplicación acceda a los datos de RE cuando no está en primer plano."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Usar biometría"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Usar biometría o bloqueo de pantalla"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Verifica que eres tú"</string>
diff --git a/core/res/res/values-et/strings.xml b/core/res/res/values-et/strings.xml
index ae21583..c9b29c3a 100644
--- a/core/res/res/values-et/strings.xml
+++ b/core/res/res/values-et/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"juurdepääs anduri andmetele teie eluliste näitajate kohta"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Märguanded"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"märguannete kuvamine"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR-i jälgimise andmed"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"juurdepääs XR-i andmetele teie ja teid ümbritseva keskkonna kohta"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"delikaatsed XR-i jälgimise andmed"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"juurdepääs delikaatsetele jälgimisandmetele, näiteks pilgule"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Akna sisu toomine"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Kasutatava akna sisu kontrollimine."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Puudutusega sirvimise sisselülitamine"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Võimaldab rakendusel muuta teie fotokogu."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"Lugeda teie meediakogus olevaid asukohti"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Võimaldab rakendusel lugeda teie meediakogus olevaid asukohti."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"ligikaudse pilgu jälgimine"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Võimaldab rakendusel teie pilku ligikaudselt jälgida."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"pilgu suuna jälgimine"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Võimaldab rakendusel juurde pääseda täpsetele pilguandmetele."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"näo jälgimine"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Võimaldab rakendusel juurde pääseda näo jälgimise andmetele."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"käteliigutuste jälgimine"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Võimaldab rakendusel juurde pääseda käeliigutuste jälgimise andmetele."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"pea jälgimine"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Võimaldab rakendusel juurde pääseda peajälgimise andmetele."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"vahetu keskkonna mõistmine"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Võimaldab rakendusel juurde pääseda teie vahetu keskkonna jälgimisandmetele."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"vahetu keskkonna väga üksikasjalik mõistmine"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Võimaldab rakendusel pääseda väga üksikasjalikult juurde teie vahetu keskkonna jälgimisandmetele."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"juurdepääs XR-i andmetele, kui see pole esiplaanil"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Võimaldab rakendusel pääseda juurde XR-i andmetele, kui see pole esiplaanil."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Biomeetria kasutamine"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Biomeetria või ekraaniluku kasutamine"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Kinnitage oma isik"</string>
diff --git a/core/res/res/values-eu/strings.xml b/core/res/res/values-eu/strings.xml
index a78754f..88bb3c9 100644
--- a/core/res/res/values-eu/strings.xml
+++ b/core/res/res/values-eu/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"atzitu bizi-konstanteei buruzko sentsorearen datuak"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Jakinarazpenak"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"jakinarazpenak erakutsi"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"EHko jarraipen-datuak"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"zuri eta inguruko inguruneari buruzko EHko datuak erabili"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"kontuzko EHko jarraipen-datuak"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"kontuzko jarraipen-datuak erabili, hala nola begiradari buruzkoak"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Leihoko edukia eskuratu."</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Arakatu irekita daukazun leihoko edukia."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"\"Arakatu ukituta\" aktibatu."</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Argazki bilduma aldatzeko baimena ematen dio aplikazioari."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"multimedia-edukien bildumako kokapena irakurri"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Multimedia-edukien bildumako kokapena irakurtzeko baimena ematen dio aplikazioari."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"begiradaren gutxi gorabeherako datuen jarraipena egin"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Zure begiradaren gutxi gorabeherako datuen jarraipena egiteko baimena ematen dio aplikazioari."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"begiradaren jarraipena egin"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Zure begiradaren datu zehatzen jarraipena egiteko baimena ematen dio aplikazioari."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"aurpegiaren jarraipena egin"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Aurpegiaren jarraipen-datuak erabiltzeko baimena ematen dio aplikazioari."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"eskuen jarraipena egin"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Eskuen jarraipen-datuak erabiltzeko baimena ematen dio aplikazioari."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"buruaren jarraipena egin"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Buruaren jarraipen-datuak erabiltzeko baimena ematen dio aplikazioari."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"inguruan duzun ingurunea aztertu"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Inguruan duzun ingurunearen jarraipen datuak erabiltzeko baimena ematen dio aplikazioari."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"inguruan duzun ingurunea xehetasunez aztertu"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Inguruan duzun ingurunearen jarraipen datu oso xeheak erabiltzeko baimena ematen dio aplikazioari."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"aurreko planoan egon gabe ere EHko datuak erabili"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Aurreko planoan ez badago ere EHko datuak erabiltzeko baimena ematen dio aplikazioari."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Erabili sistema biometrikoak"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Erabili sistema biometrikoak edo pantailaren blokeoa"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Egiaztatu zeu zarela"</string>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index ddde0b2..0c3b755 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"دسترسی به داده‌های حسگر در رابطه با علائم حیاتی شما"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"اعلان‌ها"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"نمایش اعلان"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"داده‌های ردگیری واقعیت گسترده"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"دسترسی به داده‌های واقعیت گسترده درباره شما و محیط اطرافتان"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"داده‌های حساس ردگیری واقعیت گسترده"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"دسترسی به داده‌های حساس ردگیری، مانند جهت نگاه"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"محتوای پنجره را بازیابی کند"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"محتوای پنجره‌ای را که درحال تعامل با آن هستید بررسی می‌کند."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"فعال‌سازی کاوش لمسی"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"به برنامه اجازه می‌دهد مجموعه عکستان را تغییر دهد."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"خواندن مکان‌ها از مجموعه رسانه شما"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"به برنامه اجازه می‌دهد مکان‌ها را از مجموعه رسانه‌تان بخواند."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"ردگیری جهت تقریبی نگاه شما"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"به برنامه اجازه می‌دهد جهت تقریبی نگاه شما را ردگیری کند."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"ردگیری جایی که به آن نگاه می‌کنید"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"به برنامه اجازه می‌دهد به داده‌های دقیق جهت نگاه دسترسی داشته باشد."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"ردگیری چهره شما"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"به برنامه اجازه می‌دهد به داده‌های ردگیری چهره دسترسی داشته باشد."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"ردگیری دست‌های شما"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"به برنامه اجازه می‌دهد به داده‌های ردگیری دست دسترسی داشته باشد."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"ردگیری سر شما"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"به برنامه اجازه می‌دهد به داده‌های ردگیری سر دسترسی داشته باشد."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"پی بردن به محیط مجاور شما"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"به برنامه اجازه می‌دهد به داده‌های ردگیری مربوط به محیط مجاور شما دسترسی داشته باشد."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"پی بردن به محیط مجاور شما با جزئیات بالا"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"به برنامه اجازه می‌دهد به داده‌های ردگیری مربوط به محیط مجاور شما با جزئیات بسیار بالا دسترسی داشته باشد."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"دسترسی به داده‌های واقعیت گسترده هنگام اجرا نشدن در پیش‌زمینه"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"به برنامه اجازه می‌دهد هنگام اجرا نشدن در پیش‌زمینه به داده‌های واقعیت گسترده دسترسی داشته باشد."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"استفاده از داده‌های زیست‌سنجشی"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"استفاده از داده‌های زیست‌سنجشی یا قفل صفحه"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"تأیید کنید این شمایید"</string>
@@ -1824,7 +1804,7 @@
     <string name="reduce_bright_colors_feature_name" msgid="3222994553174604132">"بسیار کم‌نور"</string>
     <string name="hearing_aids_feature_name" msgid="1125892105105852542">"دستگاه‌های کمک‌شنوایی"</string>
     <string name="hearing_device_status_disconnected" msgid="497547752953543832">"متصل نیست"</string>
-    <string name="hearing_device_status_connected" msgid="2149385149669918764">"متصل"</string>
+    <string name="hearing_device_status_connected" msgid="2149385149669918764">"وصل شد"</string>
     <string name="hearing_device_status_active" msgid="4770378695482566032">"فعال"</string>
     <string name="hearing_device_status_loading" msgid="5717083847663109747">"درحال بار کردن"</string>
     <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"کلیدهای میزان صدا پایین نگه داشته شد. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> روشن شد."</string>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index b17ab23..b12fd5c 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"pääsy anturidataan elintoiminnoistasi"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Ilmoitukset"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"näyttää ilmoituksia"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR-seurantadata"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"pääsy XR-dataan, joka liittyy sinuun ja ympäristöösi"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"arkaluontoinen XR-seurantadata"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"pääsy arkaluontoiseen seurantadataan, esim. katseenseurantadataan"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Noutaa ikkunan sisältöä"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Tarkistaa käyttämäsi ikkunan sisältö."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Ottaa kosketuksella tutkimisen käyttöön"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Antaa sovelluksen muokata kuvakokoelmaasi."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"lukea mediakokoelmasi sijainteja"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Antaa sovelluksen lukea mediakokoelmasi sijainteja."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"seuraa katsetta likimääräisesti"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Sallii sovelluksen seurata katsettasi likimääräisesti."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"seuraa sitä, mihin katsot"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Sallii sovellukselle pääsyn tarkkaan katsedataan."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"seuraa kasvojasi"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Sallii sovellukselle pääsyn kasvojen seurantadataan."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"seuraa käsiäsi"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Sallii sovellukselle pääsyn kädenseurantadataan."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"seuraa päätäsi"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Sallii sovellukselle pääsyn päänseurantadataan."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"ymmärtää välitöntä ympäristöäsi"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Sallii sovellukselle pääsyn ympäristöösi liittyvään seurantadataan."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"ymmärtää välittömän ympäristösi yksityiskohtaisesti"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Sallii sovellukselle pääsyn erittäin yksityiskohtaiseen, välittömään ympäristöösi liittyvään seurantadataan."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"pääsy XR-dataan, kun sovellus ei ole etualalla."</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Sallii sovellukselle pääsyn XR-dataan, kun sovellus ei ole etualalla."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Käytä biometriikkaa"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Käytä biometriikkaa tai näytön lukitusta"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Vahvista henkilöllisyytesi"</string>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index 7145e57..b9c8b64 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -354,14 +354,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"accéder aux données des capteurs sur vos signes vitaux"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notifications"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"afficher les notifications"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"données de suivi de RE"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"accès aux données de RE sur vous et l\'environnement qui vous entoure"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"données de suivi de RE sensibles"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"accède aux données de suivi sensibles, comme le regard"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Récupérer le contenu d\'une fenêtre"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Inspecter le contenu d\'une fenêtre avec laquelle vous interagissez."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Activer la fonctionnalité Explorer au toucher"</string>
@@ -657,38 +653,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Autorise l\'appli à modifier votre collection de photos."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"lire les positions issues de votre collection multimédia"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Autorise l\'appli à lire les positions indiquées dans votre collection multimédia."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"suivre votre regard approximatif"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Permet à l\'appli de suivre votre regard approximatif."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"suivre où vous regardez"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Permet à l\'appli d\'accéder à des données précises sur le regard."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"suivre votre visage"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Permet à l\'appli d\'accéder aux données de suivi du visage."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"suivre vos mains"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Permet à l\'appli d\'accéder aux données de suivi des mains."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"suivre votre tête"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Permet à l\'appli d\'accéder aux données de suivi de la tête."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"comprendre votre environnement immédiat"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Permet à l\'appli d\'accéder aux données de suivi sur l\'environnement directement autour de vous."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"comprendre votre environnement immédiat dans les moindres détails"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Permet à l\'appli d\'accéder aux données de suivi sur l\'environnement directement autour de vous avec des détails très précis."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"accéder aux données de RE sans être en avant-plan"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Permet à l\'appli d\'accéder aux données de RE lorsqu\'elle n\'est pas en avant-plan."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Utiliser les données biométriques"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Utiliser les données biométriques ou le verrouillage de l\'écran"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Confirmez que c\'est vous"</string>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index a71348a..9952d04 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -354,14 +354,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"accéder aux données des capteurs relatives à vos signes vitaux"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notifications"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"afficher des notifications"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"Données de suivi XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"accéder aux données XR vous concernant et concernant l\'environnement qui vous entoure"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"données de suivi XR sensibles"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"accéder à des données de suivi sensibles, comme le suivi du regard"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Récupérer le contenu d\'une fenêtre"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Inspecte le contenu d\'une fenêtre avec laquelle vous interagissez."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Activer la fonctionnalité Explorer au toucher"</string>
@@ -657,38 +653,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Autorise l\'application à modifier votre bibliothèque photo."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"consulter des positions issues de votre bibliothèque multimédia"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Autorise l\'application à consulter des positions issues de votre bibliothèque multimédia."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"suivre approximativement votre regard"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Autorise l\'appli à suivre approximativement votre regard."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"suivre votre regard"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Autorise l\'appli à accéder à des données sur le suivi précis du regard."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"suivre votre visage"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Autorise l\'appli à accéder aux données de suivi du visage."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"suivre vos mains"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Autorise l\'appli à accéder aux données de suivi des mains."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"suivre votre tête"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Autorise l\'appli à accéder aux données de suivi de la tête."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"comprendre votre environnement immédiat"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Autorise l\'appli à accéder aux données de suivi sur l\'environnement qui vous entoure directement."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"comprendre votre environnement immédiat avec précision"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Autorise l\'appli à accéder à des données de suivi très détaillées sur l\'environnement qui vous entoure directement."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"accéder aux données XR sans être au premier plan"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Autorise l\'appli à accéder aux données XR lorsqu\'elle n\'est pas au premier plan."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Utiliser la biométrie"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Utiliser la biométrie ou le verrouillage de l\'écran"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Confirmez votre identité"</string>
diff --git a/core/res/res/values-gl/strings.xml b/core/res/res/values-gl/strings.xml
index e8090b8..a2d29c9 100644
--- a/core/res/res/values-gl/strings.xml
+++ b/core/res/res/values-gl/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"acceder aos datos dos sensores sobre as túas constantes vitais"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notificacións"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"mostrar notificacións"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"datos de seguimento de RE"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"acceder aos datos de realidade estendida sobre ti e o ambiente que te rodea"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"datos de seguimento de RE confidenciais"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"acceder a datos de seguimento confidenciais, como a mirada"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Recuperar contido da ventá"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Inspecciona o contido dunha ventá coa que estás interactuando."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Activar a exploración táctil"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Permite que a aplicación modifique a túa colección de fotos."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"ler localizacións da túa colección multimedia"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Permite que a aplicación lea as localizacións da túa colección multimedia."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"facer un seguimento aproximado da mirada"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Permite que a aplicación faga un seguimento aproximado da mirada."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"facer un seguimento da dirección da mirada"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Permite que a aplicación acceda aos datos precisos da mirada."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"facer un seguimento da cara"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Permite que a aplicación acceda aos datos de seguimento da cara."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"facer un seguimento das mans"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Permite que a aplicación acceda aos datos de seguimento das mans."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"facer un seguimento da cabeza"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Permite que a aplicación acceda aos datos de seguimento da cabeza."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"entender o teu ambiente próximo"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Permite que a aplicación acceda aos datos de seguimento do ambiente que te rodea directamente."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"entender o teu ambiente próximo con moito detalle"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Permite que a aplicación acceda aos datos de seguimento do ambiente que te rodea directamente con moito detalle."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"acceder os datos de realidade estendida cando non estea en primeiro plano"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Permite que a aplicación acceda aos datos de realidade estendida cando non estea en primeiro plano."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Utilizar desbloqueo biométrico"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Utilizar desbloqueo biométrico ou credencial do dispositivo"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Verifica a túa identidade"</string>
diff --git a/core/res/res/values-gu/strings.xml b/core/res/res/values-gu/strings.xml
index 3ddc9da..bb07484 100644
--- a/core/res/res/values-gu/strings.xml
+++ b/core/res/res/values-gu/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"તમારા મહત્વપૂર્ણ ચિહ્નો વિશે સેન્સર ડેટા ઍક્સેસ કરો"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"નોટિફિકેશન"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"નોટિફિકેશન બતાવો"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR ટ્રૅકિંગ ડેટા"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"તમારા અને તમારી આસપાસના વાતાવરણ વિશેનો XR ડેટા ઍક્સેસ કરો"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"સંવેદનશીલ XR ટ્રૅકિંગ ડેટા"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"નજર જેવો સંવેદનશીલ ટ્રૅકિંગ ડેટા ઍક્સેસ કરો"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"વિંડો કન્ટેન્ટ પુનઃપ્રાપ્ત કરો"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"તમે જેની સાથે ક્રિયા-પ્રતિક્રિયા કરી રહ્યાં છો તે વિંડોનું કન્ટેન્ટ તપાસો."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"સ્પર્શ કરીને શોધખોળ કરવું ચાલુ કરો"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"એપને તમારો ફોટો સંગ્રહ સંશોધિત કરવાની મંજૂરી આપે છે."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"આપના મીડિયા સંગ્રહમાંથી સ્થાનો વાંચવા"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"એપને તમારા મીડિયા સંગ્રહમાંથી સ્થાનો વાંચવાની મંજૂરી આપે છે."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"તમારી અંદાજિત નજરને ટ્રૅક કરો"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"ઍપને તમારી અંદાજિત નજર ટ્રૅક કરવાની મંજૂરી આપે છે."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"તમે ક્યાં જુઓ છો, તે ટ્રૅક કરો"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"ઍપને નજરનો ચોક્કસ ડેટા ઍક્સેસ કરવાની મંજૂરી આપે છે."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"તમારા ચહેરાને ટ્રૅક કરો"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"ઍપને ચહેરો ટ્રૅક કરવાની સુવિધાનો ડેટા ઍક્સેસ કરવાની મંજૂરી આપે છે."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"તમારા હાથને ટ્રૅક કરો"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"ઍપને હાથ ટ્રૅક કરવાની સુવિધાનો ડેટા ઍક્સેસ કરવાની મંજૂરી આપે છે."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"તમારા માથાને ટ્રૅક કરો"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"ઍપને હૅડ ટ્રૅકિંગની સુવિધાનો ડેટા ઍક્સેસ કરવાની મંજૂરી આપે છે."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"તમારી સાવ નજીકના વાતાવરણને સમજો"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"ઍપને સીધા તમારી આસપાસના વાતાવરણ વિશેનો ટ્રૅકિંગ ડેટા ઍક્સેસ કરવાની મંજૂરી આપે છે."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"તમારી સાવ નજીકના વાતાવરણને ખૂબ વિગતવાર સમજો"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"ઍપને સીધા તમારી આસપાસના વાતાવરણ વિશેનો ટ્રૅકિંગ ડેટા ખૂબ જ વિગતવાર ઍક્સેસ કરવાની મંજૂરી આપે છે."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"ફૉરગ્રાઉન્ડમાં ન હોય ત્યારે XR ડેટા ઍક્સેસ કરો"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"ફૉરગ્રાઉન્ડમાં ન હોય ત્યારે ઍપને XR ડેટા ઍક્સેસ કરવાની મંજૂરી આપે છે."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"બાયોમેટ્રિક્સનો ઉપયોગ કરો"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"બાયોમેટ્રિક્સ અથવા સ્ક્રીન લૉકનો ઉપયોગ કરો"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"આ તમે જ છો તેની ચકાસણી કરો"</string>
@@ -1844,7 +1824,7 @@
     <string name="hearing_device_notification_switch_button" msgid="3619524619430941300">"સ્વિચ કરો"</string>
     <string name="hearing_device_notification_settings_button" msgid="6673651052880279178">"સેટિંગ"</string>
     <string name="user_switched" msgid="7249833311585228097">"વર્તમાન વપરાશકર્તા <xliff:g id="NAME">%1$s</xliff:g>."</string>
-    <string name="user_switching_message" msgid="1912993630661332336">"<xliff:g id="NAME">%1$s</xliff:g> પર સ્વિચ કરી રહ્યાં છે…"</string>
+    <string name="user_switching_message" msgid="1912993630661332336">"<xliff:g id="NAME">%1$s</xliff:g> પર સ્વિચ કરી રહ્યાં છીએ…"</string>
     <string name="user_logging_out_message" msgid="7216437629179710359">"<xliff:g id="NAME">%1$s</xliff:g> લોગ આઉટ થઈ રહ્યાં છે…"</string>
     <string name="owner_name" msgid="8713560351570795743">"માલિક"</string>
     <string name="guest_name" msgid="8502103277839834324">"અતિથિ"</string>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index a587509..538e86c 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"अपने महत्वपूर्ण संकेतों के बारे में सेंसर डेटा को ऐक्सेस करें"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"सूचनाएं"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"सूचनाएं दिखाएं"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"एक्सआर ट्रैकिंग डेटा"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"अपने और अपने आस-पास के माहौल के बारे में एक्सआर डेटा ऐक्सेस करें"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"संवेदनशील एक्सआर ट्रैकिंग डेटा"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"संवेदनशील ट्रैकिंग डेटा को ऐक्सेस करें, जैसे कि आंखों की गतिविधि"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"विंडो का कॉन्टेंट वापस पाएं"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"विंडो पर नज़र आ रहे कॉन्टेंट की जांच करें."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"छूकर, किसी चीज़ से जुड़ी जानकारी सुनने की सुविधा चालू करें"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"इससे ऐप्लिकेशन को आपके फ़ोटो संग्रह में बदलाव करने की मंज़ूरी दी जाती है."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"अपने मीडिया संग्रह से जगह की जानकारी ऐक्सेस करने की अनुमति दें"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"इससे ऐप्लिकेशन को आपके मीडिया संग्रह से जगह की जानकारी ऐक्सेस करने की अनुमति दी जाती है."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"आंखों की गतिविधियां ट्रैक करें"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"इससे ऐप्लिकेशन को, आपकी आंखों की गतिविधियों को ट्रैक करने की अनुमति मिलती है."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"किस ओर देखा जा रहा है, यह ट्रैक करें"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"इससे ऐप्लिकेशन को, आंखों की गतिविधियों का सटीक डेटा ऐक्सेस करने की अनुमति मिलती है."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"चेहरे को ट्रैक करें"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"इससे ऐप्लिकेशन को, फ़ेस ट्रैकिंग का डेटा ऐक्सेस करने की अनुमति मिलती है."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"हाथों को ट्रैक करें"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"इससे ऐप्लिकेशन को, हैंड ट्रैकिंग का डेटा ऐक्सेस करने की अनुमति मिलती है."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"सिर को ट्रैक करें"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"इससे ऐप्लिकेशन को, हेड ट्रैकिंग डेटा को ऐक्सेस करने की अनुमति मिलती है."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"अपने आस-पास के माहौल की जानकारी पाएं"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"इससे ऐप्लिकेशन को, आपके आस-पास के माहौल के ट्रैकिंग डेटा को ऐक्सेस करने की अनुमति मिलती है."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"अपने आस-पास के माहौल के बारे में छोटी से छोटी जानकारी पाएं"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"इससे ऐप्लिकेशन को, आपके आस-पास के माहौल के बारे में छोटी से छोटी जानकारी के साथ ट्रैकिंग डेटा ऐक्सेस करने की अनुमति मिलती है."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"ऐप्लिकेशन पर, फ़ोरग्राउंड के काम न करने पर भी एक्सआर डेटा ऐक्सेस करें"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"इससे ऐप्लिकेशन को, एक्सआर डेटा ऐक्सेस करने की अनुमति मिलती है, भले ही उसमें फ़ोरग्राउंड में काम न कर रहा हो."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"बायोमेट्रिक्स इस्तेमाल करें"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"बायोमेट्रिक्स या स्क्रीन लॉक का क्रेडेंशियल इस्तेमाल करें"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"अपनी पहचान की पुष्टि करें"</string>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index cfea6ab..cde062a 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -354,14 +354,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"pristupiti podacima senzora o vašim vitalnim znakovima"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Obavijesti"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"prikazati obavijesti"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR podaci o praćenju"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"pristup XR podacima o vama i vašem okruženju"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"osjetljivi XR podaci o praćenju"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"pristup osjetljivim podacima o praćenju, kao što je pogled"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Dohvaćati sadržaj prozora"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Pregledat će sadržaj prozora koji upotrebljavate."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Uključiti značajku Istraži dodirom"</string>
@@ -657,38 +653,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Omogućuje aplikaciji izmjenu vaše zbirke fotografija."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"čitanje lokacija iz vaše medijske zbirke"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Omogućuje aplikaciji čitanje lokacija iz vaše medijske zbirke."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"praćenje približnog pogleda"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Aplikaciji omogućuje praćenje približnih podataka o pogledu."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"praćenje toga gdje gledate"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Aplikaciji omogućuje pristup preciznim podacima o pogledu."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"praćenje lica"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Aplikaciji omogućuje pristup podacima o praćenju lica."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"praćenje pokreta ruku"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Aplikaciji omogućuje pristup podacima o praćenju ruku."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"praćenje pokreta glave"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Aplikaciji omogućuje pristup podacima o praćenju pokreta glave."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"stjecanje uvida u neposredno okruženje"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Aplikaciji omogućuje pristup podacima o praćenju o vašem neposrednom okruženju."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"stjecanje detaljnih uvida u neposredno okruženje"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Aplikaciji omogućuje pristup detaljnim podacima o praćenju o vašem neposrednom okruženju."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"pristup XR podacima dok nije u prednjem planu"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Aplikaciji omogućuje pristup XR podacima dok nije u prednjem planu."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Upotreba biometrije"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Upotreba biometrijske autentifikacije ili zaključavanja zaslona"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Potvrdite da ste to vi"</string>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index 24389d6..1acf7bc 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"az érzékelők által mért, életjelekkel kapcsolatos adatok elérése"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Értesítések"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"értesítések megjelenítése"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR-nyomonkövetési adatok"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"hozzáférés az Önre és a környezetére vonatkozó XR-adatokhoz"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"bizalmas XR-nyomonkövetési adatok"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"hozzáférés bizalmas nyomon követési adatokhoz, például a szemmozgáshoz"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Ablaktartalom lekérdezése"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"A használt ablak tartalmának vizsgálata."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Felfedezés érintéssel bekapcsolása"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Engedélyezi az alkalmazásnak a fényképgyűjtemény módosítását."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"helyek olvasása a médiagyűjteményből"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Engedélyezi az alkalmazásnak a helyek médiagyűjteményből való olvasását."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"a szemmozgás hozzávetőleges nyomon követése"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Lehetővé teszi az alkalmazás számára a szemmozgás hozzávetőleges nyomon követését."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"annak nyomon követése, hogy Ön hová néz"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Lehetővé teszi az alkalmazás számára, hogy hozzáférjen a szemmozgással kapcsolatos pontos adatokhoz."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"arc nyomon követése"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Lehetővé teszi az alkalmazás számára, hogy hozzáférjen az arckövetési adatokhoz."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"kézmozgás nyomon követése"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Lehetővé teszi az alkalmazás számára, hogy hozzáférjen a kézmozgáskövetési adatokhoz."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"fej nyomon követése"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Lehetővé teszi az alkalmazás számára, hogy hozzáférjen a fejkövetési adatokhoz."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"a közvetlen környezet megértése"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Lehetővé teszi az alkalmazás számára, hogy hozzáférjen az Ön közvetlen környezetére vonatkozó nyomon követési adatokhoz."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"a közvetlen környezetének nagyon pontos megértése"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Lehetővé teszi az alkalmazás számára, hogy hozzáférjen az Ön közvetlen környezetére vonatkozó nagyon pontos nyomon követési adatokhoz."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"hozzáférés az XR-adatokhoz, amikor nincs az előtérben"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Lehetővé teszi az alkalmazás számára, hogy hozzáférjen az XR-adatokhoz, amikor nincs az előtérben."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Biometriai feloldás használata"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"A folytatás biometriai feloldással vagy képernyőzárral lehetséges"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Igazolja, hogy Ön az"</string>
diff --git a/core/res/res/values-hy/strings.xml b/core/res/res/values-hy/strings.xml
index 1125dc9..041042f 100644
--- a/core/res/res/values-hy/strings.xml
+++ b/core/res/res/values-hy/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"օգտագործել սենսորների տվյալները ձեր օրգանիզմի վիճակի մասին"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Ծանուցումներ"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"ցուցադրել ծանուցումներ"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR հետագծման տվյալներ"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"մուտք գործեք XR տվյալներ ձեր և ձեզ շրջապատող միջավայրի մասին"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"զգայուն XR հետագծման տվյալներ"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"մուտք գործել հետևելու զգայուն տվյալներ, ինչպիսիք են աչքի հայացքը"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Առբերել պատուհանի բովանդակությունը"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Վերլուծել գործող պատուհանի բովանդակությունը"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Միացնել Հպման միջոցով հետազոտումը"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Թույլ է տալիս հավելվածին փոփոխել ձեր լուսանկարների հավաքածուն:"</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"ճանաչել տեղադրության մասին տվյալները մեդիա բովանդակության հավաքածուից"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Թույլ է տալիս հավելվածին ճանաչել տեղադրության մասին տվյալները ձեր մեդիա բովանդակության հավաքածուից:"</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"հետևեք ձեր աչքերի մոտավոր հայացքին"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Թույլ է տալիս հավելվածին հետևել ձեր աչքերի մոտավոր հայացքին։"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"հետևեք, թե որտեղ եք փնտրում"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Թույլ է տալիս հավելվածին մուտք գործել աչքի հայացքի ճշգրիտ տվյալներ։"</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"հետևեք ձեր դեմքին"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Թույլ է տալիս հավելվածին մուտք գործել դեմքերի հետագծման տվյալներ։"</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"հետագծեք ձեր ձեռքերի շարժումները"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Թույլ է տալիս հավելվածին մուտք գործել ձեռքի հետագծման տվյալներ։"</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"հետևեք ձեր գլխին"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Թույլ է տալիս հավելվածին մուտք գործել գլխի հետագծման տվյալներ։"</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"հասկացեք ձեր անմիջական միջավայրը"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Թույլ է տալիս հավելվածին մուտք գործել անմիջականորեն ձեր շուրջը գտնվող միջավայրի հետագծման տվյալներ։"</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"հասկացեք ձեր անմիջական միջավայրը մանրամասնությամբ"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Թույլ է տալիս հավելվածին մուտք գործել անմիջականորեն ձեր շուրջը գտնվող միջավայրի հետագծման տվյալներ՝ մանրամասների հետագծմամբ։"</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"մուտք գործեք XR տվյալներ, երբ առաջին պլանում չեք"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Թույլ է տալիս հավելվածին մուտք գործել XR տվյալներ, մինչդեռ առաջին պլանում չէ։"</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Կենսաչափական համակարգեր"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Օգտագործել կենսաչափական համակարգեր կամ էկրանի կողպում"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Հաստատեք ձեր ինքնությունը"</string>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index 2cd5472..b02d5ee 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"mengakses data sensor tentang tanda-tanda vital"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notifikasi"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"tampilkan notifikasi"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"Data pelacakan XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"mengakses data XR tentang Anda dan lingkungan di sekitar Anda"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"data pelacakan XR sensitif"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"mengakses data pelacakan sensitif, seperti pandangan mata"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Membaca konten di jendela"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Memeriksa konten di jendela yang sedang Anda buka."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Mengaktifkan Jelajahi dengan Sentuhan"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Mengizinkan aplikasi untuk memodifikasi koleksi foto Anda."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"membaca lokasi dari koleksi media Anda"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Mengizinkan aplikasi untuk membaca lokasi dari koleksi media Anda."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"melacak perkiraan pandangan mata Anda"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Mengizinkan aplikasi melacak perkiraan pandangan mata Anda."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"melacak arah yang Anda lihat"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Mengizinkan aplikasi mengakses data pandangan mata yang akurat."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"melacak wajah Anda"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Mengizinkan aplikasi mengakses data pelacakan wajah."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"melacak gerak tangan Anda"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Mengizinkan aplikasi mengakses data pelacakan gerak tangan."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"melacak gerak kepala Anda"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Mengizinkan aplikasi mengakses data pelacakan gerak kepala."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"memahami lingkungan sekitar Anda"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Mengizinkan aplikasi mengakses data pelacakan tentang lingkungan di sekitar Anda."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"memahami lingkungan sekitar Anda secara mendetail"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Mengizinkan aplikasi mengakses data pelacakan tentang lingkungan di sekitar Anda secara mendetail."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"mengakses data XR saat tidak berada di latar depan"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Mengizinkan aplikasi mengakses data XR saat tidak berada di latar depan."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Gunakan biometrik"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Gunakan biometrik atau kunci layar"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Verifikasi diri Anda"</string>
@@ -743,7 +723,7 @@
   </string-array>
     <string name="fingerprint_error_vendor_unknown" msgid="4170002184907291065">"Terjadi error. Coba lagi."</string>
     <string name="fingerprint_icon_content_description" msgid="4741068463175388817">"Ikon sidik jari"</string>
-    <string name="device_unlock_notification_name" msgid="2632928999862915709">"Buka kunci perangkat"</string>
+    <string name="device_unlock_notification_name" msgid="2632928999862915709">"Pembuka kunci perangkat"</string>
     <string name="alternative_unlock_setup_notification_title" msgid="6241508547901933544">"Coba cara lain untuk membuka kunci"</string>
     <string name="alternative_face_setup_notification_content" msgid="3384959224091897331">"Gunakan Buka dengan Wajah saat sidik jari Anda tidak dikenali, seperti saat jari Anda basah"</string>
     <string name="alternative_fp_setup_notification_content" msgid="7454096947415721639">"Gunakan Buka dengan Sidik Jari saat wajah Anda tidak dikenali, seperti saat pencahayaan tidak cukup"</string>
diff --git a/core/res/res/values-is/strings.xml b/core/res/res/values-is/strings.xml
index a89a50f..d66721a 100644
--- a/core/res/res/values-is/strings.xml
+++ b/core/res/res/values-is/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"aðgangur að skynjaragögnum um lífsmörk þín"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Tilkynningar"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"sýna tilkynningar"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"víðveruleikarakningargögn"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"aðgangur að víðveruleikagögnum um þig og umhverfi þitt"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"viðkvæm víðveruleikarakningargögn"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"aðgangur að viðkvæmum rakningargögnum, eins og augnhreyfingum"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Sækja innihald glugga"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Kanna innihald glugga sem þú ert að nota."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Kveikja á snertikönnun"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Leyfir forritinu að breyta myndasafninu þínu."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"lesa staðsetningar úr efnissafninu þínu"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Leyfir forritinu að lesa staðsetningar úr efnissafninu þínu."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"fylgjast með áætluðum augnhreyfingum þínum"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Leyfir forritinu að fylgjast með áætluðum augnhreyfingum þínum."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"fylgjast með því hvert þú horfir"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Leyfir forritinu að fá aðgang að gögnum um nákvæmar augnhreyfingar þínar."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"fylgjast með andliti þínu"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Leyfir forritinu að fá aðgang að gögnum um greiningu andlitshreyfinga."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"rekja handahreyfingarnar þínar"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Leyfir forritinu að fá aðgang að gögnum um greiningu handahreyfinga."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"fylgjast með höfðinu á þér"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Leyfir forritinu að fá aðgang að gögnum um vöktun höfuðhreyfinga."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"átta sig á nánasta umhverfi þínu"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Veitir forritinu aðgang að rakningargögnum um nánasta umhverfi þitt."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"átta sig á nánasta umhverfi þínu í miklum smáatriðum"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Leyfir forritinu að fá aðgang að rakningargögnum um nánasta umhverfi þitt í miklum smáatriðum."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"fá aðgang að víðveruleikagögnum þegar það er ekki í forgrunni"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Leyfir forritinu að fá aðgang að víðveruleikagögnum þegar það er ekki í forgrunni."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Nota lífkenni"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Nota lífkenni eða skjálás"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Staðfestu hver þú ert"</string>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 47ef283..7506002 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -354,14 +354,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"Possono accedere ai dati dei sensori relativi ai tuoi parametri vitali"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notifiche"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"Visualizzazione di notifiche"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"dati di tracciamento XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"accesso ai dati XR relativi a te e all\'ambiente circostante"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"dati di tracciamento XR sensibili"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"accesso a dati di tracciamento sensibili, come lo sguardo"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Recuperare contenuti della finestra"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Esamina i contenuti di una finestra con cui interagisci."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Attivare Esplora al tocco"</string>
@@ -657,38 +653,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Consente all\'app di modificare la tua raccolta di foto."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"lettura delle posizioni dalla tua raccolta multimediale"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Consente all\'app di leggere le posizioni dalla tua raccolta multimediale."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"tracciamento approssimativo dello sguardo"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Consente all\'app di tracciare approssimativamente il tuo sguardo."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"tracciamento del punto osservato"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Consente all\'app di accedere a dati precisi sullo sguardo."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"tracciamento del volto"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Consente all\'app di accedere ai dati di tracciamento del volto."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"tracciamento delle mani"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Consente all\'app di accedere ai dati di tracciamento delle mani."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"tracciamento della testa"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Consente all\'app di accedere ai dati di tracciamento della testa."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"comprensione dell\'ambiente circostante"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Consente all\'app di accedere ai dati di tracciamento sull\'ambiente direttamente intorno a te."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"comprensione dell\'ambiente circostante in modo dettagliato"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Consente all\'app di accedere ai dati di tracciamento sull\'ambiente direttamente intorno a te molto dettagliatamente."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"accesso ai dati XR non in primo piano"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Consente all\'app di accedere ai dati XR non in primo piano."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Usa la biometria"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Usa la biometria o il blocco schermo"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Verifica la tua identità"</string>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index 7e37dff..7ad10c8 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"バイタルサインに関するセンサーデータへのアクセス"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"通知"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"通知を表示"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR トラッキング データ"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"ユーザーと周囲の環境に関する XR データへのアクセス"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"機密性の高い XR トラッキング データ"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"視線などの機密性の高いトラッキング データへのアクセス"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"ウィンドウコンテンツの取得"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"ユーザーがアクセスしているウィンドウのコンテンツを検査します。"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"タッチガイドの有効化"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"写真コレクションの変更をアプリに許可します。"</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"メディア コレクションの位置情報の読み取り"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"メディア コレクションの位置情報の読み取りをアプリに許可します。"</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"おおまかな視線のトラッキング"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"おおまかな視線のトラッキングをアプリに許可します。"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"視線の移動のトラッキング"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"正確な視線データへのアクセスをアプリに許可します。"</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"顔トラッキング"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"顔トラッキング データへのアクセスをアプリに許可します。"</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"ハンド トラッキング"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"ハンド トラッキング データへのアクセスをアプリに許可します。"</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"ヘッド トラッキング"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"ヘッド トラッキング データへのアクセスをアプリに許可します。"</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"周囲の環境を把握"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"周囲の環境に関するトラッキング データへのアクセスをアプリに許可します。"</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"周囲の環境を詳細に把握"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"周囲の環境に関する非常に詳細なトラッキング データへのアクセスをアプリに許可します。"</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"フォアグラウンドで実行されていないときに XR データにアクセス"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"フォアグラウンドで実行されていないときに XR データへのアクセスをアプリに許可します。"</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"生体認証の使用"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"生体認証または画面ロックの使用"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"本人確認"</string>
diff --git a/core/res/res/values-ka/strings.xml b/core/res/res/values-ka/strings.xml
index 5ecf5b7..fcdfc01 100644
--- a/core/res/res/values-ka/strings.xml
+++ b/core/res/res/values-ka/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"თქვენი სასიცოცხლო ფუნქციების შესახებ სენსორის მონაცემებზე წვდომა"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"შეტყობინებები"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"შეტყობინებების ჩვენება"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR თვალყურის დევნების მონაცემები"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"წვდომა თქვენ და მიმდებარე გარემოს შესახებ XR მონაცემებზე"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"XR თვალყურის დევნების სენსიტ. მონაცემები"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"წვდომა თვალყურის დევნების სენსიტიურ მონაცემებზე, როგორიცაა მზერის მიმართულება"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"ფანჯრის კონტენტის მოძიება"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"იმ ფანჯრის კონტენტის შემოწმება, რომელშიც მუშაობთ."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"„შეხებით აღმოჩენის“ ჩართვა"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"აპი შეძლებს თქვენი ფოტოკოლექციის შეცვლას."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"მდებარეობების გაცნობა თქვენი მედიაკოლექციიდან"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"აპი შეძლებს მდებარეობების გაცნობას თქვენი მედიაკოლექციიდან."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"თქვენი მზერის მიახლოებითი მიმართულების თვალყურის დევნება"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"ნებართვას აძლევს აპს, თვალყური ადევნოს თქვენი მზერის სავარაუდო მიმართულებას."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"მზერის მიმართულების თვალყურის დევნება"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"ნებართვას აძლევს აპს, მოიპოვოს წვდომა მზერის მიმართულების ზუსტ მონაცემებზე."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"თქვენი სახის თვალყურის დევნება"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"ნებართვას აძლევს აპს, მოიპოვოს წვდომა სახის თვალყურის დევნების მონაცემებზე."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"თქვენი ხელების მოძრაობაზე თვალის დევნება"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"ნებართვას აძლევს აპს, მოიპოვოს წვდომა ხელების მოძრაობაზე თვალყურის დევნების მონაცემებზე."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"თქვენი თავის მოძრაობაზე თვალყურის დევნება"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"ნებართვას აძლევს აპს, მოიპოვოს წვდომა თავის მოძრაობაზე თვალყურის დევნების მონაცემებზე."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"უშუალო გარემოს გაგება"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"ნებართვას აძლევს აპს, მოიპოვოს წვდომა თქვენ მიმდებარე გარემოზე თვალყურის დევნების მონაცემებზე."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"უშუალო გარემოს გაგება ზედმიწევნით დეტალურად"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"ნებართვას აძლევს აპს, მოიპოვოს წვდომა თქვენ მიმდებარე გარემოზე თვალყურის დევნების მონაცემებზე ზედმიწევნით დეტალურად."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"XR მონაცემებზე წვდომა უკანა პლანზე ყოფნისას"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"ნებართვას აძლევს აპს, მოიპოვოს წვდომა XR მონაცემებზე, უკანა პლანზე ყოფნისას."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"გამოიყენეთ ბიომეტრიული სისტემა"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"გამოიყენეთ ბიომეტრიული სისტემა ან ეკრანის დაბლოკვა"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"დაადასტურეთ ვინაობა"</string>
diff --git a/core/res/res/values-kk/strings.xml b/core/res/res/values-kk/strings.xml
index 98addd0..e60ce5d 100644
--- a/core/res/res/values-kk/strings.xml
+++ b/core/res/res/values-kk/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"ағза күйінің көрсеткіштері туралы сенсор деректеріне қатынасу"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Хабарландырулар"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"хабарландыруларды көрсету"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"бақылауға арналған XR деректері"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"сіз және айналаңыздағы орта туралы XR деректерін пайдалану"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"бақылауға арналған құпия XR деректері"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"қарау бағыты сияқты құпия қадағалау деректерін пайдалану"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Терезе контентін оқып отыру"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Ашық тұрған терезе контентін тексеру."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Түртілген элементтерді дыбыстау функциясын қосу"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Қолданбаға суреттер жинағын өзгертуге мүмкіндік береді."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"медиамазмұн жинағынан геодеректерді оқу"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Қолданбаға медиамазмұн жинағынан геодеректерді оқуға мүмкіндік береді."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"болжалды қарау бағытын қадағалау"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Қолданбаға болжалды қарау бағытын қадағалау рұқсаты беріледі."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"қараған бағытты қадағалау"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Қолданбаға қарау бағытының нақты деректерін пайдалану рұқсаты беріледі."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"бетті қадағалау"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Қолданбаға бетті қадағалау деректерін пайдалану рұқсаты беріледі."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"қол қимылын аңду"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Қолданбаға қол қимылын аңду деректерін пайдалану рұқсаты беріледі."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"бас қозғалысын қадағалау"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Қолданбаға бас қозғалысын қадағалау деректерін пайдалану рұқсаты беріледі."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"сізді қоршаған айналаны түсіне білу"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Қолданбаға сіздің айналаңыздағы ортаны бақылау деректерін пайдалану рұқсаты беріледі."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"сізді қоршаған айналаны терең түсіне білу"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Қолданбаға сіздің айналаңыздағы ортаны бақылаудың толық деректерін пайдалану рұқсаты беріледі."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"экрандық режимнен тыс кезде XR деректерін пайдалану"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Қолданба экрандық режимде тұрмаған кезде, оған XR деректерін пайдалану рұқсаты беріледі."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Биометриканы пайдалану"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Биометриканы немесе экран құлпын пайдалану"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Cіз екеніңізді растаңыз"</string>
diff --git a/core/res/res/values-km/strings.xml b/core/res/res/values-km/strings.xml
index 7d0f7785..ad10175 100644
--- a/core/res/res/values-km/strings.xml
+++ b/core/res/res/values-km/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"ចូលដំណើរការទិន្នន័យឧបករណ៍ចាប់សញ្ញាអំពីស្ថានភាពសុខភាពរបស់អ្នក"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"ការ​ជូនដំណឹង"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"បង្ហាញ​ការជូនដំណឹង"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"ទិន្នន័យតាមដាន XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"ចូលប្រើទិន្នន័យ XR អំពីអ្នក និងមជ្ឈដ្ឋានជុំវិញអ្នក"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"ទិន្នន័យតាមដាន XR ដែលរសើប"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"ចូលប្រើទិន្នន័យតាមដានដែលរសើប ដូចជាការសម្លឹងមើល"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"ទាញយក​ខ្លឹមសារ​វិនដូ"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"ពិនិត្យ​ខ្លឹមសារវិនដូ​ដែល​អ្នក​កំពុង​ធ្វើអន្តរកម្ម​ជា​មួយ។"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"បើក​ការ​រក​មើល​​ដោយ​ប៉ះ"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"អនុញ្ញាតឱ្យ​កម្មវិធី​កែប្រែ​បណ្ដុំ​រូបថត​របស់​អ្នក។"</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"អាន​ទីតាំង​ពី​បណ្ដុំ​មេឌៀ​របស់​អ្នក"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"អនុញ្ញាតឱ្យ​កម្មវិធី​អាន​ទីតាំង​ពីបណ្ដុំ​មេឌៀ​របស់​អ្នក។"</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"តាមដានការសម្លឹងមើលប្រហាក់ប្រហែលរបស់អ្នក"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"អនុញ្ញាតឱ្យកម្មវិធីតាមដានការសម្លឹងមើលប្រហាក់ប្រហែលរបស់អ្នក។"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"តាមដានកន្លែងដែលអ្នកកំពុងមើល"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"អនុញ្ញាតឱ្យកម្មវិធីចូលប្រើទិន្នន័យនៃការសម្លឹងមើលជាក់លាក់។"</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"តាមដានមុខរបស់អ្នក"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"អនុញ្ញាតឱ្យកម្មវិធីចូលប្រើទិន្នន័យតាមដានមុខ។"</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"តាមដានដៃរបស់អ្នក"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"អនុញ្ញាតឱ្យកម្មវិធីចូលប្រើទិន្នន័យតាមដានចលនាដៃ។"</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"តាមដានក្បាលរបស់អ្នក"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"អនុញ្ញាតឱ្យកម្មវិធីចូលប្រើទិន្នន័យតាមដានចលនាក្បាល។"</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"យល់ដឹងអំពីមជ្ឈដ្ឋានបច្ចុប្បន្នរបស់អ្នក"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"អនុញ្ញាតឱ្យកម្មវិធីចូលប្រើទិន្នន័យតាមដានអំពីមជ្ឈដ្ឋានជុំវិញអ្នកដោយផ្ទាល់។"</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"យល់ដឹងអំពីមជ្ឈដ្ឋានបច្ចុប្បន្នរបស់អ្នកដោយមានភាពលម្អិតកម្រិតខ្ពស់"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"អនុញ្ញាតឱ្យកម្មវិធីចូលប្រើទិន្នន័យតាមដានអំពីមជ្ឈដ្ឋានជុំវិញអ្នកដោយផ្ទាល់ដោយមានភាពលម្អិតកម្រិតខ្ពស់ខ្លាំង។"</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"ចូលប្រើទិន្នន័យ XR ពេលមិននៅផ្ទៃខាងមុខ"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"អនុញ្ញាតឱ្យកម្មវិធីចូលប្រើទិន្នន័យ XR ពេលមិននៅផ្ទៃខាងមុខ។"</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"ប្រើ​ជីវមាត្រ"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"ប្រើជីវមាត្រ ឬ​ការចាក់សោអេក្រង់"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"ផ្ទៀងផ្ទាត់ថាជាអ្នក"</string>
diff --git a/core/res/res/values-kn/strings.xml b/core/res/res/values-kn/strings.xml
index e3caae5..5711aa6 100644
--- a/core/res/res/values-kn/strings.xml
+++ b/core/res/res/values-kn/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"ನಿಮ್ಮ ಮುಖ್ಯ ಲಕ್ಷಣಗಳ ಕುರಿತು ಸೆನ್ಸಾರ್ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಿ"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"ನೋಟಿಫಿಕೇಶನ್‌ಗಳು"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"ಅಧಿಸೂಚನೆಗಳನ್ನು ತೋರಿಸಿ"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR ಟ್ರ್ಯಾಕಿಂಗ್ ಡೇಟಾ"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"ನಿಮ್ಮ ಮತ್ತು ನಿಮ್ಮ ಸುತ್ತಲಿನ ಪರಿಸರದ ಕುರಿತು XR ಡೇಟಾವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಿ"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"ಸೂಕ್ಷ್ಮವಾದ XR ಟ್ರ್ಯಾಕಿಂಗ್ ಡೇಟಾ"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"ಕಣ್ಣಿನ ನೋಟದಂತಹ ಸೂಕ್ಷ್ಮವಾದ ಟ್ರ್ಯಾಕಿಂಗ್ ಡೇಟಾವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಿ"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"ವಿಂಡೋ ವಿಷಯವನ್ನು ಹಿಂಪಡೆಯುತ್ತದೆ"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"ನೀವು ಸಂವಹನ ನಡೆಸುತ್ತಿರುವ ವಿಂಡೋದ ಕಂಟೆಂಟ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಿ."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"ಸ್ಪರ್ಶ-ಎಕ್ಸ್‌ಪ್ಲೋರ್ ಆನ್ ಮಾಡುತ್ತದೆ"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"ನಿಮ್ಮ ಫೋಟೋ ಸಂಗ್ರಹಣೆಯನ್ನು ಮಾರ್ಪಡಿಸಲು ಆ್ಯಪ್‌ಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"ನಿಮ್ಮ ಮೀಡಿಯಾ ಸಂಗ್ರಹಣೆಯಿಂದ ಸ್ಥಳಗಳನ್ನು ಓದಿ"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"ನಿಮ್ಮ ಮೀಡಿಯಾ ಸಂಗ್ರಹಣೆಯಿಂದ ಸ್ಥಳಗಳನ್ನು ಓದಲು ಆ್ಯಪ್‌ಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"ನಿಮ್ಮ ಕಣ್ಣಿನ ಅಂದಾಜು ನೋಟವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಿ"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"ನಿಮ್ಮ ಕಣ್ಣಿನ ಅಂದಾಜು ನೋಟವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಆ್ಯಪ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"ನೀವು ಎಲ್ಲಿ ನೋಡುತ್ತಿದ್ದೀರಿ ಎಂಬುದನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಿ"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"ಕಣ್ಣಿನ ನಿಖರವಾದ ನೋಟದ ಡೇಟಾವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಆ್ಯಪ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"ನಿಮ್ಮ ಮುಖವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಿ"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"ಫೇಸ್ ಟ್ರ್ಯಾಕಿಂಗ್ ಡೇಟಾವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಆ್ಯಪ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"ನಿಮ್ಮ ಕೈಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಿ"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"ಹ್ಯಾಂಡ್ ಟ್ರ್ಯಾಕಿಂಗ್ ಡೇಟಾವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಆ್ಯಪ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"ನಿಮ್ಮ ತಲೆಯನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಿ"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"ಹೆಡ್ ಟ್ರ್ಯಾಕಿಂಗ್ ಡೇಟಾವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಆ್ಯಪ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"ನಿಮ್ಮ ಸುತ್ತಲಿನ ಪರಿಸರವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"ನಿಮ್ಮ ಸುತ್ತಲಿನ ಪರಿಸರದ ಕುರಿತು ಟ್ರ್ಯಾಕಿಂಗ್ ಡೇಟಾವನ್ನು ನೇರವಾಗಿ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಆ್ಯಪ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"ನಿಮ್ಮ ಸುತ್ತಲಿನ ಪರಿಸರವನ್ನು ಇನ್ನಷ್ಟು ವಿವರವಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಿ"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"ನಿಮ್ಮ ಸುತ್ತಲಿನ ಪರಿಸರದ ಕುರಿತು ಟ್ರ್ಯಾಕಿಂಗ್ ಡೇಟಾವನ್ನು ಹೆಚ್ಚಿನ ವಿವರಗಳೊಂದಿಗೆ ನೇರವಾಗಿ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಆ್ಯಪ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"ಮುನ್ನೆಲೆಯಲ್ಲಿ ಇಲ್ಲದಿರುವಾಗ XR ಡೇಟಾವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಿ"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"ಮುನ್ನೆಲೆಯಲ್ಲಿ ಇಲ್ಲದಿರುವಾಗ XR ಡೇಟಾವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಆ್ಯಪ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"ಬಯೋಮೆಟ್ರಿಕ್ಸ್ ಬಳಸಿ"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"ಬಯೋಮೆಟ್ರಿಕ್ಸ್ ಅಥವಾ ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಅನ್ನು ಬಳಸಿ"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"ಇದು ನೀವೇ ಎಂದು ಪರಿಶೀಲಿಸಿ"</string>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index ffbe631..bb8c022 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"생체 신호에 관한 센서 데이터에 액세스"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"알림"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"알림 표시"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR 추적 데이터"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"사용자 및 주변 환경에 대한 XR 데이터에 액세스"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"민감한 XR 추적 데이터"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"시선 추적과 같은 민감한 추적 데이터에 액세스"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"창 콘텐츠 가져오기"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"상호작용 중인 창의 콘텐츠를 검사합니다."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"터치하여 탐색 사용"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"앱에서 사진 컬렉션을 수정하도록 허용합니다."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"미디어 컬렉션에서 위치 읽기"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"앱에서 미디어 컬렉션의 위치를 읽도록 허용합니다."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"대략적인 시선 추적"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"앱이 대략적인 시선을 추적하도록 허용합니다."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"시선 추적"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"앱이 정확한 시선 데이터에 액세스하도록 허용합니다."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"얼굴 추적"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"앱이 얼굴 트래킹 데이터에 액세스하도록 허용합니다."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"손 추적"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"앱이 핸드 트래킹 데이터에 액세스하도록 허용합니다."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"머리 추적"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"앱이 헤드 트래킹 데이터에 액세스하도록 허용합니다."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"주변 환경 파악"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"앱이 주변 환경에 대한 추적 데이터에 직접 액세스하도록 허용합니다."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"주변 환경 상세 파악"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"앱이 주변 환경에 대한 매우 상세한 추적 데이터에 액세스하도록 허용합니다."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"포그라운드에 있지 않을 때 XR 데이터에 액세스"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"앱이 포그라운드에 있지 않을 때 XR 데이터에 액세스하도록 허용합니다."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"생체 인식 사용"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"생체 인식 또는 화면 잠금을 사용"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"본인 확인"</string>
diff --git a/core/res/res/values-ky/strings.xml b/core/res/res/values-ky/strings.xml
index 5f19cf7..3fe442f 100644
--- a/core/res/res/values-ky/strings.xml
+++ b/core/res/res/values-ky/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"организмдин абалына көз салган сенсордун дайындарына мүмкүнчүлүк алуу"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Билдирмелер"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"билдирмелерди көрсөтүү"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"кеңейтилген чындыкка көз салуу дайындары"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"сиз жана айланаңыздагы чөйрө жөнүндө кеңейтилген чындык дайындарына кирүү"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"купуя XR көз салуу дайындары"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"көз караш сыяктуу купуя көз салуу дайындарына кирүү"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Терезедеги нерселерди алып туруу"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Учурда ачылып турган терезедеги маалыматты талдайт."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"\"Сыйпалап изилдөө\" мүмкүнчүлүгүн иштетет"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Колдонмого сүрөт жыйнагыңызды өзгөртүүгө мүмкүнчүлүк берет."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"медиа жыйнагыңыз сакталган жерлерди окуу"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Колдонмого медиа жыйнагыңыз сакталган жерлерди окууга мүмкүнчүлүк берет."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"көз карашыңыздын болжолдуу багытына көз салуу"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Колдонмого көз карашыңыздын болжолдуу багытына көз салуу мүмкүнчүлүгүн берет."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"кайда карап жатканыңызга көз салуу"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Колдонмого көз карашыңыздын багыты боюнча так маалыматка кирүү мүмкүнчүлүгүн берет."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"жүзүңүзгө көз салуу"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Колдонмого жүзгө көз салуу боюнча так маалыматка кирүү мүмкүнчүлүгүн берет."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"колдоруңузга көз салуу"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Колдонмого колдорго көз салуу боюнча маалыматка кирүү мүмкүнчүлүгүн берет."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"башыңыздын кыймылына көз салуу"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Колдонмого баштын кыймылына көз салуу мүмкүнчүлүгүн берет."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"жакын айлана-чөйрөңүздү түшүнүү"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Колдонмого айлана-чөйрөңүзгө көз салуу дайындарына кирүү мүмкүнчүлүгүн берет."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"айлана-чөйрөңүзгө көз салуу дайындарынын толук чоо-жайын түшүнүү"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Колдонмого айлана-чөйрөңүзгө көз салуу дайындарынын толук чоо-жайына кирүү мүмкүнчүлүгүн берет."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"фондук режиминде кеңейтилген чындык дайындарына кирүү мүмкүнчүлүгү"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Колдонмого фондук режиминде кеңейтилген чындык дайындарына кирүү мүмкүнчүлүгүн берет."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Биометрикалык параметрлерди колдонуу"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Биометрикалык жөндөөнү же экрандын кулпусун колдонуу"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Өзүңүздү ырастаңыз"</string>
diff --git a/core/res/res/values-lo/strings.xml b/core/res/res/values-lo/strings.xml
index fa1ff2b..1658a78 100644
--- a/core/res/res/values-lo/strings.xml
+++ b/core/res/res/values-lo/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"ເຂົ້າ​ຫາ​ຂໍ້​ມູນ​ເຊັນ​ເຊີ​ກ່ຽວ​ກັບ​ສັນ​ຍານ​ຊີບ​ຂອງ​ທ່ານ"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"ການແຈ້ງເຕືອນ"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"ສະແດງການແຈ້ງເຕືອນ"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"ຂໍ້ມູນການຕິດຕາມ XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"ເຂົ້າເຖິງຂໍ້ມູນ XR ກ່ຽວກັບທ່ານ ແລະ ສະພາບແວດລ້ອມອ້ອມຕົວທ່ານ"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"ຂໍ້ມູນການຕິດຕາມ XR ທີ່ມີຄວາມລະອຽດອ່ອນ"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"ເຂົ້າເຖິງຂໍ້ມູນການຕິດຕາມທີ່ມີຄວາມລະອຽດອ່ອນ ເຊັ່ນ: ການຈ້ອງດ້ວຍຕາ"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"ດຶງຂໍ້ມູນເນື້ອຫາໃນໜ້າຈໍ"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"ກວດກາເນື້ອຫາຂອງໜ້າຈໍທີ່ທ່ານກຳລັງມີປະຕິສຳພັນນຳ."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"ເປີດໃຊ້ \"ການສຳຫຼວດໂດຍສຳຜັດ\""</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"ອະນຸຍາດໃຫ້ແອັບແກ້ໄຂຄໍເລັກຊັນຮູບຂອງທ່ານ."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"ອ່ານສະຖານທີ່ຈາກຄໍເລັກຊັນມີເດຍຂອງທ່ານ"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"ອະນຸຍາດໃຫ້ແອັບອ່ານສະຖານທີ່ຈາກຄໍເລັກຊັນມີເດຍຂອງທ່ານ."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"ຕິດຕາມການຈ້ອງດ້ວຍຕາໂດຍປະມານຂອງທ່ານ"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"ອະນຸຍາດໃຫ້ແອັບຕິດຕາມການຈ້ອງດ້ວຍຕາໂດຍປະມານຂອງທ່ານ."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"ຕິດຕາມຕຳແໜ່ງທີ່ທ່ານເບິ່ງ"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"ອະນຸຍາດໃຫ້ແອັບເຂົ້າເຖິງຂໍ້ມູນການຈ້ອງດ້ວຍຕາຢ່າງລະອຽດ."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"ຕິດຕາມໃບໜ້າຂອງທ່ານ"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"ອະນຸຍາດໃຫ້ແອັບເຂົ້າເຖິງຂໍ້ມູນການຕິດຕາມໃບໜ້າ."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"ຕິດຕາມມືຂອງທ່ານ"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"ອະນຸຍາດໃຫ້ແອັບເຂົ້າເຖິງຂໍ້ມູນການຕິດຕາມມື."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"ຕິດຕາມຫົວຂອງທ່ານ"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"ອະນຸຍາດໃຫ້ແອັບເຂົ້າເຖິງຂໍ້ມູນການຕິດຕາມຫົວ."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"ເຂົ້າໃຈສະພາບແວດລ້ອມທີ່ຢູ່ໃກ້ຕົວທ່ານ"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"ອະນຸຍາດໃຫ້ແອັບເຂົ້າເຖິງຂໍ້ມູນການຕິດຕາມກ່ຽວກັບສະພາບແວດລ້ອມອ້ອມຕົວທ່ານໂດຍກົງ."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"ເຂົ້າໃຈສະພາບແວດລ້ອມທີ່ຢູ່ໃກ້ຕົວທ່ານແບບລາຍລະອຽດສູງ"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"ອະນຸຍາດໃຫ້ແອັບເຂົ້າເຖິງຂໍ້ມູນການຕິດຕາມກ່ຽວກັບສະພາບແວດລ້ອມອ້ອມຕົວທ່ານໂດຍກົງທີ່ມີລາຍລະອຽດສູງຫຼາຍ."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"ເຂົ້າເຖິງຂໍ້ມູນ XR ໃນລະຫວ່າງທີ່ບໍ່ໄດ້ເຮັດວຽກຢູ່ໃນເບື້ອງໜ້າ"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"ອະນຸຍາດໃຫ້ແອັບເຂົ້າເຖິງຂໍ້ມູນ XR ໃນລະຫວ່າງທີ່ບໍ່ໄດ້ເຮັດວຽກຢູ່ໃນເບື້ອງໜ້າ."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"ໃຊ້ລະບົບຊີວະມິຕິ"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"ໃຊ້ລະບົບຊີວະມິຕິ ຫຼື ການລັອກໜ້າຈໍ"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"ຢັ້ງຢືນວ່າແມ່ນທ່ານ"</string>
@@ -1844,7 +1824,7 @@
     <string name="hearing_device_notification_switch_button" msgid="3619524619430941300">"ປ່ຽນ"</string>
     <string name="hearing_device_notification_settings_button" msgid="6673651052880279178">"ການຕັ້ງຄ່າ"</string>
     <string name="user_switched" msgid="7249833311585228097">"ຜູ່ໃຊ້ປັດຈຸບັນ <xliff:g id="NAME">%1$s</xliff:g> ."</string>
-    <string name="user_switching_message" msgid="1912993630661332336">"ກຳລັງສະຫຼັບໄປຫາ<xliff:g id="NAME">%1$s</xliff:g>…"</string>
+    <string name="user_switching_message" msgid="1912993630661332336">"ກຳລັງສະຫຼັບໄປຫາ <xliff:g id="NAME">%1$s</xliff:g>…"</string>
     <string name="user_logging_out_message" msgid="7216437629179710359">"ກຳລັງອອກຈາກລະບົບ <xliff:g id="NAME">%1$s</xliff:g>…"</string>
     <string name="owner_name" msgid="8713560351570795743">"ເຈົ້າຂອງ"</string>
     <string name="guest_name" msgid="8502103277839834324">"ແຂກ"</string>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index b9303fa..57db157 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -355,14 +355,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"pasiekti jutiklių duomenis apie gyvybinius ženklus"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Pranešimai"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"rodyti pranešimus"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR stebėjimo duomenys"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"pasiekti XR duomenis apie jus ir aplinką"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"neskelbtini XR stebėjimo duomenys"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"pasiekti neskelbtinus stebėjimo duomenis, pvz., žvilgsnį"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Gauti lango turinį"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Tikrinti lango, su kuriuo sąveikaujate, turinį."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Įjungti „Naršyti paliečiant“"</string>
@@ -658,38 +654,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Programai leidžiama keisti nuotraukų kolekciją."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"skaityti vietoves iš medijos kolekcijos"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Programai leidžiama skaityti vietoves iš medijos kolekcijos."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"stebėti apytikslį žvilgsnį"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Leidžiama programai stebėti apytikslį žvilgsnį."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"stebėti, kur žiūrite"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Leidžiama programai pasiekti tikslius žvilgsnio duomenis."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"stebėti veidą"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Leidžiama programai pasiekti veido stebėjimo duomenis."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"stebėti rankas"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Leidžiama programai pasiekti rankų stebėjimo duomenis."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"stebėti galvos judesius"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Leidžiama programai pasiekti galvos stebėjimo duomenis."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"suprasti artimiausią aplinką"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Leidžiama programai pasiekti stebėjimo duomenis apie aplinką, esančią tiesiogiai aplink jus."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"suprasti artimiausią aplinką labai detaliai"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Leidžiama programai pasiekti labai išsamius stebėjimo duomenis apie aplinką, esančią tiesiogiai aplink jus."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"pasiekti XR duomenis, kai programa veikia ne priekiniame plane"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Leidžiama programai pasiekti XR duomenis, kai ji nėra priekiniame plane."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Naudoti biometrinius duomenis"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Naudoti biometrinius duomenis arba ekrano užraktą"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Patvirtinkite, kad tai jūs"</string>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index 3a1df4b..764e8c9 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -354,14 +354,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"piekļūt sensoru datiem par jūsu veselības rādījumiem"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Paziņojumi"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"rādīt paziņojumus"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"PR izsekošanas dati"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"piekļūt PR datiem par jums un vidi ap jums"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"sensitīvi PR izsekošanas dati"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"piekļūt sensitīviem izsekošanas datiem, piemēram, acu kustībām"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Izgūt loga saturu."</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Skatīt tā loga saturu, ar kuru mijiedarbojaties."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Aktivizēt funkciju “Pārlūkot pieskaroties”."</string>
@@ -657,38 +653,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Ļauj lietotnei pārveidot jūsu fotoattēlu kolekciju."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"Lasīt atrašanās vietas no jūsu multivides kolekcijas"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Ļauj lietotnei lasīt atrašanās vietas no jūsu multivides kolekcijas."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"izsekot aptuvenām acu kustībām"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Ļauj lietotnei izsekot aptuvenām acu kustībām."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"izsekot, kur skatāties"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Ļauj lietotnei piekļūt precīziem acu kustību izsekošanas datiem."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"izsekot jūsu sejas kustībām"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Ļauj lietotnei piekļūt sejas kustību izsekošanas datiem."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"izsekot jūsu roku kustībām"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Ļauj lietotnei piekļūt roku kustību izsekošanas datiem."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"izsekot jūsu galvas kustībām"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Ļauj lietotnei piekļūt galvas kustību reģistrēšanas datiem."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"izprast jūsu tuvāko apkārtni"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Ļauj lietotnei piekļūt izsekošanas datiem par vidi tieši ap jums."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"detalizēti izprast jūsu tuvāko apkārtni"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Ļauj lietotnei piekļūt ļoti detalizētiem izsekošanas datiem par vidi tieši ap jums."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"piekļūt PR datiem, kamēr lietotne nedarbojas priekšplānā"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Ļauj lietotnei piekļūt PR datiem, kamēr lietotne nedarbojas priekšplānā."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Biometrijas izmantošana"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Biometrijas vai ekrāna bloķēšanas izmantošana"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Apstipriniet, ka tas esat jūs"</string>
diff --git a/core/res/res/values-mk/strings.xml b/core/res/res/values-mk/strings.xml
index c6d51c7..4600935 100644
--- a/core/res/res/values-mk/strings.xml
+++ b/core/res/res/values-mk/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"пристапува до податоците од сензорите за виталните функции"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Известувања"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"да прикажува известувања"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR-податоци за следење"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"да пристапува до XR-податоци за вас и околината околу вас"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"чувствителни XR-податоци за следење"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"да пристапува до чувствителни податоци за следење, како што е погледот"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"да ги вчитува содржините од прозорците"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"да ги проверува содржините од прозорецот што го користите"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"да вклучи „Истражувај со допир“"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Дозволува апликацијата да ја менува вашата збирка на фотографии."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"да чита локации од вашата збирка на аудиовизуелни содржини"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Дозволува апликацијата да чита локации од вашата збирка на аудиовизуелни содржини."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"да го следи вашиот приближен поглед"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Дозволува апликацијата да го следи вашиот приближен поглед."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"да следи каде гледате"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Дозволува апликацијата да пристапува до податоци за прецизен поглед."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"да го следи вашиот лик"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Дозволува апликацијата да пристапува до податоците за следење лик."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"да ги следи вашите раце"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Дозволува апликацијата да пристапува до податоците за следење на раце."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"да го следи вашето движење"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Дозволува апликацијата да пристапува до податоците за следење на движење."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"да ја разбере вашата непосредна околина"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Дозволува апликацијата да пристапува до податоците за следење на околината директно околу вас."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"да ја разбере вашата непосредна околина со многу детали"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Дозволува апликацијата да пристапува до податоците за следење на околината директно околу вас со многу детали."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"да пристапува до XR-податоци кога не е во преден план"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Дозволува апликацијата да пристапува до XR-податоците кога не е во преден план."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Користи биометрика"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Користи биометрика или заклучен екран"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Потврдете дека сте вие"</string>
diff --git a/core/res/res/values-ml/strings.xml b/core/res/res/values-ml/strings.xml
index 17fa98b..d9ec167 100644
--- a/core/res/res/values-ml/strings.xml
+++ b/core/res/res/values-ml/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"നിങ്ങളുടെ ജീവാധാര ലക്ഷണങ്ങളെ കുറിച്ചുള്ള സെൻസർ വിവരങ്ങൾ ആക്സസ് ചെയ്യുക"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"അറിയിപ്പുകൾ"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"അറിയിപ്പുകൾ കാണിക്കുക"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR ട്രാക്കിംഗ് ഡാറ്റ"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"നിങ്ങളെ കുറിച്ചും നിങ്ങളുടെ ചുറ്റുപാടുകളെകുറിച്ചുമുള്ള XR ഡാറ്റ ആക്സസ് ചെയ്യുക"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"സെൻസിറ്റീവ് XR ട്രാക്കിംഗ് ഡാറ്റ"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"നോട്ടം പോലുള്ള, സൂക്ഷ്‌മമായി കൈകാര്യം ചെയ്യേണ്ട ട്രാക്കിംഗ് ഡാറ്റ ആക്സസ് ചെയ്യുക"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"വിൻഡോ ഉള്ളടക്കം വീണ്ടെടുക്കുക"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"നിങ്ങൾ സംവദിക്കുന്ന ഒരു വിൻഡോയുടെ ഉള്ളടക്കം പരിശോധിക്കുക."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"സ്‌പർശനം വഴി പര്യവേക്ഷണം ചെയ്യുക, ഓണാക്കുക"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"നിങ്ങളുടെ ഫോട്ടോ ശേഖരം പരിഷ്‌ക്കരിക്കുന്നതിന് ആപ്പിനെ അനുവദിക്കുന്നു."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"നിങ്ങളുടെ മീഡിയ ശേഖരത്തിൽ നിന്നും ലൊക്കേഷനുകൾ റീഡ് ചെയ്യുക"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"നിങ്ങളുടെ മീഡിയ ശേഖരത്തിൽ നിന്നും ലൊക്കേഷനുകൾ റീഡ് ചെയ്യുന്നതിന് ആപ്പിനെ അനുവദിക്കുന്നു."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"നിങ്ങളുടെ നോട്ടത്തിന്റെ ഏകദേശ ഡാറ്റ ട്രാക്ക് ചെയ്യുക"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"നിങ്ങളുടെ നോട്ടത്തിന്റെ ഏകദേശ ഡാറ്റ ട്രാക്ക് ചെയ്യാൻ ആപ്പിനെ അനുവദിക്കുന്നു."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"നിങ്ങൾ എവിടേയ്ക്കാണ് നോക്കുന്നതെന്ന് ട്രാക്ക് ചെയ്യുക"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"നോട്ടത്തിന്റെ കൃത്യമായ ഡാറ്റ ആക്സസ് ചെയ്യാൻ ആപ്പിനെ അനുവദിക്കുന്നു."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"നിങ്ങളുടെ മുഖം ട്രാക്ക് ചെയ്യുക"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"മുഖ ട്രാക്കിംഗ് ഡാറ്റ ആക്സസ് ചെയ്യാൻ ആപ്പിനെ അനുവദിക്കുന്നു."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"നിങ്ങളുടെ കൈകൾ ട്രാക്ക് ചെയ്യുക"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"കൈചലനം ട്രാക്കിംഗ് ഡാറ്റ ആക്സസ് ചെയ്യാൻ ആപ്പിനെ അനുവദിക്കുന്നു."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"നിങ്ങളുടെ തല ട്രാക്ക് ചെയ്യുക"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"തല ട്രാക്കിംഗ് ഡാറ്റ ആക്സസ് ചെയ്യാൻ ആപ്പിനെ അനുവദിക്കുക."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"നിങ്ങളുടെ ഏറ്റവുമടുത്തുള്ള ചുറ്റുപാടുകൾ മനസ്സിലാക്കുക"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"നിങ്ങളുടെ ചുറ്റുപാടുകളെക്കുറിച്ചുള്ള ട്രാക്കിംഗ് ഡാറ്റ നേരിട്ട് ആക്‌സസ് ചെയ്യാൻ ആപ്പിനെ അനുവദിക്കുന്നു."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"നിങ്ങളുടെ ഏറ്റവുമടുത്തുള്ള ചുറ്റുപാടുകൾ വളരെ വിശദമായി മനസ്സിലാക്കുക"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"നിങ്ങളുടെ ചുറ്റുപാടുകളെക്കുറിച്ചുള്ള വളരെ വിശദമായ ട്രാക്കിംഗ് ഡാറ്റ നേരിട്ട് ആക്‌സസ് ചെയ്യാൻ ആപ്പിനെ അനുവദിക്കുന്നു."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"ഫോർഗ്രൗണ്ടിൽ ഇല്ലാത്തപ്പോൾ XR ഡാറ്റ ആക്‌സസ് ചെയ്യുക"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"ഫോർഗ്രൗണ്ടിൽ ഇല്ലാത്തപ്പോൾ XR ഡാറ്റ ആക്‌സസ് ചെയ്യാൻ ആപ്പിനെ അനുവദിക്കുന്നു."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"ബയോമെട്രിക്‌സ് ഉപയോഗിക്കുക"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"ബയോമെട്രിക്‌സ് അല്ലെങ്കിൽ സ്‌ക്രീൻ ലോക്ക് ഉപയോഗിക്കുക"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"ഇത് നിങ്ങളാണെന്ന് പരിശോധിച്ചുറപ്പിക്കുക"</string>
diff --git a/core/res/res/values-mn/strings.xml b/core/res/res/values-mn/strings.xml
index 48b2aa8..05f4f05 100644
--- a/core/res/res/values-mn/strings.xml
+++ b/core/res/res/values-mn/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"таны биеийн байдлын талаарх мэдрэгч бүхий өгөгдөлд нэвтрэх"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Мэдэгдэл"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"мэдэгдэл харуулах"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR-н хяналтын өгөгдөл"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"таны болон таны орчны талаарх XR-н өгөгдөлд хандах"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"XR-н хяналтын эмзэг өгөгдөл"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"нүдний харц зэрэг хяналтын эмзэг өгөгдөлд хандах"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Цонхны агуулгыг авах"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Таны харилцан үйлчлэх цонхны контентоос шалгах."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Хүрэлтээр сонсохыг асаах"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Таны зургийн цуглуулгыг тохируулах зөвшөөрлийг аппад олгодог."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"медиа цуглуулгаасаа байршлыг унших"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Таны медиа цуглуулгаас байршлыг унших зөвшөөрлийг аппад олгодог."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"таны нүдний барагцаалсан харцыг хянах"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Аппад таны нүдний барагцаалсан харцыг хянахыг зөвшөөрнө."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"таны хаашаа харж байгааг хянах"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Аппад таны нүдний нарийвчилсан харцын өгөгдөлд хандахыг зөвшөөрнө."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"таны царайг хянах"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Аппад царай хяналтын өгөгдөлд хандахыг зөвшөөрнө."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"таны гарыг хянах"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Аппад гар хяналтын өгөгдөлд хандахыг зөвшөөрнө."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"таны толгойг хянах"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Аппад толгойн хяналтын өгөгдөлд хандахыг зөвшөөрнө."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"таны яг байгаа орчныг ойлгох"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Аппад таны яг байгаа орчны талаарх хяналтын өгөгдөлд хандахыг зөвшөөрнө."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"таны яг байгаа орчныг өндөр нарийвчлалтай ойлгох"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Аппад таны яг байгаа орчны талаарх маш өндөр нарийвчлалтай хяналтын өгөгдөлд хандахыг зөвшөөрнө."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"дэвсгэрт байхдаа XR-н өгөгдөлд хандах"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Аппад дэвсгэрт байхдаа XR-н өгөгдөлд хандахыг зөвшөөрнө."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Биометр ашиглах"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Биометр эсвэл дэлгэцийн түгжээ ашиглах"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Өөрийгөө мөн гэдгийг баталгаажуулаарай"</string>
diff --git a/core/res/res/values-mr/strings.xml b/core/res/res/values-mr/strings.xml
index 03400f2..df7688e 100644
--- a/core/res/res/values-mr/strings.xml
+++ b/core/res/res/values-mr/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"आपल्‍या महत्त्वाच्या मापनांविषयी सेन्सर डेटा अ‍ॅक्सेस करा"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"सूचना"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"सूचना दाखवा"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR ट्रॅकिंग डेटा"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"तुमच्याबद्दल आणि तुमच्या सभोवतालच्या वातावरणाबद्दल XR डेटा अ‍ॅक्सेस करा"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"संवेदनशील XR ट्रॅकिंग डेटा"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"संवेदनशील ट्रॅकिंग डेटा अ‍ॅक्सेस करा, जसे की डोळ्यांची हालचाल"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"विंडोमधील आशय पुन्हा मिळवा"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"तुम्ही वापरत असलेल्‍या विंडोमधील आशय तपासा."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"स्पर्श करून अन्वेषण सुरू करा"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"ॲपला तुमच्या फोटो संग्रहामध्ये सुधारणा करण्याची अनुमती देते."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"तुमच्या मीडिया संग्रहातून स्थाने वाचा"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"ॲपला तुमच्या मीडिया संग्रहामध्येील स्थाने वाचण्यासाठी अनुमती देते."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"तुमच्या डोळ्यांची अंदाजे हालचाल ट्रॅक करा"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"अ‍ॅपला तुमच्या डोळ्यांची अंदाजे हालचाल ट्रॅक करण्याची अनुमती देते."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"तुम्ही कुठे पाहत आहात ते ट्रॅक करा"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"अ‍ॅपला तुमच्या डोळ्यांच्या अचूक हालचालीचा डेटा अ‍ॅक्सेस करण्याची अनुमती देते."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"तुमचा चेहरा ट्रॅक करा"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"अ‍ॅपला फेस ट्रॅकिंग डेटा अ‍ॅक्सेस करण्याची अनुमती देते."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"तुमचे हात ट्रॅक करा"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"अ‍ॅपला हँड ट्रॅकिंग डेटा अ‍ॅक्सेस करण्याची अनुमती देते."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"तुमचे डोके ट्रॅक करा"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"अ‍ॅपला हेड ट्रॅकिंग डेटा अ‍ॅक्सेस करण्याची अनुमती देते."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"तुमच्या आजूबाजूचे वातावरण समजून घ्या"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"तुमच्या सभोवतालच्या वातावरणाबद्दलचा ट्रॅकिंग डेटा अ‍ॅक्सेस करण्यासाठी अ‍ॅपला अनुमती देते."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"तुमच्या आजूबाजूचे वातावरण सविस्तरपणे समजून घ्या"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"अ‍ॅपला तुमच्या सभोवतालच्या वातावरणाबद्दलचा ट्रॅकिंग डेटा अत्यंत तपशिलवार अ‍ॅक्सेस करण्याची अनुमती देते."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"फोरग्राउंडमध्ये नसताना XR डेटा अ‍ॅक्सेस करा"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"फोरग्राउंडमध्ये नसतानाही अ‍ॅपला XR डेटा अ‍ॅक्सेस करण्याची अनुमती देते."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"बायोमेट्रिक वापरा"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"बायोमेट्रिक किंवा स्क्रीन लॉक वापरा"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"हे तुम्हीच आहात याची पडताळणी करा"</string>
diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml
index 889324c..7d77268 100644
--- a/core/res/res/values-ms/strings.xml
+++ b/core/res/res/values-ms/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"akses data penderia tentang tanda vital anda"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Pemberitahuan"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"tunjukkan pemberitahuan"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"Data penjejakan XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"mengakses data XR tentang anda dan persekitaran di sekeliling anda"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"Data penjejakan XR sensitif"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"mengakses data penjejakan sensitif, seperti renungan mata"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Dapatkan kembali kandungan tetingkap"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Periksa kandungan tetingkap yang berinteraksi dengan anda."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Hidupkan Teroka melalui Sentuhan"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Membenarkan apl mengubah suai koleksi foto anda."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"baca lokasi daripada koleksi media anda"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Membenarkan apl membaca lokasi daripada koleksi media anda."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"Menjejaki anggaran renungan mata anda"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Membenarkan apl menjejaki anggaran renungan mata anda."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"menjejaki tempat yang anda lihat"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Membenarkan apl menjejaki data renungan mata yang tepat."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"menjejaki wajah anda"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Membenarkan apl mengakses data penjejakan wajah."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"menjejaki tangan anda"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Membenarkan apl mengakses data penjejakan tangan."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"menjejaki kepala anda"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Membenarkan apl mengakses data penjejakan kepala."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"memahami persekitaran berhampiran anda"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Membenarkan apl untuk mengakses data penjejakan tentang persekitaran secara langsung di sekeliling anda."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"memahami persekitaran berhampiran anda pada butiran yang tinggi"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Membenarkan apl mengakses data penjejakan tentang persekitaran secara langsung di sekeliling anda dengan butiran yang amat tinggi."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"mengakses data XR semasa tidak di latar depan"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Membenarkan apl mengakses data XR semasa tidak di latar depan."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Gunakan biometrik"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Gunakan biometrik atau kunci skrin"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Sahkan diri anda"</string>
diff --git a/core/res/res/values-my/strings.xml b/core/res/res/values-my/strings.xml
index 67f0841..b2b6011 100644
--- a/core/res/res/values-my/strings.xml
+++ b/core/res/res/values-my/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"သင်၏အရေးကြီးသော ကျန်းမာရေးလက္ခဏာဆိုင်ရာ အာရုံခံကိရိယာဒေတာကို ရယူရန်"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"အကြောင်းကြားချက်များ"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"အကြောင်းကြားချက်များ ပြနိုင်သည်"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR ခြေရာခံခြင်းဒေတာ"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"သင်နှင့် သင့်ဘေးနားရှိ ပတ်ဝန်းကျင်အကြောင်း XR ဒေတာကို သုံးခွင့်"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"သတိထားရမည့် XR ခြေရာခံခြင်းဒေတာ"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"မျက်လုံးအကြည့်ကဲ့သို့သော သတိထားရမည့် ခြေရာခံခြင်းဒေတာကို သုံးခွင့်"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"ဝင်းဒိုးတွင် ပါရှိသည်များကို ပြန်လည်ရယူရန်"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"သင်အသုံးပြုနေသော ဝင်းဒိုးတွင် ပါရှိသည်များကို ကြည့်ရှုစစ်ဆေးသည်။"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"တို့ထိခြင်းဖြင့် ရှာဖွေမှုကို ဖွင့်ရန်"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"အက်ပ်အား သင့်ဓာတ်ပုံစုစည်းမှုကို ပြုပြင်ခွင့်ပေးသည်။"</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"သင့်မီဒီယာစုစည်းမှုမှ တည်နေရာများကို ဖတ်ခြင်း"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"အက်ပ်အား သင့်မီဒီယာစုစည်းမှုမှ တည်နေရာများကို ဖတ်ခွင့်ပေးသည်။"</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"ခန့်မှန်းခြေ မျက်လုံးအကြည့်ကို စောင့်ကြည့်ခြင်း"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"သင်၏ ခန့်မှန်းခြေမျက်လုံးအကြည့်ကို အက်ပ်အား စောင့်ကြည့်ခွင့်ပြုသည်။"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"သင်ကြည့်နေသည့်နေရာကို စောင့်ကြည့်ခြင်း"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"တိကျသော မျက်လုံးအကြည့်ဒေတာကို အက်ပ်အား သုံးခွင့်ပြုသည်။"</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"သင့်မျက်နှာကို စောင့်ကြည့်ခြင်း"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"မျက်နှာခြေရာခံခြင်းဒေတာကို အက်ပ်အား သုံးခွင့်ပြုသည်။"</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"သင့်လက်များကို စောင့်ကြည့်ခြင်း"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"လက်ဟန်ခြေရာခံခြင်းဒေတာကို အက်ပ်အား သုံးခွင့်ပြုသည်။"</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"သင့်ခေါင်းကို စောင့်ကြည့်ခြင်း"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"ဦးခေါင်းလှုပ်ရှားမှု မှတ်သားခြင်းဒေတာကို အက်ပ်အား သုံးခွင့်ပြုသည်။"</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"သင့်အနီးဆုံးပတ်ဝန်းကျင်ကို နားလည်ခြင်း"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"သင့်ဘေးနားရှိ ပတ်ဝန်းကျင်အကြောင်း ခြေရာခံခြင်းဒေတာကို အက်ပ်အား သုံးခွင့်ပြုသည်။"</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"သင့်အနီးဆုံးပတ်ဝန်းကျင်၏ အတွင်းကျကျအသေးစိတ်ကို နားလည်ခြင်း"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"သင့်ဘေးနားရှိ ပတ်ဝန်းကျင်အကြောင်း အတွင်းကျကျအသေးစိတ် ခြေရာခံခြင်းဒေတာကို အက်ပ်အား သုံးခွင့်ပြုသည်။"</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"မျက်နှာစာတွင် ဖွင့်မထားချိန်၌ XR ဒေတာကို သုံးခွင့်"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"မျက်နှာစာတွင် ဖွင့်မထားချိန်၌ XR ဒေတာကို အက်ပ်အား သုံးခွင့်ပြုသည်။"</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"ဇီဝမက်ထရစ်အချက်အလက်များ သုံးခြင်း"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"ဇီဝမက်ထရစ်အချက်အလက်များ (သို့) ဖန်သားပြင်လော့ခ်ချခြင်းကို သုံးခြင်း"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"သင်ဖြစ်ကြောင်း အတည်ပြုပါ"</string>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index 44458ba..3022fca 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"få tilgang til sensordata om de vitale tegnene dine"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Varsler"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"vise varsler"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR-sporingsdata"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"lese XR-data om deg og omgivelsene dine"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"sensitive XR-sporingsdata"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"lese sensitive sporingsdata, for eksempel øyebevegelser"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"hente innhold i vinduer"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Appen analyserer innholdet i vinduer du samhandler med."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"slå på berøringsutforsking"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Lar appen gjøre endringer i bildesamlingen din."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"lese posisjoner fra mediesamlingen din"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Lar appen lese posisjoner fra mediesamlingen din."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"spore omtrentlige øyebevegelser"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Lar appen spore de omtrentlige øyebevegelsene dine."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"spore hvor du ser"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Gir appen tilgang til nøyaktige data om øyebevegelser."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"spore ansiktet ditt"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Gir appen tilgang til data for ansiktssporing."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"spore hendene dine"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Gir appen tilgang til data for håndsporing."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"spore hodet ditt"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Gir appen tilgang til data for hodesporing."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"forstå omgivelsene like rundt deg"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Gir appen tilgang til sporingsdata om omgivelsene like rundt deg."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"forstå omgivelsene like rundt deg med høyt detaljnivå"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Gir appen tilgang til sporingsdata om omgivelsene like rundt deg med svært høyt detaljnivå."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"bruke XR-data når appen ikke er i forgrunnen"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Gir appen tilgang til XR-data når den ikke er i forgrunnen."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Bruk biometri"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Bruk biometri eller skjermlås"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Bekreft at det er deg"</string>
diff --git a/core/res/res/values-ne/strings.xml b/core/res/res/values-ne/strings.xml
index 2591a15..93ead6d 100644
--- a/core/res/res/values-ne/strings.xml
+++ b/core/res/res/values-ne/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"तपाईंको महत्त्वपूर्ण संकेत बारे सेन्सर डेटा पहुँच गर्नुहोस्"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"नोटिफिकेसनहरू"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"सूचनाहरू देखाउनुहोस्"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR सम्बन्धी ट्रयाकिङ डेटा"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"तपाईं र तपाईंको वरपरको वातावरणका बारेमा XR सम्बन्धी डेटा एक्सेस गर्ने"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"XR सम्बन्धी संवेदनशील ट्रयाकिङ डेटा"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"संवेदनशील ट्रयाकिङ डेटा (जस्तै, आँखाको गतिविधि) एक्सेस गर्ने"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"विन्डो सामग्रीको पुनःबहाली गर्नुहोस्।"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"तपाईँको अन्तरक्रिया भइरहेको विन्डोको सामग्रीको निरीक्षण गर्नुहोस्।"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"छोएर गरिने खोजलाई सुचारु गर्नुहोस्"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"यसले एपलाई तपाईंको तस्बिरको सङ्ग्रह परिमार्जन गर्न दिन्छ।"</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"आफ्नो मिडियाको सङ्ग्रहका स्थानहरू पढ्नुहोस्‌"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"यसले एपलाई तपाईंको मिडिया सङ्ग्रहका स्थानहरू पढ्न दिन्छ।"</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"तपाईंको आँखाको गतिविधिसम्बन्धी अनुमानित डेटा ट्रयाक गर्ने"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"तपाईंले यो अनुमति दिनुभयो भने यो एपले तपाईंको आँखाको गतिविधिसम्बन्धी अनुमानित डेटा ट्रयाक गर्न सक्छ।"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"तपाईं कहाँ हेरिरहनुभएको छ भन्ने कुरा ट्रयाक गर्ने"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"तपाईंले यो अनुमति दिनुभयो भने यो एपले आँखाको गतिविधिसम्बन्धी सटीक डेटा एक्सेस गर्न सक्छ।"</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"तपाईंको अनुहार ट्रयाक गर्ने"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"तपाईंले यो अनुमति दिनुभयो भने यो एपले फेस ट्रयाकिङ डेटा एक्सेस गर्न सक्छ।"</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"तपाईंका हातहरू ट्र्याक गर्ने"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"तपाईंले यो अनुमति दिनुभयो भने यो एपले ह्यान्ड ट्र्याकिङ डेटा एक्सेस गर्न सक्छ।"</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"तपाईंको टाउको ट्रयाक गर्ने"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"तपाईंले यो अनुमति दिनुभयो भने यो एपले हेड ट्रयाकिङ डेटा एक्सेस गर्न सक्छ।"</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"तपाईंको वरपरको वातावरणका बारेमा बुझ्ने"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"तपाईंले यो अनुमति दिनुभयो भने यो एपले तपाईंको वरपरको वातावरणसम्बन्धी ट्रयाकिङ डेटा एक्सेस गर्न सक्छ।"</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"तपाईंको वरपरको वातावरणका ससाना विवरणहरू पनि बुझ्ने"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"तपाईंले यो अनुमति दिनुभयो भने यो एपले तपाईंको वरपरको वातावरणका बारेमा ससाना विवरणहरू समावेश गरिएको ट्रयाकिङ डेटा एक्सेस गर्न सक्छ।"</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"फोरग्राउन्डमा नचलिरहेका बेला XR सम्बन्धी डेटा एक्सेस गर्ने"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"तपाईंले यो अनुमति दिनुभयो भने यो एप फोरग्राउन्डमा नचलिरहेका बेला पनि यो एपले XR सम्बन्धी डेटा एक्सेस गर्न सक्छ।"</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"बायोमेट्रिक्स प्रयोग गर्नुहोस्"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"बायोमेट्रिक्स वा स्क्रिन लक प्रयोग गर्नुहोस्"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"यो व्यक्ति तपाईं नै हो भन्ने प्रमाणित गर्नुहोस्"</string>
@@ -1091,7 +1071,7 @@
     <string name="lockscreen_glogin_too_many_attempts" msgid="3775904917743034195">"निकै धेरै कोसिसहरू"</string>
     <string name="lockscreen_glogin_instructions" msgid="4695162942525531700">"अनलक गर्नको लागि, तपाईँको Google खातासँग साइन इन गर्नुहोस्।"</string>
     <string name="lockscreen_glogin_username_hint" msgid="6916101478673157045">"प्रयोगकर्तानाम (इमेल)"</string>
-    <string name="lockscreen_glogin_password_hint" msgid="3031027901286812848">"पासवर्ड:"</string>
+    <string name="lockscreen_glogin_password_hint" msgid="3031027901286812848">"पासवर्ड"</string>
     <string name="lockscreen_glogin_submit_button" msgid="3590556636347843733">"साइन इन गर्नुहोस्"</string>
     <string name="lockscreen_glogin_invalid_input" msgid="4369219936865697679">"अमान्य प्रयोगकर्तानाम वा पासवर्ड"</string>
     <string name="lockscreen_glogin_account_recovery_hint" msgid="1683405808525090649">"तपाईँको एक-पटके टेक्स्ट म्यासेज वा पासवर्ड बिर्सनुभयो?\n भ्रमण गर्नुहोस"<b>"google.com/accounts/recovery"</b></string>
@@ -1844,7 +1824,7 @@
     <string name="hearing_device_notification_switch_button" msgid="3619524619430941300">"बदल्नुहोस्"</string>
     <string name="hearing_device_notification_settings_button" msgid="6673651052880279178">"सेटिङ"</string>
     <string name="user_switched" msgid="7249833311585228097">"अहिलेको प्रयोगकर्ता <xliff:g id="NAME">%1$s</xliff:g>।"</string>
-    <string name="user_switching_message" msgid="1912993630661332336">"स्विच गरेर <xliff:g id="NAME">%1$s</xliff:g> बनाइँदै..."</string>
+    <string name="user_switching_message" msgid="1912993630661332336">"<xliff:g id="NAME">%1$s</xliff:g> मा स्विच गरिँदै छ…"</string>
     <string name="user_logging_out_message" msgid="7216437629179710359">"लग आउट गर्दै <xliff:g id="NAME">%1$s</xliff:g>…"</string>
     <string name="owner_name" msgid="8713560351570795743">"मालिक"</string>
     <string name="guest_name" msgid="8502103277839834324">"अतिथि"</string>
diff --git a/core/res/res/values-night/colors.xml b/core/res/res/values-night/colors.xml
index 7b9b2d6..e19ee23 100644
--- a/core/res/res/values-night/colors.xml
+++ b/core/res/res/values-night/colors.xml
@@ -50,6 +50,8 @@
     <!-- Color for various surfaces related to system-wide blur -->
     <color name="surface_effect_0">@color/surface_effect_0_color</color>
     <color name="surface_effect_1">@color/surface_effect_1_color</color>
+    <color name="surface_effect_2">@color/surface_effect_2_color</color>
+    <color name="surface_effect_3">@color/surface_effect_3_color</color>
 
     <!-- Color for side fps toast dark theme-->
     <color name="side_fps_toast_background">#2E3132</color>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index bbdc1bb..fc12906 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"toegang krijgen tot sensorgegevens over je vitale functies"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Meldingen"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"meldingen tonen"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR-trackinggegevens"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"toegang tot XR-gegevens over jou en de omgeving om je heen"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"gevoelige XR-trackinggegevens"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"toegang tot gevoelige trackinggegevens, zoals oogbewegingen"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Content van vensters ophalen"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"De content inspecteren van een venster waarmee je interactie hebt."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Verkennen via aanraking aanzetten"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Hiermee sta je de app toe je fotocollectie aan te passen."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"locaties van je mediacollecties bekijken"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Hiermee sta je de app toe locaties van je mediacollectie te bekijken."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"je oogbewegingen bij benadering volgen"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Hiermee kan de app je oogbewegingen bij benadering volgen."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"volgen waar je naar kijkt"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Hiermee kan de app toegang krijgen tot nauwkeurige gegevens voor oogbewegingen."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"je gezicht volgen"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Hiermee kan de app toegang krijgen tot gegevens voor gezichtstracking."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"je handen volgen"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Hiermee kan de app toegang krijgen tot gegevens voor handtracking."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"je hoofd volgen"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Hiermee kan de app toegang krijgen tot gegevens voor hoofdtracking."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"je directe omgeving begrijpen"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Hiermee kan de app toegang krijgen tot trackinggegevens over de omgeving direct om je heen."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"je directe omgeving begrijpen met veel details"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Hiermee kan de app toegang krijgen tot trackinggegevens over de omgeving direct om je heen met veel details."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"toegang tot XR-gegevens terwijl de app niet op de voorgrond wordt gebruikt"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Hiermee kan de app toegang krijgen tot XR-gegevens terwijl de app niet op de voorgrond wordt gebruikt."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Biometrische gegevens gebruiken"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Biometrische gegevens of schermvergrendeling gebruiken"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Je identiteit bevestigen"</string>
diff --git a/core/res/res/values-or/strings.xml b/core/res/res/values-or/strings.xml
index a1b24eb..3200f40 100644
--- a/core/res/res/values-or/strings.xml
+++ b/core/res/res/values-or/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"ଆପଣଙ୍କ ଗୁରୁତପୂର୍ଣ୍ଣ ସଂକେତଗୁଡ଼ିକ ବିଷୟରେ ସେନ୍ସର୍‍ ଡାଟା ଆକ୍ସେସ୍‍ କରେ"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ଦେଖାନ୍ତୁ"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR ଟ୍ରାକିଂ ଡାଟା"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"ଆପଣଙ୍କ ଚାରିପାଖର ପରିବେଶ ଏବଂ ଆପଣଙ୍କ ବିଷୟରେ XR ଡାଟା ଆକ୍ସେସ କରନ୍ତୁ"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"ସମ୍ବେଦନଶୀଳ XR ଟ୍ରାକିଂ ଡାଟା"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"ସମ୍ବେଦନଶୀଳ ଟ୍ରାକିଂ ଡାଟା ଆକ୍ସେସ କରନ୍ତୁ, ଯେପରି କି ଆଇ ଗେଜ"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"ୱିଣ୍ଡୋ କଣ୍ଟେଣ୍ଟ ହାସଲ କରନ୍ତୁ"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"ଆପଣ କାମ କରୁଥିବା ୱିଣ୍ଡୋର କଣ୍ଟେଣ୍ଟକୁ ଯାଞ୍ଚ କରନ୍ତୁ।"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"ସ୍ପର୍ଶ ଦ୍ୱାରା ଏକ୍ସପ୍ଲୋର୍‍ ଅନ୍‍ କରନ୍ତୁ"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"ଆପଣଙ୍କ ଫଟୋ ସଂଗ୍ରହ ପରିବର୍ତ୍ତନ କରିବାକୁ ଆପ୍‍ ଅନୁମତି ଦେଇଥାଏ।"</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"ଆପଣଙ୍କ ମିଡିଆ ସଂଗ୍ରହ ଠାରୁ ଲୋକେସନ୍‍ଗୁଡିକୁ ପଢନ୍ତୁ"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"ଆପଣଙ୍କ ମିଡିଆ ସଂଗ୍ରହ ଠାରୁ ଅବସ୍ଥାନଗୁଡିକୁ ପଢିବାକୁ ଆପ୍‍ ଅନୁମତି ଦେଇଥାଏ।"</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"ଆପଣଙ୍କର ଆନୁମାନିକ ଆଇ ଗେଜ ଟ୍ରାକ କରନ୍ତୁ"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"ଆପଣଙ୍କର ଆନୁମାନିକ ଆଇ ଗେଜ ଟ୍ରାକ କରିବା ପାଇଁ ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ।"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"ଆପଣ କେଉଁଠିକୁ ଦେଖୁଛନ୍ତି ତାହା ଟ୍ରାକ କରନ୍ତୁ"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"ଆପଣଙ୍କର ସଠିକ ଆଇ ଗେଜ ଡାଟା ଆକ୍ସେସ କରିବା ପାଇଁ ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ।"</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"ଆପଣଙ୍କର ମୁହଁକୁ ଟ୍ରାକ କରନ୍ତୁ"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"ଫେସ ଟ୍ରାକିଂ ଡାଟା ଆକ୍ସେସ କରିବା ପାଇଁ ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ।"</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"ଆପଣଙ୍କର ହାତକୁ ଟ୍ରାକ କରନ୍ତୁ"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"ହେଣ୍ଡ ଟ୍ରାକିଂ ଡାଟା ଆକ୍ସେସ କରିବା ପାଇଁ ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ।"</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"ଆପଣଙ୍କର ମୁଣ୍ଡକୁ ଟ୍ରାକ କରନ୍ତୁ"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"ହେଡ ଟ୍ରାକିଂ ଡାଟା ଆକ୍ସେସ କରିବା ପାଇଁ ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ।"</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"ଆପଣଙ୍କର ଅତିନିକଟର ପରିବେଶ ବିଷୟରେ ବୁଝନ୍ତୁ"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"ଆପଣଙ୍କ ଚାରିପାଖର ପରିବେଶ ବିଷୟରେ ଟ୍ରାକିଂ ଡାଟା ଆକ୍ସେସ କରିବା ପାଇଁ ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ।"</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"ଅଧିକ ବିବରଣୀ ସହ ଆପଣଙ୍କର ଅତିନିକଟର ପରିବେଶ ବିଷୟରେ ବୁଝନ୍ତୁ"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"ବହୁତ ଅଧିକ ସହ ଆପଣଙ୍କ ଚାରିପାଖର ପରିବେଶ ବିଷୟରେ ଟ୍ରାକିଂ ଡାଟା ଆକ୍ସେସ କରିବା ପାଇଁ ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ।"</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"ଫୋରଗ୍ରାଉଣ୍ଡରେ ନଥିବା ବେଳେ XR ଡାଟା ଆକ୍ସେସ କରନ୍ତୁ"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"ଫୋରଗ୍ରାଉଣ୍ଡରେ ନଥିବା ବେଳେ XR ଡାଟା ଆକ୍ସେସ କରିବା ପାଇଁ ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ।"</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"ବାୟୋମେଟ୍ରିକ୍ସ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"ବାୟୋମେଟ୍ରିକ୍ସ ବା ସ୍କ୍ରିନ୍ ଲକ୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"ଏହା ଆପଣ ବୋଲି ଯାଞ୍ଚ କରନ୍ତୁ"</string>
@@ -1246,7 +1226,7 @@
     <string name="delete" msgid="1514113991712129054">"ଡିଲିଟ କରନ୍ତୁ"</string>
     <string name="copyUrl" msgid="6229645005987260230">"URL କପି କରନ୍ତୁ"</string>
     <string name="selectTextMode" msgid="3225108910999318778">"ଟେକ୍ସଟ୍‍ ଚୟନ କରନ୍ତୁ"</string>
-    <string name="undo" msgid="3175318090002654673">"ପୂର୍ବ ପରି କରନ୍ତୁ"</string>
+    <string name="undo" msgid="3175318090002654673">"ଅନଡୁ କରନ୍ତୁ"</string>
     <string name="redo" msgid="7231448494008532233">"ପୁଣି କରନ୍ତୁ"</string>
     <string name="autofill" msgid="511224882647795296">"ଅଟୋଫିଲ୍‌"</string>
     <string name="textSelectionCABTitle" msgid="5151441579532476940">"ଟେକ୍ସଟ୍‍ ଚୟନ"</string>
@@ -1844,7 +1824,7 @@
     <string name="hearing_device_notification_switch_button" msgid="3619524619430941300">"ସୁଇଚ କରନ୍ତୁ"</string>
     <string name="hearing_device_notification_settings_button" msgid="6673651052880279178">"ସେଟିଂସ"</string>
     <string name="user_switched" msgid="7249833311585228097">"ବର୍ତ୍ତମାନର ୟୁଜର୍‌ ହେଉଛନ୍ତି <xliff:g id="NAME">%1$s</xliff:g>।"</string>
-    <string name="user_switching_message" msgid="1912993630661332336">"<xliff:g id="NAME">%1$s</xliff:g>ରେ ସ୍ୱିଚ କରନ୍ତୁ…"</string>
+    <string name="user_switching_message" msgid="1912993630661332336">"<xliff:g id="NAME">%1$s</xliff:g>ରେ ସୁଇଚ ହେଉଛି…"</string>
     <string name="user_logging_out_message" msgid="7216437629179710359">"<xliff:g id="NAME">%1$s</xliff:g>ଙ୍କୁ ଲଗଆଉଟ୍‍ କରାଯାଉଛି…"</string>
     <string name="owner_name" msgid="8713560351570795743">"ମାଲିକ"</string>
     <string name="guest_name" msgid="8502103277839834324">"ଅତିଥି"</string>
diff --git a/core/res/res/values-pa/strings.xml b/core/res/res/values-pa/strings.xml
index 70dcd66..cee65af 100644
--- a/core/res/res/values-pa/strings.xml
+++ b/core/res/res/values-pa/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"ਆਪਣੇ ਸਰੀਰ ਦੇ ਅਹਿਮ ਚਿੰਨ੍ਹਾਂ ਬਾਰੇ ਸੰਵੇਦਕ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ ਕਰਨ"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"ਸੂਚਨਾਵਾਂ"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"ਸੂਚਨਾਵਾਂ ਦਿਖਾਓ"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR ਟਰੈਕਿੰਗ ਡਾਟਾ"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"ਆਪਣੇ ਅਤੇ ਆਪਣੇ ਆਲੇ-ਦੁਆਲੇ ਦੇ ਵਾਤਾਵਰਨ ਬਾਰੇ XR ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰੋ"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"ਸੰਵੇਦਨਸ਼ੀਲ XR ਟਰੈਕਿੰਗ ਡਾਟਾ"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"ਸੰਵੇਦਨਸ਼ੀਲ ਟਰੈਕਿੰਗ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰੋ, ਜਿਵੇਂ ਕਿ ਅੱਖਾਂ ਦੀ ਹਲਚਲ"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"ਵਿੰਡੋ ਸਮੱਗਰੀ ਮੁੜ-ਪ੍ਰਾਪਤ ਕਰਨਾ"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"ਉਸ ਵਿੰਡੋ ਸਮੱਗਰੀ ਦੀ ਜਾਂਚ ਕਰੋ, ਜਿਸ ਨਾਲ ਤੁਸੀਂ ਅੰਤਰਕਿਰਿਆ ਕਰ ਰਹੇ ਹੋ"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"\'ਸਪੱਰਸ਼ ਰਾਹੀਂ ਪੜਚੋਲ ਕਰੋ\' ਚਾਲੂ ਕਰਨਾ"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫ਼ੋਟੋ ਸੰਗ੍ਰਹਿ ਨੂੰ ਸੋਧਣ ਦਿੰਦੀ ਹੈ।"</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"ਤੁਹਾਡੇ ਮੀਡੀਆ ਸੰਗ੍ਰਹਿ ਦੇ ਟਿਕਾਣਿਆਂ ਨੂੰ ਪੜ੍ਹਨਾ"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਮੀਡੀਆ ਸੰਗ੍ਰਹਿ ਦੇ ਟਿਕਾਣਿਆਂ ਨੂੰ ਪੜ੍ਹਨ ਦਿੰਦੀ ਹੈ।"</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"ਆਪਣੀ ਅੰਦਾਜ਼ਨ ਅੱਖਾਂ ਦੀ ਹਲਚਲ ਨੂੰ ਟਰੈਕ ਕਰੋ"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"ਇਸ ਨਾਲ ਐਪ ਨੂੰ ਤੁਹਾਡੀਆਂ ਅੱਖਾਂ ਦੀ ਹਲਚਲ ਨੂੰ ਟਰੈਕ ਕਰਨ ਦੀ ਆਗਿਆ ਮਿਲਦੀ ਹੈ।"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"ਇਹ ਟਰੈਕ ਕਰੋ ਕਿ ਤੁਸੀਂ ਕਿੱਥੇ ਦੇਖ ਰਹੇ ਹੋ"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"ਇਸ ਨਾਲ ਐਪ ਨੂੰ ਤੁਹਾਡੀਆਂ ਅੱਖਾਂ ਦੀ ਹਲਚਲ ਦੇ ਸਟੀਕ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਮਿਲਦੀ ਹੈ।"</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"ਆਪਣੇ ਚਿਹਰੇ ਨੂੰ ਟਰੈਕ ਕਰੋ"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"ਇਸ ਨਾਲ ਐਪ ਨੂੰ ਚਿਹਰਾ ਟਰੈਕਿੰਗ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਮਿਲਦੀ ਹੈ।"</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"ਆਪਣੇ ਹੱਥਾਂ ਨੂੰ ਟਰੈਕ ਕਰੋ"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"ਇਸ ਨਾਲ ਐਪ ਨੂੰ ਹੱਥ ਟਰੈਕਿੰਗ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਮਿਲਦੀ ਹੈ।"</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"ਆਪਣੇ ਸਿਰ ਨੂੰ ਟਰੈਕ ਕਰੋ"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"ਇਸ ਨਾਲ ਐਪ ਨੂੰ ਹੈੱਡ ਟਰੈਕਿੰਗ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਮਿਲਦੀ ਹੈ।"</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"ਆਪਣੇ ਮੌਜੂਦਾ ਵਾਤਾਵਰਨ ਨੂੰ ਸਮਝੋ"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"ਇਸ ਨਾਲ ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਆਲੇ-ਦੁਆਲੇ ਦੇ ਵਾਤਾਵਰਨ ਦੇ ਟਰੈਕਿੰਗ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਮਿਲਦੀ ਹੈ।"</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"ਆਪਣੇ ਮੌਜੂਦਾ ਵਾਤਾਵਰਨ ਨੂੰ ਬਰੀਕੀ ਨਾਲ ਸਮਝੋ"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"ਇਸ ਨਾਲ ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਆਲੇ-ਦੁਆਲੇ ਦੇ ਵਾਤਾਵਰਨ ਬਾਰੇ ਬਰੀਕੀ ਨਾਲ ਟਰੈਕਿੰਗ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਮਿਲਦੀ ਹੈ।"</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"ਫੋਰਗ੍ਰਾਊਂਡ ਸੇਵਾ ਨਾ ਹੋਣ \'ਤੇ ਵੀ XR ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰੋ"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"ਇਸ ਨਾਲ ਐਪ ਨੂੰ XR ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਮਿਲਦੀ ਹੈ, ਭਾਵੇਂ ਉਸ ਵਿੱਚ ਫੋਰਗ੍ਰਾਊਂਡ ਸੇਵਾ ਨਾ ਹੋਵੇ।"</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"ਬਾਇਓਮੈਟ੍ਰਿਕ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"ਬਾਇਓਮੈਟ੍ਰਿਕ ਜਾਂ ਸਕ੍ਰੀਨ ਲਾਕ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"ਆਪਣੀ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index c92c2bb..0c6eb46 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -355,14 +355,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"dostęp do danych czujnika podstawowych funkcji życiowych"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Powiadomienia"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"pokazuj powiadomienia"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"dane śledzenia XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"dostęp do danych XR dotyczących Ciebie i Twojego otoczenia"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"wrażliwe dane śledzenia XR"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"dostęp do wrażliwych danych śledzenia, takich jak ruchy gałek ocznych"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Pobieranie zawartości okna"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Sprawdzanie zawartości okna, z którego korzystasz."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Włączenie czytania dotykiem"</string>
@@ -658,38 +654,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Zezwala aplikacji na modyfikowanie kolekcji zdjęć."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"odczytywanie lokalizacji z kolekcji multimediów"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Zezwala aplikacji na odczytywanie lokalizacji z kolekcji multimediów."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"śledzenie przybliżonych ruchów gałek ocznych"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Zezwala aplikacji na śledzenie przybliżonych ruchów gałek ocznych."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"śledzenie punktu skupienia wzroku"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Zezwala aplikacji na dostęp do dokładnych danych o ruchach gałek ocznych."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"śledzenie twarzy"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Zezwala aplikacji na dostęp do danych śledzenia twarzy."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"śledzenie rąk"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Zezwala aplikacji na dostęp do danych śledzenia rąk."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"śledzenie ruchów głowy"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Zezwala aplikacji na dostęp do danych śledzenia ruchów głowy."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"analizowanie bliskiego otoczenia"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Zezwala aplikacji na dostęp do danych śledzenia bliskiego otoczenia."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"bardzo szczegółowe analizowanie bliskiego otoczenia"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Zezwala aplikacji na dostęp do bardzo szczegółowych danych śledzenia bliskiego otoczenia."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"dostęp do danych XR, gdy aplikacja nie jest na pierwszym planie"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Zezwala aplikacji na dostęp do danych XR, gdy nie jest ona na pierwszym planie."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Używaj biometrii"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Używaj biometrii lub blokady ekranu"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Potwierdź, że to Ty"</string>
diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml
index 99c4375..4fe1c96 100644
--- a/core/res/res/values-pt-rBR/strings.xml
+++ b/core/res/res/values-pt-rBR/strings.xml
@@ -354,14 +354,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"acesse dados do sensor sobre seus sinais vitais"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notificações"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"mostrar notificações"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"Dados de rastreamento de XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"acessar dados de XR sobre você e o ambiente ao seu redor"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"dados de rastreamento sensíveis de XR"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"acessar dados de rastreamento sensíveis, como o olhar"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Acessar conteúdo de uma janela"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Inspeciona o conteúdo de uma janela com a qual você está interagindo."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Ativar Explorar por toque"</string>
@@ -657,38 +653,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Permite que o app modifique sua coleção de fotos."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"ler locais na sua coleção de mídias"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Permite que o app leia os locais na sua coleção de mídias."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"rastrear seu olhar aproximado"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Permite que o app rastreie seu olhar aproximado."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"rastrear para onde você está olhando"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Permite que o app acesse dados precisos de olhar."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"rastrear seu rosto"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Permite que o app acesse dados de rastreamento do rosto."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"rastrear suas mãos"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Permite que o app acesse dados de rastreamento das mãos."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"rastrear sua cabeça"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Permite que o app acesse dados de rastreamento da cabeça."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"entender o ambiente diretamente ao seu redor"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Permite que o app acesse dados de rastreamento sobre o ambiente diretamente ao seu redor."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"entender o ambiente diretamente ao seu redor com riqueza de detalhes"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Permite que o app acesse dados de rastreamento sobre o ambiente diretamente ao seu redor com riqueza de detalhes."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"acessar dados de XR sem estar em primeiro plano"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Permite que o app acesse dados de XR sem estar em primeiro plano."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Usar biometria"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Usar biometria ou bloqueio de tela"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Confirme que é você"</string>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index a453546..e17b96f 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -354,14 +354,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"aceder a dados do sensor acerca dos seus sinais vitais"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notificações"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"mostrar notificações"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"dados de monitorização de XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"aceder a dados de XR sobre si e o ambiente à sua volta"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"dados de monitoriz. de XR confidenciais"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"aceder a dados de monitorização confidenciais, como o olhar"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Obter conteúdo da janela"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Inspecionar o conteúdo de uma janela com a qual está a interagir."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Ativar Explorar Através do Toque"</string>
@@ -657,38 +653,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Permite que a app modifique a sua coleção de fotos."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"ler as localizações a partir da sua coleção de multimédia"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Permite que a app leia as localizações a partir da sua coleção de multimédia."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"monitorizar o seu olhar aproximado"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Permite que a app monitorize o seu olhar aproximado."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"monitorizar para onde está a olhar"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Permite que a app aceda a dados precisos do olhar."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"monitorizar o seu rosto"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Permite que a app aceda a dados de monitorização facial."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"monitorizar as suas mãos"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Permite que a app aceda a dados de monitorização das mãos."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"monitorizar a sua cabeça"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Permite que a app aceda a dados de posição da cabeça."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"compreender o seu ambiente imediato"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Permite que a app aceda a dados de monitorização sobre o ambiente diretamente à sua volta."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"compreender o seu ambiente imediato com grande detalhe"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Permite que a app aceda a dados de monitorização sobre o ambiente diretamente à sua volta com detalhes muito precisos."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"aceder aos dados de XR quando não estiver em primeiro plano"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Permite que app aceda a dados de XR quando não está em primeiro plano."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Usar a biometria"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Usar a biometria ou o bloqueio de ecrã"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Confirme a sua identidade"</string>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index 99c4375..4fe1c96 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -354,14 +354,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"acesse dados do sensor sobre seus sinais vitais"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notificações"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"mostrar notificações"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"Dados de rastreamento de XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"acessar dados de XR sobre você e o ambiente ao seu redor"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"dados de rastreamento sensíveis de XR"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"acessar dados de rastreamento sensíveis, como o olhar"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Acessar conteúdo de uma janela"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Inspeciona o conteúdo de uma janela com a qual você está interagindo."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Ativar Explorar por toque"</string>
@@ -657,38 +653,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Permite que o app modifique sua coleção de fotos."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"ler locais na sua coleção de mídias"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Permite que o app leia os locais na sua coleção de mídias."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"rastrear seu olhar aproximado"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Permite que o app rastreie seu olhar aproximado."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"rastrear para onde você está olhando"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Permite que o app acesse dados precisos de olhar."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"rastrear seu rosto"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Permite que o app acesse dados de rastreamento do rosto."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"rastrear suas mãos"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Permite que o app acesse dados de rastreamento das mãos."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"rastrear sua cabeça"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Permite que o app acesse dados de rastreamento da cabeça."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"entender o ambiente diretamente ao seu redor"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Permite que o app acesse dados de rastreamento sobre o ambiente diretamente ao seu redor."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"entender o ambiente diretamente ao seu redor com riqueza de detalhes"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Permite que o app acesse dados de rastreamento sobre o ambiente diretamente ao seu redor com riqueza de detalhes."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"acessar dados de XR sem estar em primeiro plano"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Permite que o app acesse dados de XR sem estar em primeiro plano."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Usar biometria"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Usar biometria ou bloqueio de tela"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Confirme que é você"</string>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 28728b5..596a3ed 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -354,14 +354,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"să acceseze datele de la senzori despre semnele vitale"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Notificări"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"să afișeze notificări"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"Date de urmărire XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"să acceseze date XR despre tine și mediul din jur;"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"date de urmărire XR sensibile;"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"să acceseze date de urmărire sensibile, cum ar fi privirea;"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"să preia conținutul ferestrei"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Inspectează conținutul unei ferestre cu care interacționezi."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"să activeze funcția Explorează prin atingere"</string>
@@ -657,38 +653,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Permite aplicației să-ți modifice colecția de fotografii."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"să citească locațiile din colecția media"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Permite aplicației să citească locațiile din colecția ta media."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"să-ți urmărească privirea aproximativă;"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Permite aplicației să-ți urmărească privirea aproximativă."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"să urmărească unde te uiți;"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Permite aplicației să acceseze date exacte despre privire."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"să-ți urmărească fața;"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Permite aplicației să acceseze date de urmărire a feței."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"să-ți urmărească mâinile;"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Permite aplicației să acceseze date de urmărire a mâinilor."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"să-ți urmărească mișcările capului;"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Permite aplicației să acceseze date de urmărire a mișcărilor capului."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"să înțeleagă mediul imediat apropiat;"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Permite aplicației să acceseze date de urmărire despre mediul din jurul tău."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"să înțeleagă mediul imediat apropiat în detaliu;"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Permite aplicației să acceseze date de urmărire despre mediul din jurul tău, cu detalii foarte precise."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"să acceseze date XR când nu ești în prim-plan;"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Permite aplicației să acceseze datele XR când nu ești în prim-plan."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Folosește sistemele biometrice"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Folosește sistemele biometrice sau blocarea ecranului"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Confirmă-ți identitatea"</string>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index f587a73..5104ca1 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -355,14 +355,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"доступ к данным датчиков о состоянии организма"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Уведомления"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"показ уведомлений"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"данные XR для отслеживания"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"доступ к данным расширенной реальности с информацией о вас и окружающей обстановке"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"конфиденц. данные XR для отслеживания"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"доступ к конфиденциальным данным для отслеживания, например направления взгляда"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Получать содержимое окна"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Анализировать содержимое активного окна."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Включать Изучение касанием"</string>
@@ -658,38 +654,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Приложение сможет вносить изменения в вашу фотоколлекцию."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"Доступ к геоданным в медиаколлекции"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Приложение получит доступ к геоданным в вашей медиаколлекции."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"отслеживание примерного направления взгляда"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Приложение сможет отслеживать примерное направление взгляда."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"отслеживание направления взгляда"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Приложение получит доступ к точным данным о направлении взгляда."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"отслеживание лица"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Приложение получит доступ к данным для отслеживания лица."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"отслеживание рук"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Приложение получит доступ к данным для отслеживания рук."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"отслеживание движения головы"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Приложение получит доступ к данным для отслеживания движений головы."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"понимание обстановки вокруг вас"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Приложение получит доступ к данным для отслеживания обстановки вокруг вас."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"глубокое понимание обстановки вокруг вас"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Приложение получит доступ к подробным данным для отслеживания обстановки вокруг вас."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"доступ к данным XR в фоновом режиме"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Приложение получит доступ к данным расширенной реальности в фоновом режиме."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Использовать биометрию"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Использовать биометрию или блокировку экрана"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Подтвердите, что это вы"</string>
@@ -2302,7 +2282,7 @@
     <string name="conversation_title_fallback_group_chat" msgid="456073374993104303">"Групповой чат"</string>
     <string name="unread_convo_overflow" msgid="920517615597353833">"<xliff:g id="MAX_UNREAD_COUNT">%1$d</xliff:g>+"</string>
     <string name="resolver_personal_tab" msgid="2051260504014442073">"Личный"</string>
-    <string name="resolver_work_tab" msgid="2690019516263167035">"Рабочее"</string>
+    <string name="resolver_work_tab" msgid="2690019516263167035">"Рабочий"</string>
     <string name="resolver_personal_tab_accessibility" msgid="5739524949153091224">"Просмотр личных данных"</string>
     <string name="resolver_work_tab_accessibility" msgid="4753168230363802734">"Просмотр рабочих данных"</string>
     <string name="resolver_cross_profile_blocked" msgid="3014597376026044840">"Заблокировано вашим администратором"</string>
diff --git a/core/res/res/values-si/strings.xml b/core/res/res/values-si/strings.xml
index f30a483..8df50b7 100644
--- a/core/res/res/values-si/strings.xml
+++ b/core/res/res/values-si/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"ඔබේ ජෛව ලක්ෂණ පිළිබඳ සංවේදක දත්ත වෙත පිවිසෙන්න"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"දැනුම්දීම්"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"දැනුම්දීම් පෙන්වන්න"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR ලුහුබැඳීමේ දත්ත"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"ඔබ සහ ඔබ අවට පරිසරය පිළිබඳ XR දත්ත වෙත ප්‍රවේශ වන්න"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"සංවේදී XR ලුහුබැඳීමේ දත්ත"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"ඇස් බැල්ම වැනි සංවේදී ලුහුබැඳීමේ දත්ත වෙත ප්‍රවේශ වීම"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"කවුළු අන්න්තර්ගතය ලබාගන්න"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"ඔබ අන්තර්ක්‍රියාකාරී වන කවුළුවේ අන්තර්ගතය පරීක්ෂා කරන්න."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"ස්පර්ශයෙන් ගවේෂණය සක්‍රිය කරන්න"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"ඔබගේ ඡායාරූප එකතුව වෙනස් කිරීමට යෙදුමට ඉඩ දෙයි."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"ඔබගේ මාධ්‍ය එකතුවෙන් ස්ථාන කියවන්න"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"ඔබගේ මාධ්‍ය එකතුවෙන් ස්ථාන කියවීමට යෙදුමට ඉඩ දෙයි."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"ඔබේ ආසන්න ඇස් බැල්ම ලුහුබඳින්න"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"ඔබගේ ආසන්න ඇස් බැල්ම ලුහුබැඳීමට යෙදුමට ඉඩ දෙයි."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"ඔබ බලන තැන ලුහුබඳින්න"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"යෙදුමට නිරවද්‍ය ඇස් බැල්ම දත්ත වෙත ප්‍රවේශ වීමට ඉඩ දෙයි."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"ඔබේ මුහුණ ලුහුබඳින්න"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"මුහුණු ලුහුබැඳීමේ දත්ත වෙත ප්‍රවේශ වීමට යෙදුමට ඉඩ දෙන්න."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"ඔබේ දෑත් ලුහුබඳින්න"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"හස්තීයව ලුහුබැඳීමේ දත්ත වෙත ප්‍රවේශ වීමට යෙදුමට ඉඩ දෙන්න."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"ඔබේ හිස ලුහුබඳින්න"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"යෙදුමට හිස ලුහුබැඳීමේ දත්ත වෙත ප්‍රවේශ වීමට ඉඩ දෙන්න."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"ඔබේ ආසන්න පරිසරය තේරුම් ගන්න"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"ඔබ වටා ඇති පරිසරය පිළිබඳ ලුහුබැඳීමේ දත්ත වෙත කෙලින්ම ප්‍රවේශ වීමට යෙදුමට ඉඩ දෙන්න."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"ඔබේ ආසන්න පරිසරය ඉතා විස්තරාත්මකව තේරුම් ගන්න"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"ඉතා ඉහළ විස්තර සහිතව ඔබ වටා ඇති පරිසරය පිළිබඳ ලුහුබැඳීමේ දත්ත වෙත ප්‍රවේශ වීමට යෙදුමට ඉඩ දෙයි."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"පෙරබිමෙහි නොමැති විට XR දත්ත වෙත ප්‍රවේශ වන්න"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"පෙරබිමෙහි නොමැති විට XR දත්ත වෙත ප්‍රවේශ වීමට යෙදුමට ඉඩ දෙයි."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"ජෛවමිතික භාවිත කරන්න"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"ජෛවමිතික හෝ තිර අගුල භාවිත කරන්න"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"එය ඔබ බව තහවුරු කරන්න"</string>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index 49600ce..1d5b4e5 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -355,14 +355,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"prístup k dátam senzorov vašich životných funkcií"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Upozornenia"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"zobrazovať upozornenia"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"údaje sledovania UR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"prístup k údajom UR o vás a prostredí okolo vás"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"citlivé údaje sledovania UR"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"prístup k citlivým údajom sledovania, ako je pohľad"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Načítať obsah okna"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Môžete preskúmať obsah okna, s ktorým pracujete."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Zapnúť funkciu Preskúmanie dotykom"</string>
@@ -658,38 +654,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Umožňuje aplikácii upravovať zbierku fotiek."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"čítať polohy zo zbierky médií"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Umožňuje aplikácii čítať polohy zo zbierky médií."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"sledovať približný smer vášho pohľadu"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Umožňuje aplikácii sledovať približný smer vášho pohľadu."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"sledovať, kam sa pozeráte"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Umožňuje aplikácii získať prístup k presným údajom o pohľade."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"sledovať vašu tvár"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Umožňuje aplikácii získať prístup k údajom sledovania tváre."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"sledovať vaše ruky"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Umožňuje aplikácii získať prístup k údajom sledovania rúk."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"sledovať vašu hlavu"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Umožňuje aplikácii získať prístup k údajom sledovania hlavy."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"porozumieť, čo je vo vašom bezprostrednom okolí"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Umožňuje aplikácii získať prístup k údajom sledovania prostredia vo vašom okolí."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"veľmi presne porozumieť, čo je vo vašom okolí"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Umožňuje aplikácii získať prístup k veľmi podrobným údajom sledovania prostredia vo vašom okolí."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"získať k údajom UR, keď aplikácia nie je spustená na popredí"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Umožňuje aplikácii získať prístup k údajom UR, keď nie je na popredí."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Použiť biometrické údaje"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Použiť biometrické údaje alebo zámku obrazovky"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Potvrďte, že ste to vy"</string>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index c8dc4ee..3f9592b 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -355,14 +355,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"dostop do podatkov tipala o vaših vitalnih znakih"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Obvestila"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"prikaz obvestil"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"Podatki o sledenju za RR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"dostop do podatkov razširjene resničnosti (RR) o vas in vaši okolici"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"občutljivi podatki o sledenju za RR"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"dostop do občutljivih podatkov o sledenju, na primer o smeri pogleda"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Pridobiti vsebino okna"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Preverjanje vsebine okna, ki ga uporabljate."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Vklopiti raziskovanje z dotikom"</string>
@@ -658,38 +654,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Aplikaciji omogoča spreminjanje zbirke fotografij."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"branje lokacij v predstavnostni zbirki"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Aplikaciji omogoča branje lokacij v predstavnostni zbirki."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"sledenje približni smeri pogleda"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Aplikaciji omogoča sledenje približni smeri pogleda."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"sledenje smeri vašega pogleda"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Aplikaciji omogoča dostop do natančnih podatkov o smeri pogleda."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"sledenje obrazu"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Aplikaciji omogoča dostop do podatkov o sledenju obrazu."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"sledenje premikom dlani"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Aplikaciji omogoča dostop do podatkov o sledenju premikom dlani."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"spremljanje premikov glave"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Aplikaciji omogoča dostop do podatkov o spremljanju premikov glave."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"razumevanje vaše neposredne okolice"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Aplikaciji omogoča dostop do podatkov o spremljanju vaše neposredne okolice."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"zelo podrobno razumevanje vaše neposredne okolice"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Aplikaciji omogoča dostop do zelo podrobnih podatkov o spremljanju vaše neposredne okolice."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"dostop do podatkov razširjene resničnosti (RR), ko se aplikacija ne izvaja v ospredju"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Aplikaciji omogoča dostop do podatkov razširjene resničnosti (RR), ko se aplikacija ne izvaja v ospredju."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Uporaba biometrike"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Uporaba biometrike ali odklepanja s poverilnico"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Potrdite, da ste res vi"</string>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index 5481023..d6ad76b 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -354,14 +354,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"приступа подацима сензора о виталним функцијама"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Обавештења"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"приказивање обавештења"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"подаци о праћењу проширене стварности"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"приступа подацима проширене стварности о вама и окружењу око вас"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"осетљиви подаци о XR праћењу"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"приступа осетљивим подацима о праћењу, на пример подацима о погледу"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"да преузима садржај прозора"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Проверава садржај прозора са којим остварујете интеракцију."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"да укључи Истраживања додиром"</string>
@@ -657,38 +653,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Дозвољава апликацији да мења колекцију слика."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"читање локација из медијске колекције"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Дозвољава апликацији да чита локације из медијске колекције."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"праћење приближних података о погледу"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Дозвољава апликацији да прати приближне податке о погледу."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"праћење погледа"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Дозвољава апликацији да приступа прецизним подацима о погледу."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"праћење лица"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Дозвољава апликацији да приступа подацима о праћењу лица."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"праћење руку"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Дозвољава апликацији да приступа подацима о праћењу руку."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"праћење главе"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Дозвољава апликацији да приступа подацима о праћењу главе."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"разумевање непосредног окружења"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Дозвољава апликацији да приступа подацима о праћењу вашег непосредног окружења."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"разумевање непосредног окружења са мноштвом детаља"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Дозвољава апликацији да приступа подацима о праћењу вашег непосредног окружења који садрже мноштво детаља."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"приступ подацима проширене стварности када није у првом плану"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Дозвољава апликацији да приступа подацима проширене стварности када није у првом плану."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Користите биометрију"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Користите биометрију или откључавање екрана"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Потврдите идентитет"</string>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 38634d5..3d88850 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"få åtkomst till sensordata om dina vitalparametrar"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Aviseringar"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"visa aviseringar"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR-spårningsdata"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"få åtkomst till XR-data om dig och din omgivning"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"känslig XR-spårningsdata"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"få åtkomst till känslig spårningsdata, som ögonrörelser"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Hämta fönsterinnehåll"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Granska innehållet i ett fönster som du interagerar med."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Aktivera Explore by touch"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Tillåter att appen gör ändringar i din fotosamling."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"läsa av platser i din mediesamling"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Tillåter att appen läser av platser i din mediesamling."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"spåra dina ungefärliga ögonrörelser"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Tillåter att appen spårar dina ungefärliga ögonrörelser."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"spåra var du tittar"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Tillåter att appen får åtkomst till exakta ögonrörelser."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"spåra ditt ansikte"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Tillåter att appen får åtkomst till data om ansiktsspårning."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"spåra dina händer"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Tillåter att appen får åtkomst till data om handspårning."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"spåra ditt huvud"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Tillåter att appen får åtkomst till data om huvudföljning."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"förstå din omgivning"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Tillåter att appen får åtkomst till spårningsdata om omgivningen runtomkring dig."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"förstå din omgivning i detalj"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Tillåter att appen får åtkomst till spårningsdata om omgivningen runtomkring dig i mycket hög detalj."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"få åtkomst till XR-data när appen inte är i förgrunden"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Tillåter att appen får åtkomst till XR-data när den inte är i förgrunden."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Använd biometri"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Använd biometrisk data eller skärmlåset"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Verifiera din identitet"</string>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index b6eab89..6d67618 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"fikia data ya kitambuzi kuhusu alama zako muhimu"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Arifa"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"kuonyesha arifa"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"data ya ufuatiliaji wa XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"kufikia data ya XR kukuhusu na mazingira yaliyo karibu nawe"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"data nyeti ya ufuatiliaji wa XR"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"kufikia data nyeti ya ufuatiliaji, kama vile mahali ambako macho yanaangalia"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Kufikia maudhui ya dirisha"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Kuchunguza maudhui ya dirisha unalotumia."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Kuwasha \'Chunguza kwa Kugusa\'"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Inaruhusu programu kubadilisha mkusanyiko wa picha zako."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"kusoma maeneo kwenye mkusanyiko wa vipengee vyako"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Inaruhusu programu kusoma maeneo kwenye mkusanyiko wa vipengee vyako."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"kufuatilia kadirio la data ya mahali ambako macho yanaangalia"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Huruhusu programu ifuatilie kadirio la data ya mahali ambako macho yako yanaangalia."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"kufuatilia mahali unakoangalia"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Huruhusu programu ifikie data mahususi ya mahali ambako macho yako yanaangalia."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"kufuatilia mijongeo ya uso wako"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Huruhusu programu ifikie data ya ufuatiliaji wa mijongeo ya uso."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"kufuatilia mijongeo ya mikono yako"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Huruhusu programu ifikie data ya ufuatiliaji wa mijongeo ya mikono."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"kufuatilia mijongeo ya kichwa chako"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Huruhusu programu ifikie data ya ufuatiliaji wa mijongeo ya kichwa."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"kufahamu mazingira yaliyo karibu nawe"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Huruhusu programu ifikie data ya ufuatiliaji kuhusu mazingira yaliyo karibu nawe."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"kufahamu mazingira yaliyo karibu nawe kwa usahihi zaidi"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Huruhusu programu ifikie data ya ufuatiliaji kuhusu mazingira yaliyo karibu nawe kwa usahihi zaidi."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"kufikia data ya XR wakati haipo mbele ya skrini ya kifaa"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Huruhusu programu ifikie data ya XR wakati haitumiki mbele ya skrini ya kifaa."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Tumia bayometriki"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Tumia bayometriki au mbinu ya kufunga skrini"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Thibitisha kuwa ni wewe"</string>
diff --git a/core/res/res/values-ta/strings.xml b/core/res/res/values-ta/strings.xml
index d48f4a2..6a8179c 100644
--- a/core/res/res/values-ta/strings.xml
+++ b/core/res/res/values-ta/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"உங்கள் உடல் இயக்கம் பற்றி உணர்விகள் கூறும் தகவலைப் பார்க்கலாம்"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"அறிவிப்புகள்"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"அறிவிப்புகளைக் காட்டும்"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR கண்காணிப்புத் தரவு"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"உங்களையும் உங்கள் சுற்றுச்சூழலையும் பற்றிய XR தரவை அணுகும்"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"பாதுகாக்க வேண்டிய XR கண்காணிப்புத் தரவு"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"கண் பார்வை போன்ற பாதுகாக்க வேண்டிய கண்காணிப்புத் தரவை அணுகும்"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"சாளர உள்ளடக்கத்தைப் பெறும்"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"நீங்கள் பணியாற்றிக் கொண்டிருக்கும் சாளரத்தின் உள்ளடக்கத்தைப் பார்க்கலாம்."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"தொடுவதன் மூலம் அறிவதை இயக்கும்"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"உங்களின் படத் தொகுப்பை மாற்ற ஆப்ஸை அனுமதிக்கும்."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"மீடியா தொகுப்பிலிருந்து இடங்களை அறிதல்"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"உங்களின் மீடியா தொகுப்பிலிருந்து இடங்களை அறிந்துகொள்ள ஆப்ஸை அனுமதிக்கும்."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"உங்கள் தோராயமான கண் பார்வைத் தரவைக் கண்காணிக்கும்"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"உங்கள் தோராயமான கண் பார்வையின் தரவைக் கண்காணிக்க ஆப்ஸை அனுமதிக்கும்."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"எங்கே பார்க்கிறீர்கள் என்பதைக் கண்காணித்தல்"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"துல்லியமான கண் பார்வையின் தரவை அணுக ஆப்ஸை அனுமதிக்கும்."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"உங்கள் முகத்தைக் கண்காணித்தல்"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"முகக் கண்காணிப்புத் தரவை அணுக ஆப்ஸை அனுமதிக்கும்."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"உங்கள் கைகளைக் கண்காணித்தல்"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"கை அசைவு அறிதல் தரவை அணுக ஆப்ஸை அனுமதிக்கும்."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"உங்கள் தலையைக் கண்காணித்தல்"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"ஹெட் டிராக்கிங் தரவை அணுக ஆப்ஸை அனுமதிக்கும்."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"உங்களின் சுற்றுச்சூழலைப் புரிந்துகொள்ளுதல்"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"உங்களின் சுற்றுச்சூழல் தரவை அணுக ஆப்ஸை அனுமதிக்கும்."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"உங்களின் சுற்றுச்சூழலை மிக விரிவான விவரத்துடன் புரிந்துகொள்ளுதல்"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"உங்கள் சுற்றுச்சூழல் பற்றிய மிக விரிவான விவரங்களுடன் கூடிய தரவை நேரடியாக அணுக ஆப்ஸை அனுமதிக்கும்."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"முன்புலத்தில் இல்லாதபோது XR தரவை அணுகுதல்"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"முன்புலத்தில் இல்லாதபோது XR தரவை அணுக ஆப்ஸை அனுமதிக்கும்."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"பயோமெட்ரிக்ஸைப் பயன்படுத்து"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"பயோமெட்ரிக்ஸையோ திரைப் பூட்டையோ பயன்படுத்து"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"நீங்கள்தான் என உறுதிசெய்க"</string>
diff --git a/core/res/res/values-te/strings.xml b/core/res/res/values-te/strings.xml
index 84e56d2..11611ea 100644
--- a/core/res/res/values-te/strings.xml
+++ b/core/res/res/values-te/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"మీ అత్యంత కీలకమైన గుర్తుల గురించి సెన్సార్ డేటాను యాక్సెస్ చేస్తుంది"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"నోటిఫికేషన్‌లు"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"నోటిఫికేషన్‌లను చూపండి"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR ట్రాకింగ్ డేటా"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"మీ గురించి, మీ చుట్టూ ఉన్న పరిసరాల గురించి XR డేటాను యాక్సెస్ చేయండి"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"సున్నితమైన XR ట్రాకింగ్ డేటా"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"కంటి చూపు వంటి సున్నితమైన ట్రాకింగ్ డేటాను యాక్సెస్ చేయండి"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"విండో కంటెంట్‍ను తిరిగి పొందుతుంది"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"మీరు పరస్పర చర్య చేస్తున్న విండో కంటెంట్‌‍ను పరిశీలిస్తుంది."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"తాకడం ద్వారా విశ్లేషణను ఆన్ చేయండి"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"మీ ఫోటో సేకరణను ఎడిట్ చేయడానికి యాప్‌ను అనుమతిస్తుంది."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"మీ మీడియా సేకరణ నుండి లొకేషన్లను చదవండి"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"మీ మీడియా సేకరణ నుండి లొకేషన్లను చదవడానికి యాప్‌ను అనుమతిస్తుంది."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"మీ సుమారు కంటి చూపును ట్రాక్ చేయండి"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"మీ సుమారు కంటి చూపును ట్రాక్ చేయడానికి యాప్‌ను అనుమతిస్తుంది."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"మీరు ఎక్కడ చూస్తున్నారో ట్రాక్ చేయండి"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"కంటి చూపునకు సంబంధించిన ఖచ్చితమైన డేటాను యాక్సెస్ చేయడానికి యాప్‌ను అనుమతిస్తుంది."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"మీ ముఖాన్ని ట్రాక్ చేయండి"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"ఫేస్ ట్రాకింగ్ డేటాను యాక్సెస్ చేయడానికి యాప్‌ను అనుమతిస్తుంది."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"మీ చేతి కదలికలను ట్రాక్ చేయండి"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"హ్యాండ్ ట్రాకింగ్ డేటాను యాక్సెస్ చేయడానికి యాప్‌ను అనుమతిస్తుంది."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"మీ తలను ట్రాక్ చేయండి"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"హెడ్ ట్రాకింగ్ డేటాను యాక్సెస్ చేయడానికి యాప్‌ను అనుమతిస్తుంది."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"మీ చుట్టూ ఉన్న పరిసరాలను అర్థం చేసుకోండి"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"మీ చుట్టూ ఉన్న పర్యావరణం గురించి ట్రాకింగ్ డేటాను నేరుగా యాక్సెస్ చేయడానికి యాప్‌ను అనుమతిస్తుంది."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"మీ చుట్టూ ఉన్న పరిసరాలను చాలా వివరంగా అర్థం చేసుకోండి"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"మీ చుట్టూ ఉన్న పర్యావరణం గురించి ట్రాకింగ్ డేటాను చాలా ఎక్కువ వివరాలతో యాక్సెస్ చేయడానికి యాప్‌ను అనుమతిస్తుంది."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"ముందుభాగంలో లేనప్పుడు XR డేటాను యాక్సెస్ చేయండి"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"ముందుభాగంలో లేనప్పుడు XR డేటాను యాక్సెస్ చేయడానికి యాప్‌ను అనుమతిస్తుంది."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"బయోమెట్రిక్స్‌ను ఉపయోగించండి"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"బయోమెట్రిక్స్‌ను లేదా స్క్రీన్ లాక్‌ను ఉపయోగించండి"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"ఈ చర్య చేస్తోంది మీరేనని వెరిఫై చేయండి"</string>
@@ -715,8 +695,8 @@
     <string name="fingerprint_acquired_immobile" msgid="1621891895241888048">"ప్రతిసారి మీ వేలిని కొద్ది కొద్దిగా జరపండి"</string>
   <string-array name="fingerprint_acquired_vendor">
   </string-array>
-    <string name="fingerprint_error_not_match" msgid="4599441812893438961">"వేలిముద్ర గుర్తించబడలేదు"</string>
-    <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"వేలిముద్ర గుర్తించబడలేదు"</string>
+    <string name="fingerprint_error_not_match" msgid="4599441812893438961">"వేలిముద్ర (ఫింగర్-ప్రింట్) మ్యాచ్ కాలేదు"</string>
+    <string name="fingerprint_udfps_error_not_match" msgid="8236930793223158856">"వేలిముద్ర (ఫింగర్-ప్రింట్) మ్యాచ్ కాలేదు"</string>
     <string name="fingerprint_dialog_use_fingerprint_instead" msgid="5590293588784953188">"ముఖం గుర్తించలేదు. బదులుగా వేలిముద్ర ఉపయోగించండి."</string>
     <string name="fingerprint_authenticated" msgid="2024862866860283100">"వేలిముద్ర ప్రమాణీకరించబడింది"</string>
     <string name="face_authenticated_no_confirmation_required" msgid="8867889115112348167">"ముఖం ప్రమాణీకరించబడింది"</string>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index e16a28a..d854025 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"เข้าถึงข้อมูลเซ็นเซอร์เกี่ยวกับสัญญาณชีพของคุณ"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"การแจ้งเตือน"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"แสดงการแจ้งเตือน"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"ข้อมูลการติดตาม XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"เข้าถึงข้อมูล XR เกี่ยวกับคุณและสภาพแวดล้อมรอบตัว"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"ข้อมูลการติดตาม XR ที่มีความละเอียดอ่อน"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"เข้าถึงข้อมูลการติดตามที่มีความละเอียดอ่อน เช่น การจ้องด้วยตา"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"เรียกข้อมูลเนื้อหาของหน้าต่าง"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"ตรวจสอบเนื้อหาของหน้าต่างที่คุณกำลังโต้ตอบอยู่"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"เปิด \"แตะเพื่อสำรวจ\""</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"อนุญาตให้แอปแก้ไขคอลเล็กชันรูปภาพของคุณ"</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"อ่านตำแหน่งจากคอลเล็กชันสื่อของคุณ"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"อนุญาตให้แอปอ่านตำแหน่งจากคอลเล็กชันสื่อของคุณ"</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"ติดตามการจ้องด้วยตาโดยประมาณ"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"อนุญาตให้แอปติดตามข้อมูลการจ้องด้วยตาโดยประมาณ"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"ติดตามตำแหน่งที่คุณมอง"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"อนุญาตให้แอปเข้าถึงข้อมูลการจ้องด้วยตาอย่างละเอียด"</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"ติดตามการเคลื่อนไหวของใบหน้า"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"อนุญาตให้แอปเข้าถึงข้อมูลการติดตามการเคลื่อนไหวของใบหน้า"</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"ติดตามการเคลื่อนไหวของมือ"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"อนุญาตให้แอปเข้าถึงข้อมูลการติดตามการเคลื่อนไหวของมือ"</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"ติดตามการเคลื่อนไหวของศีรษะ"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"อนุญาตให้แอปเข้าถึงข้อมูลการติดตามการเคลื่อนไหวของศีรษะ"</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"เข้าใจสภาพแวดล้อมที่อยู่ใกล้ตัวคุณ"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"อนุญาตให้แอปเข้าถึงข้อมูลการติดตามเกี่ยวกับสภาพแวดล้อมรอบตัวคุณโดยตรง"</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"เข้าใจสภาพแวดล้อมที่อยู่ใกล้ตัวคุณอย่างละเอียด"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"อนุญาตให้แอปเข้าถึงข้อมูลการติดตามเกี่ยวกับสภาพแวดล้อมรอบตัวคุณโดยตรงที่มีรายละเอียดสูงมาก"</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"เข้าถึงข้อมูล XR ขณะที่ไม่ได้ทำงานอยู่ในเบื้องหน้า"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"อนุญาตให้แอปเข้าถึงข้อมูล XR ขณะที่ไม่ได้ทำงานอยู่ในเบื้องหน้า"</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"ใช้ข้อมูลไบโอเมตริก"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"ใช้ข้อมูลไบโอเมตริกหรือการล็อกหน้าจอ"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"ยืนยันว่าเป็นตัวคุณ"</string>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 98de106..78f44c8 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"i-access ang data ng sensor tungkol sa iyong vital signs"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Mga Notification"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"magpakita ng mga notification"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"Data ng pag-track ng XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"i-access ang XR data tungkol sa iyo at sa kapaligiran sa paligid mo"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"Sensitibong data ng pag-track ng XR"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"i-access ang sensitibong data sa pag-track, gaya ng pagtitig"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Kunin ang content ng window"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Siyasatin ang nilalaman ng isang window kung saan ka nakikipag-ugnayan."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"I-on ang Explore by Touch"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Pinapayagan ang app na baguhin ang iyong koleksyon ng larawan."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"basahin ang mga lokasyon mula sa iyong koleksyon ng media"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Pinapayagan ang app na basahin ang mga lokasyon mula sa iyong koleksyon ng media."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"i-track ang iyong tinatayang pagtitig"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Nagbibigay-daan sa app na i-track ang iyong tinatayang pagtitig."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"i-track kung saan ka nakatingin"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Nagbibigay-daan sa app na ma-access ang tumpak na data ng pagtitig."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"i-track ang iyong mukha"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Nagbibigay-daan sa app na i-access ang data ng pag-track sa mukha."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"i-track ang iyong mga kamay"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Nagbibigay-daan sa app na i-access ang data ng pag-track sa kamay."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"i-track ang iyong ulo"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Nagbibigay-daan sa app na i-access ang data ng pag-track ng ulo."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"maunawaan ang iyong kapaligiran"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Nagbibigay-daan sa app na i-access ang data ng pag-track tungkol sa kapaligirang direktang nasa paligid mo."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"maunawaan ang iyong kapaligiran sa mataas na detalye"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Binibigyang-daan ang app na i-access ang data ng pag-track tungkol sa kapaligirang direktang nasa paligid mo na may napakataas na detalye."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"i-access ang XR data habang wala sa foreground"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Nagbibigay-daan sa app na i-access ang XR data habang wala sa foreground."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Gumamit ng biometrics"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Gumamit ng biometrics o lock ng screen"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"I-verify na ikaw ito"</string>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index 2ec15ca..b575d9f 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"hayati belirtilerinizle ilgili sensör verilerine erişme"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Bildirimler"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"bildirimleri göster"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR takip verileri"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"sizinle ve çevrenizdeki ortamla ilgili XR verilerine erişme"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"hassas XR takip verileri"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"göz hareketleri gibi hassas takip verilerine erişme"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Pencere içeriğini alma"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Etkileşim kurduğunuz pencerenin içeriğini inceler."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Dokunarak Keşfet\'i açma"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Uygulamanın fotoğraf koleksiyonunuzu değiştirmesine izin verir."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"medya koleksiyonunuzdaki konumları okuma"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Uygulamanın medya koleksiyonunuzdaki konumları okumasına izin verir."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"yaklaşık göz hareketinizi takip etme"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Uygulamanın, yaklaşık göz hareketinizi takip etmesine izin verir."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"baktığınız noktayı takip etme"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Uygulamanın, tam göz hareketiyle ilgili verilere erişmesine izin verir."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"yüzünüzü takip etme"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Uygulamanın, yüz takibi verilerine erişmesine izin verir."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"ellerinizi takip etme"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Uygulamanın, el takibi verilerine erişmesine izin verir."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"başınızı takip etme"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Uygulamanın, baş takibi verilerine erişmesine izin verir."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"yakın çevrenizi anlama"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Uygulamanın, hemen etrafınızdaki ortamla ilgili takip verilerine erişmesine izin verir."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"yakın çevrenizi ayrıntılı bir şekilde anlama"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Uygulamanın, hemen etrafınızdaki ortamla ilgili takip verilerine çok ayrıntılı bir şekilde erişmesine izin verir."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"ön planda değilken XR verilerine erişme"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Uygulamanın, ön planda değilken XR verilerine erişmesine izin verir."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Biyometri kullan"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Biyometri veya ekran kilidi kullan"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Kimliğinizi doğrulayın"</string>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index 9aeee9c..737c245 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -355,14 +355,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"отримувати доступ до інформації датчиків про ваші життєві показники"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Сповіщення"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"показувати сповіщення"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"дані відстеження розширеної реальності"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"отримувати доступ до даних розширеної реальності про вас і оточення"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"чутливі дані відстеж. розшир. реальності"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"отримувати доступ до чутливих даних відстеження, наприклад даних про напрямок погляду"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Отримувати вміст вікна"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Перевіряти вміст вікна, з яким ви взаємодієте."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Увімкнути функцію дослідження дотиком"</string>
@@ -658,38 +654,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Додаток зможе змінювати вашу колекцію фотографій."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"розпізнавати геодані з колекції медіа-вмісту"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Додаток зможе розпізнавати геодані з вашої колекції медіа-вмісту."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"відстежувати приблизний напрямок вашого погляду"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Дозволяє додатку відстежувати приблизний напрямок вашого погляду."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"відстежувати напрямок вашого погляду"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Дозволяє додатку отримувати точні дані про напрямок погляду."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"відстежувати рухи вашого обличчя"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Дозволяє додатку отримувати доступ до даних відстеження рухів обличчя."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"відстежувати ваші руки"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Дозволяє додатку отримувати доступ до даних відстеження рук."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"відстежувати рухи вашої голови"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Дозволяє додатку отримувати доступ до даних відстеження руху голови."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"розпізнавати об’єкти у вашому найближчому оточенні"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Дозволяє додатку отримувати доступ до даних про оточення навколо вас."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"розпізнавати об’єкти у вашому оточенні з високою деталізацією"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Дозволяє додатку отримувати доступ до дуже детальних даних про оточення навколо вас."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"отримувати доступ до даних розширеної реальності у фоновому режимі"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Дозволяє додатку отримувати доступ до даних розширеної реальності у фоновому режимі."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Доступ через біометрію"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Використовувати біометрію або дані для розблокування екрана"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Підтвердьте, що це ви"</string>
@@ -1846,7 +1826,7 @@
     <string name="hearing_device_notification_switch_button" msgid="3619524619430941300">"Перемкнути"</string>
     <string name="hearing_device_notification_settings_button" msgid="6673651052880279178">"Налаштування"</string>
     <string name="user_switched" msgid="7249833311585228097">"Поточний користувач: <xliff:g id="NAME">%1$s</xliff:g>."</string>
-    <string name="user_switching_message" msgid="1912993630661332336">"Перехід у режим \"<xliff:g id="NAME">%1$s</xliff:g>\"…"</string>
+    <string name="user_switching_message" msgid="1912993630661332336">"Перехід в обліковий запис \"<xliff:g id="NAME">%1$s</xliff:g>\"…"</string>
     <string name="user_logging_out_message" msgid="7216437629179710359">"Вихід з облікового запису користувача <xliff:g id="NAME">%1$s</xliff:g>…"</string>
     <string name="owner_name" msgid="8713560351570795743">"Власник"</string>
     <string name="guest_name" msgid="8502103277839834324">"Гість"</string>
diff --git a/core/res/res/values-ur/strings.xml b/core/res/res/values-ur/strings.xml
index f934b87..82292bf 100644
--- a/core/res/res/values-ur/strings.xml
+++ b/core/res/res/values-ur/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"اپنی علامات حیات کے متعلق سنسر ڈیٹا تک رسائی حاصل کریں"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"اطلاعات"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"اطلاعات دکھائیں"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"‏‫XR ٹریکنگ ڈیٹا"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"‏اپنے اور اپنے آس پاس کے ماحول کے بارے میں XR ڈیٹا تک رسائی حاصل کریں"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"‏حساس XR ٹریکنگ ڈیٹا"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"آنکھوں جیسے حساس ٹریکنگ ڈیٹا تک رسائی حاصل کریں"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"ونڈو مواد بازیافت کرنے کی"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"کسی ایسی ونڈو کے مواد کا معائنہ کریں جس کے ساتھ آپ تعامل کر رہے ہیں۔"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"ٹچ کے ذریعے دریافت کریں کو آن کرنے کی"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"ایپ کو آپ کی تصویر کے مجموعے میں ترمیم کی اجازت دیتا ہے۔"</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"اپنی میڈيا کے مجموعے سے مقامات پڑھیں"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"ایپ کو آپ کی میڈيا کے مجموعے سے مقامات پڑھنے کی اجازت دیتا ہے۔"</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"اپنی آنکھوں کی تخمینی نگاہوں کو ٹریک کریں"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"ایپ کو آپ کی تخمینی نگاہوں کو ٹریک کرنے کی اجازت ملتی ہے۔"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"وہ جگہ ٹریک کریں جہاں آپ دیکھ رہے ہیں"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"ایپ کو آنکھوں کے عین مطابق ڈیٹا تک رسائی کی اجازت ملتی ہے۔"</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"اپنے چہرے کو ٹریک کریں"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"ایپ کو ایپس کو فیس ٹریکنگ ڈیٹا تک رسائی کی اجازت ملتی ہے۔"</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"اپنے ہاتھوں کو ٹریک کریں"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"ایپ کو ہینڈ ٹریکنگ ڈیٹا تک رسائی کی اجازت ملتی ہے۔"</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"اپنے سر کو ٹریک کریں"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"ایپ کو ہیڈ ٹریکنگ ڈیٹا تک رسائی کی اجازت ملتی ہے۔"</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"اپنے آس پاس کے ماحول کو سمجھیں"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"ایپ کو براہ راست آپ کے آس پاس کے ماحول کے بارے میں ٹریکنگ ڈیٹا تک رسائی کی اجازت ملتی ہے۔"</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"اپنے آس پاس کے ماحول کو اعلیٰ تفصیل سے سمجھیں"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"ایپ کو بہت زیادہ تفصیل کے ساتھ براہ راست آپ کے آس پاس کے ماحول کے بارے میں ٹریکنگ ڈیٹا تک رسائی کی اجازت ملتی ہے۔"</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"‏‫XR ڈیٹا تک رسائی حاصل کریں جبکہ پیش منظر میں نہ ہو"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"‏ایپ کو پیش منظر میں نہ ہوتے ہوئے XR ڈیٹا تک رسائی کی اجازت ملتی ہے۔"</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"بایو میٹرکس استعمال کریں"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"بایو میٹرکس یا اسکرین لاک استعمال کریں"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"توثیق کریں کہ یہ آپ ہیں"</string>
@@ -1844,7 +1824,7 @@
     <string name="hearing_device_notification_switch_button" msgid="3619524619430941300">"سوئچ کریں"</string>
     <string name="hearing_device_notification_settings_button" msgid="6673651052880279178">"ترتیبات"</string>
     <string name="user_switched" msgid="7249833311585228097">"موجودہ صارف <xliff:g id="NAME">%1$s</xliff:g>۔"</string>
-    <string name="user_switching_message" msgid="1912993630661332336">"<xliff:g id="NAME">%1$s</xliff:g> پر سوئچ کیا جا رہا ہے…"</string>
+    <string name="user_switching_message" msgid="1912993630661332336">"‫<xliff:g id="NAME">%1$s</xliff:g> پر سوئچ کیا جا رہا ہے…"</string>
     <string name="user_logging_out_message" msgid="7216437629179710359">"<xliff:g id="NAME">%1$s</xliff:g> لاگ آؤٹ ہو رہا ہے…"</string>
     <string name="owner_name" msgid="8713560351570795743">"مالک"</string>
     <string name="guest_name" msgid="8502103277839834324">"مہمان"</string>
diff --git a/core/res/res/values-uz/strings.xml b/core/res/res/values-uz/strings.xml
index 942be79..0e66165 100644
--- a/core/res/res/values-uz/strings.xml
+++ b/core/res/res/values-uz/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"organizm holati haqidagi sezgich ma’lumotlariga kirish"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Bildirishnomalar"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"bildirishnomalarni chiqarish"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR kuzatuv maʼlumotlari"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"siz va atrofingizdagi muhit haqidagi XR maʼlumotlarga kirish"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"nozik XR kuzatuv maʼlumotlari"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"nigoh kabi nozik kuzatuv maʼlumotlariga kirish"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Oynadagi kontentni o‘qiydi"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Joriy oynadagi kontent mazmunini aniqlaydi."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Teginib o‘rganish xizmatini yoqadi"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Ilovaga suratlar to‘plamingizni o‘zgartirishga ruxsat beradi."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"multimedia to‘plamidan joylashuv axborotini o‘qish"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Ilovaga multimedia to‘plamingizdan joylashuv axborotini o‘qishga ruxsat beradi."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"taxminiy nigohni kuzatish"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Ilovaga taxminiy nigohingizni kuzatish imkonini beradi."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"qayerga qarayotganingizni kuzatish"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Ilovaga nigohga oid aniq maʼlumotlarga kirish imkonini beradi."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"yuzingizni kuzatish"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Ilovaga yuz harakatini kuzatish maʼlumotlariga kirish imkonini beradi."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"qoʻllaringiz harakatini kuzatish"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Ilovaga qoʻl harakatini kuzatish maʼlumotlariga kirish imkonini beradi."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"boshingiz harakatini kuzatish"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Ilovaga bosh harakatini kuzatish maʼlumotlariga kirish imkonini beradi."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"atrofingizdagi vaziyatni chuqur tushunish"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Ilovaga bevosita atrofingizdagi muhit haqidagi kuzatuv maʼlumotlariga kirish imkonini beradi."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"atrofingizdagi vaziyatni juda yuqori aniqlikda chuqur tushunish"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Ilovaga bevosita atrofingizdagi juda yuqori aniqlikda muhit haqidagi kuzatuv maʼlumotlariga kirish imkonini beradi."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"XR maʼlumotlariga faol rejimda emasligida kirish"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Ilovaga faol rejimda emasligida XR maʼlumotlariga kirish imkonini beradi."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Biometrik tasdiqlash"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Biometrika yoki ekran qulfi"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Oʻzingizni taniting"</string>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index 947a9b4..754e66e 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"truy cập dữ liệu cảm biến về dấu hiệu sinh tồn của bạn"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Thông báo"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"hiển thị thông báo"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"dữ liệu theo dõi XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"truy cập vào dữ liệu XR về bạn và môi trường xung quanh bạn"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"dữ liệu theo dõi XR mang tính nhạy cảm"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"truy cập vào dữ liệu theo dõi mang tính nhạy cảm, chẳng hạn như vị trí ánh mắt"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Truy xuất nội dung cửa sổ"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Kiểm tra nội dung của cửa sổ bạn đang tương tác."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Bật tính năng Khám phá bằng cách chạm"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Cho phép ứng dụng này sửa đổi bộ sưu tập ảnh của bạn."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"đọc vị trí từ bộ sưu tập phương tiện"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Cho phép ứng dụng này đọc vị trí từ bộ sưu tập phương tiện của bạn."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"theo dõi vị trí gần đúng của ánh mắt bạn"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Cho phép ứng dụng này theo dõi vị trí gần đúng của ánh mắt bạn."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"theo dõi vị trí bạn đang nhìn"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Cho phép ứng dụng này truy cập vào dữ liệu vị trí chính xác của ánh mắt."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"theo dõi cử động của khuôn mặt"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Cho phép ứng dụng này truy cập vào dữ liệu theo dõi cử động của khuôn mặt."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"theo dõi cử động của tay"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Cho phép ứng dụng này truy cập vào dữ liệu theo dõi cử động của tay."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"theo dõi cử động của đầu"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Cho phép ứng dụng này truy cập vào dữ liệu theo dõi cử động của đầu."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"hiểu về môi trường ngay xung quanh bạn"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Cho phép ứng dụng này truy cập vào dữ liệu theo dõi về môi trường ngay xung quanh bạn."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"hiểu cụ thể về môi trường ngay xung quanh bạn"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Cho phép ứng dụng này truy cập vào dữ liệu theo dõi cụ thể về môi trường ngay xung quanh bạn."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"truy cập vào dữ liệu XR khi không ở chế độ nền trước"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Cho phép ứng dụng này truy cập vào dữ liệu thực tế mở rộng (XR) khi không ở chế độ nền trước."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Dùng dữ liệu sinh trắc học"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Dùng dữ liệu sinh trắc học hoặc phương thức khóa màn hình"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Xác minh danh tính của bạn"</string>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index 46c53eb..1f625ad 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"访问与您的生命体征相关的传感器数据"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"通知"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"显示通知"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"扩展现实跟踪数据"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"访问有关您和您周围环境的扩展现实数据"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"敏感的扩展现实跟踪数据"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"访问视线等敏感的跟踪数据"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"检索窗口内容"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"检测您与之互动的窗口的内容。"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"启用触摸浏览"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"允许该应用修改您的照片收藏。"</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"从您的媒体收藏中读取位置信息"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"允许该应用从您的媒体收藏中读取位置信息。"</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"跟踪您的大致视线"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"允许应用跟踪您的大致视线。"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"跟踪您的视线方向"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"允许应用访问精确的视线跟踪数据。"</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"跟踪您的面部表情"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"允许应用访问面部跟踪数据。"</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"跟踪您的手部动作"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"允许应用访问手部跟踪数据。"</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"跟踪您的头部动作"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"允许应用访问头部追踪数据。"</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"了解您周围的环境"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"允许应用访问关于您周围环境的跟踪数据。"</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"详细了解您周围的环境"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"允许应用访问关于您周围环境的详细跟踪数据。"</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"不在前台时访问扩展现实数据"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"允许应用不在前台时访问扩展现实数据。"</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"使用生物识别"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"使用生物识别或屏幕锁定凭据"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"验证是您本人在操作"</string>
@@ -1067,7 +1047,7 @@
     <string name="lockscreen_transport_stop_description" msgid="1449552232598355348">"停止"</string>
     <string name="lockscreen_transport_rew_description" msgid="7680106856221622779">"快退"</string>
     <string name="lockscreen_transport_ffw_description" msgid="4763794746640196772">"快进"</string>
-    <string name="emergency_calls_only" msgid="3057351206678279851">"只能拨打紧急呼叫电话"</string>
+    <string name="emergency_calls_only" msgid="3057351206678279851">"只能拨打紧急求助电话"</string>
     <string name="lockscreen_network_locked_message" msgid="2814046965899249635">"网络已锁定"</string>
     <string name="lockscreen_sim_puk_locked_message" msgid="2867953953604224166">"SIM 卡已用 PUK 码锁定。"</string>
     <string name="lockscreen_sim_puk_locked_instructions" msgid="5307979043730860995">"请参阅《用户指南》或与客服人员联系。"</string>
diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml
index d013a47..fc2783c 100644
--- a/core/res/res/values-zh-rHK/strings.xml
+++ b/core/res/res/values-zh-rHK/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"存取與你生命體徵相關的感應器資料"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"通知"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"顯示通知"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"XR 追蹤資料"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"存取與你和周遭環境相關的 XR 資料"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"敏感的 XR 追蹤資料"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"存取敏感的追蹤資料，例如視線"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"擷取視窗內容"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"檢查你使用中的視窗內容。"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"開啟「輕觸探索」功能"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"允許應用程式修改你的相片集。"</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"讀取媒體集的位置"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"允許應用程式讀取媒體集的位置。"</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"追蹤視線的概略方向"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"允許應用程式追蹤你概略的視線。"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"追蹤視線"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"允許應用程式存取精確的視線資料。"</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"追蹤面孔"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"允許應用程式存取面孔追蹤資料。"</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"追蹤手勢"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"允許應用程式存取手勢追蹤資料。"</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"追蹤頭部"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"允許應用程式存取頭部追蹤資料。"</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"瞭解當下環境"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"允許應用程式存取與你周遭環境相關的追蹤資料。"</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"詳細瞭解當下環境"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"允許應用程式存取與你周遭環境相關的極詳細追蹤資料。"</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"在非前景執行時存取 XR 資料"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"允許應用程式在非前景執行時存取 XR 資料。"</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"使用生物識別"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"使用生物識別或螢幕鎖定"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"驗證是你本人"</string>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index f1c9dcd..c53aaa1 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"存取與你生命徵象相關的感應器資料"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"通知"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"顯示通知"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"延展實境追蹤資料"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"存取與你和周遭環境相關的延展實境資料"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"敏感的延展實境追蹤資料"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"存取敏感的追蹤資料，例如視線"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"擷取視窗內容"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"檢查你存取的視窗內容。"</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"啟用輕觸探索功能"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"允許應用程式修改你的相片收藏。"</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"讀取你的媒體收藏的位置資訊"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"允許應用程式讀取你的媒體收藏的位置資訊。"</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"追蹤視線的大概方向"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"允許應用程式追蹤你視線的大概方向。"</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"追蹤視線"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"允許應用程式存取視線精確方向的資料。"</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"追蹤臉部"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"允許應用程式存取臉部追蹤資料。"</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"追蹤手勢"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"允許應用程式存取手勢追蹤資料。"</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"追蹤頭部"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"允許應用程式存取頭部追蹤資料。"</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"瞭解當下環境"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"允許應用程式存取與你周遭環境相關的追蹤資料。"</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"深入瞭解當下環境"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"允許應用程式存取與你周遭環境相關的詳細追蹤資料。"</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"在非前景執行時存取延展實境資料"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"允許應用程式在非前景執行時存取延展實境資料。"</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"使用生物辨識功能"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"使用生物辨識或螢幕鎖定功能"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"驗證你的身分"</string>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index 5732cec..079bf67 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -353,14 +353,10 @@
     <string name="permgroupdesc_sensors" msgid="2610631290633747752">"finyelela idatha yesizweli mayelana nezimpawu zakho ezibalulekile"</string>
     <string name="permgrouplab_notifications" msgid="5472972361980668884">"Izaziso"</string>
     <string name="permgroupdesc_notifications" msgid="4608679556801506580">"bonisa izaziso"</string>
-    <!-- no translation found for permgrouplab_xr_tracking (7418994009794287471) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking (6777198859446500821) -->
-    <skip />
-    <!-- no translation found for permgrouplab_xr_tracking_sensitive (1194833982988144536) -->
-    <skip />
-    <!-- no translation found for permgroupdesc_xr_tracking_sensitive (9178027369004805829) -->
-    <skip />
+    <string name="permgrouplab_xr_tracking" msgid="7418994009794287471">"Idatha yokulandelela ye-XR"</string>
+    <string name="permgroupdesc_xr_tracking" msgid="6777198859446500821">"finyelela idatha ye-XR emayelana nawe nendawo ekuzungezile"</string>
+    <string name="permgrouplab_xr_tracking_sensitive" msgid="1194833982988144536">"idatha ebucayi yokulandelela i-XR"</string>
+    <string name="permgroupdesc_xr_tracking_sensitive" msgid="9178027369004805829">"finyelela idatha yokulandelela ebucayi, efana nokubuka kweso"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="7554282892101587296">"Thola okuqukethwe kwewindi"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="6195610527625237661">"Hlola okuqukethwe kwewindi ohlanganyela nalo."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="327598364696316213">"Vula ukuhlola ngokuthinta"</string>
@@ -656,38 +652,22 @@
     <string name="permdesc_imagesWrite" msgid="5195054463269193317">"Ivumela uhlelo lwakho lokusebenza ukuthi lilungise iqoqo lakho lesithombe."</string>
     <string name="permlab_mediaLocation" msgid="7368098373378598066">"funda izindawo kusukela kuqoqo lakho lemidiya"</string>
     <string name="permdesc_mediaLocation" msgid="597912899423578138">"Ivumela uhlelo lokusebenza ukuthi lifunde izindawo kusukela kuqoqo lakho lemidiya."</string>
-    <!-- no translation found for permlab_eye_tracking_coarse (7989596289790269059) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_coarse (870510233930553355) -->
-    <skip />
-    <!-- no translation found for permlab_eye_tracking_fine (6914457357027049512) -->
-    <skip />
-    <!-- no translation found for permdesc_eye_tracking_fine (5788889152304524730) -->
-    <skip />
-    <!-- no translation found for permlab_face_tracking (2272048395128283324) -->
-    <skip />
-    <!-- no translation found for permdesc_face_tracking (2622783922311211866) -->
-    <skip />
-    <!-- no translation found for permlab_hand_tracking (6478233866595566940) -->
-    <skip />
-    <!-- no translation found for permdesc_hand_tracking (8639715900104966456) -->
-    <skip />
-    <!-- no translation found for permlab_head_tracking (1309731456372087270) -->
-    <skip />
-    <!-- no translation found for permdesc_head_tracking (231597390513699188) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_coarse (6518646430502858641) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_coarse (4508880777646198656) -->
-    <skip />
-    <!-- no translation found for permlab_scene_understanding_fine (409126403264393251) -->
-    <skip />
-    <!-- no translation found for permdesc_scene_understanding_fine (6223368011593524179) -->
-    <skip />
-    <!-- no translation found for permlab_xr_tracking_in_background (7117098718465619023) -->
-    <skip />
-    <!-- no translation found for permdesc_xr_tracking_in_background (939504041387836853) -->
-    <skip />
+    <string name="permlab_eye_tracking_coarse" msgid="7989596289790269059">"landelela ukuthi iso lakho libheke ngakuphi"</string>
+    <string name="permdesc_eye_tracking_coarse" msgid="870510233930553355">"Ivumela i-app ukuthi ilandelele ukubuka kwakho kweso."</string>
+    <string name="permlab_eye_tracking_fine" msgid="6914457357027049512">"landelela lapho obheke khona"</string>
+    <string name="permdesc_eye_tracking_fine" msgid="5788889152304524730">"Ivumela i-app ifinyelele idatha yokubuka kweso okunembile."</string>
+    <string name="permlab_face_tracking" msgid="2272048395128283324">"landelela ubuso bakho"</string>
+    <string name="permdesc_face_tracking" msgid="2622783922311211866">"Ivumela i-app ukuthi ifinyelele idatha yokulandelela ukunyakaza kobuso."</string>
+    <string name="permlab_hand_tracking" msgid="6478233866595566940">"landelela izandla zakho"</string>
+    <string name="permdesc_hand_tracking" msgid="8639715900104966456">"Ivumela i-app ukuthi ifinyelele idatha yokulandelela ukunyakaza kwesandla."</string>
+    <string name="permlab_head_tracking" msgid="1309731456372087270">"landelela ikhanda lakho"</string>
+    <string name="permdesc_head_tracking" msgid="231597390513699188">"Ivumela i-app ukuthi ifinyelele idatha yokulandelela ukunyakaza kwekhanda."</string>
+    <string name="permlab_scene_understanding_coarse" msgid="6518646430502858641">"qonda indawo okuyo eseduze"</string>
+    <string name="permdesc_scene_understanding_coarse" msgid="4508880777646198656">"Ivumela i-app ukuthi ifinyelele idatha elandelela indawo ekuzungezile."</string>
+    <string name="permlab_scene_understanding_fine" msgid="409126403264393251">"qonda indawo yakho eseduze ngemininingwane ephezulu"</string>
+    <string name="permdesc_scene_understanding_fine" msgid="6223368011593524179">"Ivumela i-app ukuthi ifinyelele idatha elandelela indawo ekuzungezile ngemininingwane ephezulu kakhulu."</string>
+    <string name="permlab_xr_tracking_in_background" msgid="7117098718465619023">"finyelela idatha ye-XR ngenkathi ungekho ngaphambili"</string>
+    <string name="permdesc_xr_tracking_in_background" msgid="939504041387836853">"Ivumela i-app ukuba ifinyelele idatha ye-XR ngenkathi ingekho ngaphambili."</string>
     <string name="biometric_app_setting_name" msgid="3339209978734534457">"Sebenzisa i-biometrics"</string>
     <string name="biometric_or_screen_lock_app_setting_name" msgid="5348462421758257752">"Sebenzisa i-biometrics noma ukukhiya isikrini"</string>
     <string name="biometric_dialog_default_title" msgid="55026799173208210">"Qinisekisa ukuthi nguwe"</string>
diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml
index 15230c2..9983c45 100644
--- a/core/res/res/values/attrs_manifest.xml
+++ b/core/res/res/values/attrs_manifest.xml
@@ -853,11 +853,14 @@
             element.
          <aside class="note"><b>Note:</b>
             <ul>
+                <li>To improve the layout of apps on form factors with smallest width >= 600dp, the
+                    system ignores this attribute for apps that target Android 16 (API level 36) or
+                    higher.</li>
                 <li>Device manufacturers can configure devices to override (ignore) this attribute
                     to improve the layout of apps.</li>
                 <li>On devices with Android 16 (API level 36) or higher installed, virtual device
-                    owners (limited to select trusted and privileged apps) can configure devices
-                    they manage to override (ignore) this attribute to improve app layout. See also
+                    owners (select trusted and privileged apps) can configure devices they manage to
+                    override (ignore) this attribute to improve app layout. See also
                     <a href="https://source.android.com/docs/core/permissions/app-streaming">
                     Companion app streaming</a>.</li>
              </ul>
@@ -1482,19 +1485,20 @@
                 <li>On Android 11 (API level 30) and lower, the value of
                     {@link android.R.attr#screenOrientation} is ignored for resizeable activities
                     in multi-window mode.</li>
+                <li>To improve the layout of apps on form factors with smallest width >= 600dp, the
+                    system ignores this attribute for apps that target Android 16 (API level 36) or
+                    higher.</li>
                 <li>Device manufacturers can configure devices to override (ignore) this attribute
                     to force apps to resize. The override does not affect the app's support for
-                    multi-window mode. See
-                    <a href="{@docRoot}guide/practices/device-compatibility-mode">Device
-                    compatibility mode</a>.</li>
+                    multi-window mode.</li>
                 <li>On devices with Android 16 (API level 36) or higher installed, virtual device
-                    owners (limited to select trusted and privileged apps) can configure devices
-                    they manage to override (ignore) this attribute to force apps to resize. See
-                    <a href="{@docRoot}guide/practices/device-compatibility-mode">Device
-                    compatibility mode</a>. See also
-                    <a href="https://source.android.com/docs/core/permissions/app-streaming">
+                    owners (select trusted and privileged apps) can configure devices they manage to
+                    override (ignore) this attribute to force apps to resize. See
+                    also <a href="https://source.android.com/docs/core/permissions/app-streaming">
                     Companion app streaming</a>.</li>
             </ul>
+            <p>See <a href="{@docRoot}guide/practices/device-compatibility-mode"> Device
+            compatibility mode</a>.</p>
          </aside> -->
     <attr name="resizeableActivity" format="boolean" />
 
@@ -1519,18 +1523,19 @@
             <ul>
                 <li>This attribute is ignored if the activity has
                     {@link android.R.attr#resizeableActivity} set to {@code true}.</li>
+                <li>To improve the layout of apps on form factors with smallest width >= 600dp, the
+                    system ignores this attribute for apps that target Android 16 (API level 36) or
+                    higher.</li>
                 <li>Device manufacturers can configure devices to override (ignore) this attribute
-                    to improve the layout of apps. See
-                    <a href="{@docRoot}guide/practices/device-compatibility-mode#override_any_orientation_to_user">
-                    Device compatibility mode</a>.</li>
+                    to improve the layout of apps.</li>
                 <li>On devices with Android 16 (API level 36) or higher installed, virtual device
-                    owners (limited to select trusted and privileged apps) can configure devices
-                    they manage to override (ignore) this attribute to improve app layout. See
-                    <a href="{@docRoot}guide/practices/device-compatibility-mode#override_any_orientation_to_user">
-                    Device compatibility mode</a>. See also
+                    owners (select trusted and privileged apps) can configure devices they manage to
+                    override (ignore) this attribute to improve app layout. See
                     <a href="https://source.android.com/docs/core/permissions/app-streaming">
                     Companion app streaming</a>.</li>
             </ul>
+            <p>See <a href="{@docRoot}guide/practices/device-compatibility-mode"> Device
+            compatibility mode</a>.</p>
          </aside> -->
     <attr name="maxAspectRatio" format="float" />
 
@@ -1540,24 +1545,25 @@
          <p>Minimum aspect ratio, expressed as (longer dimension / shorter dimension) in decimal
             form. For example, if the minimum aspect ratio is 4:3, set value to 1.33.
          <p>Value needs to be greater or equal to 1.0, otherwise it is ignored.
-         <aside class="note"><b>Note:</b>
+          <aside class="note"><b>Note:</b>
             <ul>
                 <li>This attribute is ignored if the activity has
                     {@link android.R.attr#resizeableActivity} set to {@code true}.</li>
+                <li>To improve the layout of apps on form factors with smallest width >= 600dp, the
+                    system ignores this attribute for apps that target Android 16 (API level 36) or
+                    higher.</li>
                 <li>Device manufacturers can configure devices to override (ignore) this attribute
-                    to improve the layout of apps. See
-                    <a href="{@docRoot}guide/practices/device-compatibility-mode">Device
-                    compatibility mode</a>.</li>
+                    to improve the layout of apps.</li>
                 <li>On devices with Android 16 (API level 36) or higher installed, virtual device
-                    owners (limited to select trusted and privileged apps) can configure devices
-                    they manage to override (ignore) this attribute to improve app layout. See
-                    <a href="{@docRoot}guide/practices/device-compatibility-mode">Device
-                    compatibility mode</a>. See also
+                    owners (select trusted and privileged apps) can configure devices they manage to
+                    override (ignore) this attribute to improve app layout. See
                     <a href="https://source.android.com/docs/core/permissions/app-streaming">
                     Companion app streaming</a>.</li>
             </ul>
+            <p>See <a href="{@docRoot}guide/practices/device-compatibility-mode"> Device
+            compatibility mode</a>.</p>
          </aside> -->
-    <attr name="minAspectRatio" format="float" />
+   <attr name="minAspectRatio" format="float" />
 
     <!-- This value indicates how tasks rooted at this activity will behave in lockTask mode.
          While in lockTask mode the system will not launch non-permitted tasks until
diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml
index 864daf9..4e93c44 100644
--- a/core/res/res/values/colors.xml
+++ b/core/res/res/values/colors.xml
@@ -585,6 +585,8 @@
     <!-- Color for various surfaces related to system-wide blur -->
     <color name="surface_effect_0">@color/surface_effect_0_color</color>
     <color name="surface_effect_1">@color/surface_effect_1_color</color>
+    <color name="surface_effect_2">@color/surface_effect_2_color</color>
+    <color name="surface_effect_3">@color/surface_effect_3_color</color>
 
     <!-- Color for system bars -->
     <color name="navigation_bar_compatible">@android:color/black</color>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 2188469..1cb38be 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -3165,11 +3165,6 @@
          1 : boot to the first switchable full user for initial boot (unprovisioned device), else to the headless system user, i.e. user 0. -->
     <integer name="config_hsumBootStrategy">0</integer>
 
-    <!-- Whether to boot system with the headless system user, i.e. user 0. If set to true,
-         system will be booted with the headless system user, or user 0. It has no effect if device
-         is not in Headless System User Mode (HSUM). -->
-    <bool name="config_bootToHeadlessSystemUser">false</bool>
-
     <!-- Whether multiple admins are allowed on the device. If set to true, new users can be created
          with admin privileges and admin privileges can be granted/revoked from existing users. -->
     <bool name="config_enableMultipleAdmins">false</bool>
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 7a93ca1..6a83bae 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -5009,6 +5009,9 @@
     <!-- Title of hearing aids feature, shown in the warning dialog about the accessibility shortcut. [CHAR LIMIT=none] -->
     <string name="hearing_aids_feature_name">Hearing devices</string>
 
+    <!-- Title of autoclick feature, shown in the warning dialog about the accessibility shortcut. [CHAR LIMIT=none] -->
+    <string name="autoclick_feature_name">Autoclick</string>
+
     <!-- Text of hearing device disconnected state. [CHAR LIMIT=20] -->
     <string name="hearing_device_status_disconnected">Disconnected</string>
 
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index b013ffd..c8c1e73 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -368,7 +368,6 @@
   <java-symbol type="bool" name="config_enableMultipleAdmins"/>
   <java-symbol type="bool" name="config_allowAlarmsOnStoppedUsers"/>
   <java-symbol type="bool" name="config_showNotificationForBackgroundUserAlarms"/>
-  <java-symbol type="bool" name="config_bootToHeadlessSystemUser"/>
   <java-symbol type="bool" name="config_omnipresentCommunalUser"/>
   <java-symbol type="bool" name="config_enableNewAutoSelectNetworkUI"/>
   <java-symbol type="bool" name="config_disableUsbPermissionDialogs"/>
@@ -535,6 +534,8 @@
 
   <java-symbol type="color" name="surface_effect_0" />
   <java-symbol type="color" name="surface_effect_1" />
+  <java-symbol type="color" name="surface_effect_2" />
+  <java-symbol type="color" name="surface_effect_3" />
   <java-symbol type="color" name="tab_indicator_text_v4" />
 
   <java-symbol type="dimen" name="accessibility_touch_slop" />
@@ -3235,8 +3236,6 @@
   <java-symbol type="id" name="header_text" />
   <java-symbol type="id" name="header_text_secondary" />
   <java-symbol type="id" name="expand_button" />
-  <java-symbol type="id" name="expand_button_spacer" />
-  <java-symbol type="id" name="expand_button_container" />
   <java-symbol type="id" name="expand_button_pill" />
   <java-symbol type="id" name="expand_button_pill_colorized_layer" />
   <java-symbol type="id" name="expand_button_number" />
@@ -3791,6 +3790,7 @@
   <java-symbol type="string" name="accessibility_shortcut_disabling_service" />
   <java-symbol type="string" name="color_inversion_feature_name" />
   <java-symbol type="string" name="color_correction_feature_name" />
+  <java-symbol type="string" name="autoclick_feature_name"/>
   <java-symbol type="string" name="reduce_bright_colors_feature_name" />
   <java-symbol type="string" name="config_defaultAccessibilityService" />
   <java-symbol type="string" name="config_defaultSelectToSpeakService" />
diff --git a/core/tests/coretests/Android.bp b/core/tests/coretests/Android.bp
index 4c49ff8..05fb5735 100644
--- a/core/tests/coretests/Android.bp
+++ b/core/tests/coretests/Android.bp
@@ -249,8 +249,14 @@
 android_ravenwood_test {
     name: "FrameworksCoreTestsRavenwood",
     libs: [
-        "android.test.base.stubs.system",
-        "android.test.runner.stubs.system",
+        "android.test.base.stubs",
+        "android.test.mock.stubs",
+        "android.test.runner.stubs",
+        "android.view.flags-aconfig-java",
+        "ext",
+        "framework",
+        "framework-res",
+        "org.apache.http.legacy.stubs",
     ],
     static_libs: [
         "androidx.annotation_annotation",
@@ -264,6 +270,7 @@
         "flag-junit",
         "flag-junit",
         "perfetto_trace_java_protos",
+        "platform-compat-test-rules",
         "platform-test-annotations",
         "testng",
     ],
@@ -278,8 +285,12 @@
         "src/android/content/res/*.java",
         "src/android/content/res/*.kt",
         "src/android/database/CursorWindowTest.java",
+        "src/android/graphics/*.java",
+        "src/android/graphics/*.kt",
         "src/android/os/**/*.java",
         "src/android/telephony/PinResultTest.java",
+        "src/android/text/**/*.java",
+        "src/android/text/**/*.kt",
         "src/android/util/**/*.java",
         "src/android/view/DisplayAdjustmentsTests.java",
         "src/android/view/DisplayInfoTest.java",
@@ -288,20 +299,21 @@
         "src/com/android/internal/os/**/*.java",
         "src/com/android/internal/power/EnergyConsumerStatsTest.java",
         "src/com/android/internal/ravenwood/**/*.java",
-
-        // Pull in R.java from FrameworksCoreTests-resonly, not from FrameworksCoreTests,
-        // to avoid having a dependency to FrameworksCoreTests.
-        // This way, when updating source files and running this test, we don't need to
-        // rebuild the entire FrameworksCoreTests, which would be slow.
         "src/com/android/internal/util/**/*.java",
 
         ":FrameworksCoreTestDoubles-sources",
         ":FrameworksCoreTests-aidl",
         ":FrameworksCoreTests-helpers",
+
+        // Pull in R.java from FrameworksCoreTests-resonly, not from FrameworksCoreTests,
+        // to avoid having a dependency to FrameworksCoreTests.
+        // This way, when updating source files and running this test, we don't need to
+        // rebuild the entire FrameworksCoreTests, which would be slow.
         ":FrameworksCoreTests-resonly{.aapt.srcjar}",
     ],
     exclude_srcs: [
         "src/android/content/res/FontScaleConverterActivityTest.java",
+        "src/android/graphics/GraphicsPerformanceTests.java",
     ],
     resource_apk: "FrameworksCoreTests-resonly",
     aidl: {
@@ -313,6 +325,7 @@
         "res/xml/power_profile_test_cpu_legacy.xml",
         "res/xml/power_profile_test_modem.xml",
     ],
+    sdk_version: "core_platform",
     auto_gen_config: true,
     team: "trendy_team_ravenwood",
 }
diff --git a/core/tests/coretests/src/android/content/res/FontScaleConverterTest.kt b/core/tests/coretests/src/android/content/res/FontScaleConverterTest.kt
index 0e5d926..2c61442 100644
--- a/core/tests/coretests/src/android/content/res/FontScaleConverterTest.kt
+++ b/core/tests/coretests/src/android/content/res/FontScaleConverterTest.kt
@@ -17,10 +17,8 @@
 package android.content.res
 
 import android.platform.test.annotations.Presubmit
-import android.platform.test.ravenwood.RavenwoodRule
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.google.common.truth.Truth.assertWithMessage
-import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
 
@@ -28,9 +26,6 @@
 @RunWith(AndroidJUnit4::class)
 class FontScaleConverterTest {
 
-    @get:Rule
-    val ravenwoodRule: RavenwoodRule = RavenwoodRule.Builder().build()
-
     @Test
     fun straightInterpolation() {
         val table = createTable(8f to 8f, 10f to 10f, 20f to 20f)
diff --git a/core/tests/coretests/src/android/graphics/BitmapFactoryTest.java b/core/tests/coretests/src/android/graphics/BitmapFactoryTest.java
index 84bdbe0..263307e 100644
--- a/core/tests/coretests/src/android/graphics/BitmapFactoryTest.java
+++ b/core/tests/coretests/src/android/graphics/BitmapFactoryTest.java
@@ -20,7 +20,9 @@
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
+import android.os.MemoryFile;
 import android.os.ParcelFileDescriptor;
+import android.platform.test.annotations.DisabledOnRavenwood;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
@@ -37,6 +39,7 @@
     // tests that we can decode bitmaps from MemoryFiles
     @SmallTest
     @Test
+    @DisabledOnRavenwood(blockedBy = MemoryFile.class)
     public void testBitmapParcelFileDescriptor() throws Exception {
         Bitmap bitmap1 = Bitmap.createBitmap(
                 new int[] { Color.BLUE }, 1, 1, Bitmap.Config.RGB_565);
diff --git a/core/tests/coretests/src/android/graphics/BitmapTest.java b/core/tests/coretests/src/android/graphics/BitmapTest.java
index 0126d36..61c3d78 100644
--- a/core/tests/coretests/src/android/graphics/BitmapTest.java
+++ b/core/tests/coretests/src/android/graphics/BitmapTest.java
@@ -22,6 +22,7 @@
 import static org.junit.Assert.fail;
 
 import android.hardware.HardwareBuffer;
+import android.platform.test.annotations.DisabledOnRavenwood;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
@@ -252,6 +253,7 @@
                     | GraphicBuffer.USAGE_SW_WRITE_OFTEN;
 
     @Test
+    @DisabledOnRavenwood(blockedBy = HardwareBuffer.class)
     public void testWrapHardwareBufferWithSrgbColorSpace() {
         GraphicBuffer buffer = GraphicBuffer.create(10, 10, PixelFormat.RGBA_8888, GRAPHICS_USAGE);
         Canvas canvas = buffer.lockCanvas();
@@ -265,6 +267,7 @@
     }
 
     @Test
+    @DisabledOnRavenwood(blockedBy = HardwareBuffer.class)
     public void testWrapHardwareBufferWithDisplayP3ColorSpace() {
         GraphicBuffer buffer = GraphicBuffer.create(10, 10, PixelFormat.RGBA_8888, GRAPHICS_USAGE);
         Canvas canvas = buffer.lockCanvas();
diff --git a/core/tests/coretests/src/android/graphics/PaintTest.java b/core/tests/coretests/src/android/graphics/PaintTest.java
index 56760d7..deb5157 100644
--- a/core/tests/coretests/src/android/graphics/PaintTest.java
+++ b/core/tests/coretests/src/android/graphics/PaintTest.java
@@ -24,6 +24,7 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+import android.platform.test.annotations.DisabledOnRavenwood;
 import android.platform.test.annotations.RequiresFlagsEnabled;
 import android.platform.test.flag.junit.CheckFlagsRule;
 import android.platform.test.flag.junit.DeviceFlagsValueProvider;
@@ -97,6 +98,7 @@
 
     @SmallTest
     @Test
+    @DisabledOnRavenwood(bug = 391381043)
     public void testHintingWidth() {
         final Typeface fontTypeface = Typeface.createFromAsset(
                 InstrumentationRegistry.getInstrumentation().getContext().getAssets(), FONT_PATH);
@@ -143,6 +145,7 @@
     }
 
     @Test
+    @DisabledOnRavenwood(bug = 391381043)
     public void testHasGlyph_variationSelectors() {
         final Typeface fontTypeface = Typeface.createFromAsset(
                 InstrumentationRegistry.getInstrumentation().getContext().getAssets(),
diff --git a/core/tests/coretests/src/android/graphics/TypefaceSystemFallbackTest.java b/core/tests/coretests/src/android/graphics/TypefaceSystemFallbackTest.java
index 2b6eda8f..dc3376e 100644
--- a/core/tests/coretests/src/android/graphics/TypefaceSystemFallbackTest.java
+++ b/core/tests/coretests/src/android/graphics/TypefaceSystemFallbackTest.java
@@ -35,9 +35,9 @@
 import android.text.FontConfig;
 import android.util.ArrayMap;
 
-import androidx.test.InstrumentationRegistry;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
+import androidx.test.platform.app.InstrumentationRegistry;
 
 import com.android.text.flags.Flags;
 
@@ -63,9 +63,6 @@
 @SmallTest
 @RunWith(AndroidJUnit4.class)
 public class TypefaceSystemFallbackTest {
-    private static final String SYSTEM_FONT_DIR = "/system/fonts/";
-    private static final String SYSTEM_FONTS_XML = "/system/etc/fonts.xml";
-
     private static final String[] TEST_FONT_FILES = {
         "a3em.ttf",  // Supports "a","b","c". The width of "a" is 3em,  others are 1em.
         "b3em.ttf",  // Supports "a","b","c". The width of "b" is 3em,  others are 1em.
@@ -118,8 +115,6 @@
 
     @Before
     public void setUp() {
-        final AssetManager am =
-                InstrumentationRegistry.getInstrumentation().getContext().getAssets();
         for (final String fontFile : TEST_FONT_FILES) {
             final String sourceInAsset = "fonts/" + fontFile;
             copyAssetToFile(sourceInAsset, new File(TEST_FONT_DIR, fontFile));
@@ -216,7 +211,8 @@
         FontConfig fontConfig;
         try {
             fontConfig = FontListParser.parse(
-                    SYSTEM_FONTS_XML, SYSTEM_FONT_DIR, null, TEST_OEM_DIR, null, 0, 0);
+                    SystemFonts.LEGACY_FONTS_XML, SystemFonts.SYSTEM_FONT_DIR,
+                    null, TEST_OEM_DIR, null, 0, 0);
         } catch (IOException | XmlPullParserException e) {
             throw new RuntimeException(e);
         }
diff --git a/core/tests/coretests/src/android/graphics/TypefaceTest.java b/core/tests/coretests/src/android/graphics/TypefaceTest.java
index 80efa51..0c8b5ab 100644
--- a/core/tests/coretests/src/android/graphics/TypefaceTest.java
+++ b/core/tests/coretests/src/android/graphics/TypefaceTest.java
@@ -26,6 +26,7 @@
 import android.graphics.fonts.FontFamily;
 import android.graphics.fonts.SystemFonts;
 import android.os.SharedMemory;
+import android.platform.test.annotations.DisabledOnRavenwood;
 import android.text.FontConfig;
 import android.util.ArrayMap;
 
@@ -196,6 +197,7 @@
 
     @SmallTest
     @Test
+    @DisabledOnRavenwood(blockedBy = SharedMemory.class)
     public void testSerialize() throws Exception {
         FontConfig fontConfig = SystemFonts.getSystemPreinstalledFontConfig();
         Map<String, FontFamily[]> fallbackMap = SystemFonts.buildSystemFallback(fontConfig);
diff --git a/core/tests/coretests/src/android/os/PerfettoTraceTest.java b/core/tests/coretests/src/android/os/PerfettoTraceTest.java
index fb743d2..6915015 100644
--- a/core/tests/coretests/src/android/os/PerfettoTraceTest.java
+++ b/core/tests/coretests/src/android/os/PerfettoTraceTest.java
@@ -108,8 +108,8 @@
         PerfettoTrace.Session session = new PerfettoTrace.Session(true, traceConfig.toByteArray());
 
         PerfettoTrace.instant(FOO_CATEGORY, "event")
-                .addFlow(2)
-                .addTerminatingFlow(3)
+                .setFlow(2)
+                .setTerminatingFlow(3)
                 .addArg("long_val", 10000000000L)
                 .addArg("bool_val", true)
                 .addArg("double_val", 3.14)
diff --git a/core/tests/coretests/src/android/text/AndroidCharacterTest.java b/core/tests/coretests/src/android/text/AndroidCharacterTest.java
index 1c5986a..819a5fb 100644
--- a/core/tests/coretests/src/android/text/AndroidCharacterTest.java
+++ b/core/tests/coretests/src/android/text/AndroidCharacterTest.java
@@ -18,6 +18,7 @@
 
 import static org.junit.Assert.assertArrayEquals;
 
+import android.platform.test.annotations.DisabledOnRavenwood;
 import android.platform.test.annotations.Presubmit;
 
 import androidx.test.filters.SmallTest;
@@ -26,6 +27,7 @@
 
 @Presubmit
 @SmallTest
+@DisabledOnRavenwood(reason = "No need to make j.l.Character match behavior of AndroidCharacter")
 public class AndroidCharacterTest {
 
     @Test
diff --git a/core/tests/coretests/src/android/text/SpanColorsTest.java b/core/tests/coretests/src/android/text/SpanColorsTest.java
index d2cb8c1..4cdbd08 100644
--- a/core/tests/coretests/src/android/text/SpanColorsTest.java
+++ b/core/tests/coretests/src/android/text/SpanColorsTest.java
@@ -20,6 +20,7 @@
 
 import android.graphics.Color;
 import android.graphics.drawable.ShapeDrawable;
+import android.platform.test.annotations.DisabledOnRavenwood;
 import android.platform.test.annotations.Presubmit;
 import android.text.style.ForegroundColorSpan;
 import android.text.style.ImageSpan;
@@ -35,6 +36,7 @@
 @Presubmit
 @SmallTest
 @RunWith(AndroidJUnit4.class)
+@DisabledOnRavenwood(blockedBy = ShapeDrawable.class)
 public class SpanColorsTest {
     private final TextPaint mWorkPaint = new TextPaint();
     private SpanColors mSpanColors;
diff --git a/core/tests/coretests/src/android/text/SpannableTest.java b/core/tests/coretests/src/android/text/SpannableTest.java
index a3e6a78..710d1e2 100644
--- a/core/tests/coretests/src/android/text/SpannableTest.java
+++ b/core/tests/coretests/src/android/text/SpannableTest.java
@@ -16,10 +16,10 @@
 
 package android.text;
 
+import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 
 import android.platform.test.annotations.Presubmit;
-import android.test.MoreAsserts;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
@@ -50,13 +50,13 @@
         // but other spans are not, unless the query region is empty, in
         // in which case any abutting spans are returned.
         spans = spannable.getSpans(0, 1, Object.class);
-        MoreAsserts.assertEquals(new Object[]{emptySpan}, spans);
+        assertArrayEquals(new Object[]{emptySpan}, spans);
         spans = spannable.getSpans(0, 2, Object.class);
-        MoreAsserts.assertEquals(new Object[]{emptySpan, unemptySpan}, spans);
+        assertArrayEquals(new Object[]{emptySpan, unemptySpan}, spans);
         spans = spannable.getSpans(1, 2, Object.class);
-        MoreAsserts.assertEquals(new Object[]{emptySpan, unemptySpan}, spans);
+        assertArrayEquals(new Object[]{emptySpan, unemptySpan}, spans);
         spans = spannable.getSpans(2, 2, Object.class);
-        MoreAsserts.assertEquals(new Object[]{unemptySpan}, spans);
+        assertArrayEquals(new Object[]{unemptySpan}, spans);
     }
 
     @Test
diff --git a/core/tests/coretests/src/android/text/StaticLayoutTest.java b/core/tests/coretests/src/android/text/StaticLayoutTest.java
index 3541900..55f38b2 100644
--- a/core/tests/coretests/src/android/text/StaticLayoutTest.java
+++ b/core/tests/coretests/src/android/text/StaticLayoutTest.java
@@ -25,6 +25,7 @@
 import android.graphics.Paint;
 import android.graphics.Paint.FontMetricsInt;
 import android.os.LocaleList;
+import android.platform.test.annotations.DisabledOnRavenwood;
 import android.platform.test.annotations.Presubmit;
 import android.text.Layout.Alignment;
 import android.text.method.EditorState;
@@ -726,6 +727,7 @@
     }
 
     @Test
+    @DisabledOnRavenwood(bug = 391342883)
     public void testLocaleSpanAffectsHyphenation() {
         TextPaint paint = new TextPaint();
         paint.setTextLocale(Locale.US);
diff --git a/core/tests/coretests/src/android/text/TextUtilsTest.java b/core/tests/coretests/src/android/text/TextUtilsTest.java
index f552265..e38c880 100644
--- a/core/tests/coretests/src/android/text/TextUtilsTest.java
+++ b/core/tests/coretests/src/android/text/TextUtilsTest.java
@@ -18,6 +18,7 @@
 
 import static android.text.TextUtils.formatSimple;
 
+import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -28,7 +29,6 @@
 
 import android.os.Parcel;
 import android.platform.test.annotations.Presubmit;
-import android.test.MoreAsserts;
 import android.text.style.StyleSpan;
 import android.text.util.Rfc822Token;
 import android.text.util.Rfc822Tokenizer;
@@ -237,7 +237,7 @@
         for (String s : splitter) {
             strings.add(s);
         }
-        MoreAsserts.assertEquals(expectedStrings, strings.toArray(new String[]{}));
+        assertArrayEquals(expectedStrings, strings.toArray(new String[]{}));
     }
 
     @Test
diff --git a/core/tests/coretests/src/android/text/format/DateFormatTest.java b/core/tests/coretests/src/android/text/format/DateFormatTest.java
index 59af6dd..c16393c 100644
--- a/core/tests/coretests/src/android/text/format/DateFormatTest.java
+++ b/core/tests/coretests/src/android/text/format/DateFormatTest.java
@@ -74,8 +74,9 @@
         DateFormatSymbols dfs = DateFormat.getIcuDateFormatSymbols(Locale.US);
         assertEquals("AM", dfs.getAmPmStrings()[0]);
         assertEquals("PM", dfs.getAmPmStrings()[1]);
-        assertEquals("a", dfs.getAmpmNarrowStrings()[0]);
-        assertEquals("p", dfs.getAmpmNarrowStrings()[1]);
+        // getAmpmNarrowStrings() is a @CorePlatformApi that we should stop using in framework
+        // assertEquals("a", dfs.getAmpmNarrowStrings()[0]);
+        // assertEquals("p", dfs.getAmpmNarrowStrings()[1]);
     }
 
     @Test
diff --git a/core/tests/coretests/src/android/text/format/DateIntervalFormatTest.java b/core/tests/coretests/src/android/text/format/DateIntervalFormatTest.java
index a07d399..e542734 100644
--- a/core/tests/coretests/src/android/text/format/DateIntervalFormatTest.java
+++ b/core/tests/coretests/src/android/text/format/DateIntervalFormatTest.java
@@ -40,6 +40,7 @@
 import android.icu.util.Calendar;
 import android.icu.util.TimeZone;
 import android.icu.util.ULocale;
+import android.platform.test.annotations.DisabledOnRavenwood;
 import android.platform.test.annotations.Presubmit;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -686,6 +687,7 @@
     }
 
     @Test
+    @DisabledOnRavenwood(bug = 391381043)
     public void testIsLibcoreVFlagEnabled() {
         // This flag has been fully ramped. It should never be false.
         assertTrue(DateIntervalFormat.isLibcoreVFlagEnabled());
diff --git a/core/tests/coretests/src/android/text/format/DateUtilsTest.java b/core/tests/coretests/src/android/text/format/DateUtilsTest.java
index 47be893..a853d4a 100644
--- a/core/tests/coretests/src/android/text/format/DateUtilsTest.java
+++ b/core/tests/coretests/src/android/text/format/DateUtilsTest.java
@@ -21,6 +21,7 @@
 import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.os.LocaleList;
+import android.platform.test.annotations.DisabledOnRavenwood;
 import android.platform.test.annotations.Presubmit;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -116,6 +117,7 @@
     }
 
     @Test
+    @DisabledOnRavenwood(reason = "DateFormat.set24HourTimePref is not available on host JVM")
     public void testFormatSameDayTime() {
         // This test assumes a default DateFormat.is24Hour setting.
         DateFormat.set24HourTimePref(null);
diff --git a/core/tests/coretests/src/android/text/format/TimeMigrationUtilsTest.java b/core/tests/coretests/src/android/text/format/TimeMigrationUtilsTest.java
index c8cb5f3..49f3373 100644
--- a/core/tests/coretests/src/android/text/format/TimeMigrationUtilsTest.java
+++ b/core/tests/coretests/src/android/text/format/TimeMigrationUtilsTest.java
@@ -18,6 +18,7 @@
 
 import static org.junit.Assert.assertEquals;
 
+import android.platform.test.annotations.DisabledOnRavenwood;
 import android.platform.test.annotations.Presubmit;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -72,6 +73,7 @@
      * Compares TimeMigrationUtils.formatSimpleDateTime() with the code it is replacing.
      */
     @Test
+    @DisabledOnRavenwood(blockedBy = Time.class)
     public void formatMillisAsDateTime_matchesOldBehavior() {
         // A selection of interesting locales.
         Locale[] locales = new Locale[] {
diff --git a/core/tests/coretests/src/android/text/format/TimeTest.java b/core/tests/coretests/src/android/text/format/TimeTest.java
index 6138ea1..29c5899 100644
--- a/core/tests/coretests/src/android/text/format/TimeTest.java
+++ b/core/tests/coretests/src/android/text/format/TimeTest.java
@@ -20,6 +20,7 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+import android.platform.test.annotations.DisabledOnRavenwood;
 import android.platform.test.annotations.Presubmit;
 import android.util.Log;
 import android.util.TimeFormatException;
@@ -34,6 +35,7 @@
 @Presubmit
 @SmallTest
 @RunWith(AndroidJUnit4.class)
+@DisabledOnRavenwood(blockedBy = Time.class)
 public class TimeTest {
 
     @Test
diff --git a/core/tests/coretests/src/android/text/method/BackspaceTest.java b/core/tests/coretests/src/android/text/method/BackspaceTest.java
index a7ff244..646e8f9 100644
--- a/core/tests/coretests/src/android/text/method/BackspaceTest.java
+++ b/core/tests/coretests/src/android/text/method/BackspaceTest.java
@@ -16,6 +16,7 @@
 
 package android.text.method;
 
+import android.platform.test.annotations.DisabledOnRavenwood;
 import android.platform.test.annotations.Presubmit;
 import android.text.InputType;
 import android.util.KeyUtils;
@@ -41,6 +42,7 @@
 @Presubmit
 @SmallTest
 @RunWith(AndroidJUnit4.class)
+@DisabledOnRavenwood(blockedBy = EditText.class)
 public class BackspaceTest {
     private EditText mTextView;
 
diff --git a/core/tests/coretests/src/android/text/method/EditorState.java b/core/tests/coretests/src/android/text/method/EditorState.java
index 4eff7a4..633fa11 100644
--- a/core/tests/coretests/src/android/text/method/EditorState.java
+++ b/core/tests/coretests/src/android/text/method/EditorState.java
@@ -16,7 +16,7 @@
 
 package android.text.method;
 
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -181,4 +181,3 @@
         Assert.assertEquals(expected.mSelectionEnd, mSelectionEnd);
     }
 }
-
diff --git a/core/tests/coretests/src/android/text/method/ForwardDeleteTest.java b/core/tests/coretests/src/android/text/method/ForwardDeleteTest.java
index 1e4024d..8044fd7 100644
--- a/core/tests/coretests/src/android/text/method/ForwardDeleteTest.java
+++ b/core/tests/coretests/src/android/text/method/ForwardDeleteTest.java
@@ -16,6 +16,7 @@
 
 package android.text.method;
 
+import android.platform.test.annotations.DisabledOnRavenwood;
 import android.platform.test.annotations.Presubmit;
 import android.text.InputType;
 import android.util.KeyUtils;
@@ -40,6 +41,7 @@
 @Presubmit
 @SmallTest
 @RunWith(AndroidJUnit4.class)
+@DisabledOnRavenwood(blockedBy = EditText.class)
 public class ForwardDeleteTest {
     private EditText mTextView;
 
diff --git a/core/tests/coretests/src/android/text/method/InsertModeTransformationMethodTest.java b/core/tests/coretests/src/android/text/method/InsertModeTransformationMethodTest.java
index e2c1902..37ad204 100644
--- a/core/tests/coretests/src/android/text/method/InsertModeTransformationMethodTest.java
+++ b/core/tests/coretests/src/android/text/method/InsertModeTransformationMethodTest.java
@@ -19,6 +19,7 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
+import android.platform.test.annotations.DisabledOnRavenwood;
 import android.platform.test.annotations.Presubmit;
 import android.platform.test.annotations.RequiresFlagsDisabled;
 import android.platform.test.annotations.RequiresFlagsEnabled;
@@ -44,6 +45,7 @@
 @Presubmit
 @SmallTest
 @RunWith(AndroidJUnit4.class)
+@DisabledOnRavenwood(blockedBy = View.class)
 public class InsertModeTransformationMethodTest {
     private static View sView;
     private static final String TEXT = "abc def";
diff --git a/core/tests/coretests/src/android/text/util/LinkifyTest.java b/core/tests/coretests/src/android/text/util/LinkifyTest.java
index 52f3b2e..98bdb0b 100644
--- a/core/tests/coretests/src/android/text/util/LinkifyTest.java
+++ b/core/tests/coretests/src/android/text/util/LinkifyTest.java
@@ -23,6 +23,7 @@
 import android.content.Context;
 import android.content.res.Configuration;
 import android.os.LocaleList;
+import android.platform.test.annotations.DisabledOnRavenwood;
 import android.text.Spannable;
 import android.text.SpannableString;
 import android.text.method.LinkMovementMethod;
@@ -46,6 +47,7 @@
  */
 @SmallTest
 @RunWith(AndroidJUnit4.class)
+@DisabledOnRavenwood(blockedBy = Linkify.class)
 public class LinkifyTest {
 
     private static final LocaleList LOCALE_LIST_US = new LocaleList(Locale.US);
diff --git a/core/tests/coretests/src/android/widget/RemoteViewsTest.java b/core/tests/coretests/src/android/widget/RemoteViewsTest.java
index 8b0d315..9110898 100644
--- a/core/tests/coretests/src/android/widget/RemoteViewsTest.java
+++ b/core/tests/coretests/src/android/widget/RemoteViewsTest.java
@@ -22,6 +22,7 @@
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
@@ -1065,6 +1066,22 @@
         assertEquals(b1Memory + b2Memory, rv.estimateTotalBitmapMemoryUsage());
     }
 
+    @Test
+    public void remoteResponse_FillInIntentNestedIntentKeysCollected() {
+        Intent fillInIntent = new Intent();
+        fillInIntent.putExtra("extraIntent", new Intent());
+        RemoteViews.RemoteResponse.fromFillInIntent(fillInIntent);
+        assertNotEquals(0, fillInIntent.getExtendedFlags()
+                & Intent.EXTENDED_FLAG_NESTED_INTENT_KEYS_COLLECTED);
+
+        fillInIntent = new Intent();
+        fillInIntent.putExtra("extraIntent", new Intent());
+        RemoteViews rv = new RemoteViews(mPackage, R.layout.remote_views_test);
+        rv.setOnClickFillInIntent(R.id.view, fillInIntent);
+        assertNotEquals(0, fillInIntent.getExtendedFlags()
+                & Intent.EXTENDED_FLAG_NESTED_INTENT_KEYS_COLLECTED);
+    }
+
     private static LayoutInflater.Factory2 createLayoutInflaterFactory(String viewTypeToReplace,
             View replacementView) {
         return new LayoutInflater.Factory2() {
diff --git a/core/tests/coretests/src/com/android/internal/os/KernelSingleUidTimeReaderTest.java b/core/tests/coretests/src/com/android/internal/os/KernelSingleUidTimeReaderTest.java
index 3239598..0ba2d85 100644
--- a/core/tests/coretests/src/com/android/internal/os/KernelSingleUidTimeReaderTest.java
+++ b/core/tests/coretests/src/com/android/internal/os/KernelSingleUidTimeReaderTest.java
@@ -23,6 +23,7 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import android.annotation.SuppressLint;
 import android.platform.test.annotations.IgnoreUnderRavenwood;
 import android.platform.test.ravenwood.RavenwoodRule;
 import android.util.SparseArray;
@@ -287,6 +288,7 @@
                 0, lastUidCpuTimes.size());
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void testAddDeltaFromBpf() {
         LongArrayMultiStateCounter counter = new LongArrayMultiStateCounter(2, 5);
diff --git a/core/tests/coretests/src/com/android/internal/os/LongArrayMultiStateCounterTest.java b/core/tests/coretests/src/com/android/internal/os/LongArrayMultiStateCounterTest.java
index 7e5d0a4..959e121 100644
--- a/core/tests/coretests/src/com/android/internal/os/LongArrayMultiStateCounterTest.java
+++ b/core/tests/coretests/src/com/android/internal/os/LongArrayMultiStateCounterTest.java
@@ -20,6 +20,7 @@
 
 import static org.junit.Assert.assertThrows;
 
+import android.annotation.SuppressLint;
 import android.os.BadParcelableException;
 import android.os.Parcel;
 import android.platform.test.ravenwood.RavenwoodRule;
@@ -176,6 +177,7 @@
         assertCounts(newCounter, 0, new long[]{116, 232, 364, 528});
     }
 
+    @SuppressLint("CheckResult")
     private void assertCounts(LongArrayMultiStateCounter counter, int state, long[] expected) {
         long[] counts = new long[expected.length];
         counter.getCounts(counts, state);
diff --git a/graphics/java/android/graphics/AvoidXfermode.java b/graphics/java/android/graphics/AvoidXfermode.java
index 683c157..5296ee8 100644
--- a/graphics/java/android/graphics/AvoidXfermode.java
+++ b/graphics/java/android/graphics/AvoidXfermode.java
@@ -23,6 +23,7 @@
  * @removed
  */
 @Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class AvoidXfermode extends Xfermode {
 
     // these need to match the enum in AvoidXfermode.h on the native side
diff --git a/graphics/java/android/graphics/BLASTBufferQueue.java b/graphics/java/android/graphics/BLASTBufferQueue.java
index 9b9be244..9f60534 100644
--- a/graphics/java/android/graphics/BLASTBufferQueue.java
+++ b/graphics/java/android/graphics/BLASTBufferQueue.java
@@ -26,6 +26,7 @@
 /**
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class BLASTBufferQueue {
     // Note: This field is accessed by native code.
     public long mNativeObject; // BLASTBufferQueue*
diff --git a/graphics/java/android/graphics/BaseCanvas.java b/graphics/java/android/graphics/BaseCanvas.java
index a2a0f49..0ca58cc 100644
--- a/graphics/java/android/graphics/BaseCanvas.java
+++ b/graphics/java/android/graphics/BaseCanvas.java
@@ -48,6 +48,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public abstract class BaseCanvas {
     /**
      * Should only be assigned in constructors (or setBitmap if software canvas),
diff --git a/graphics/java/android/graphics/BaseRecordingCanvas.java b/graphics/java/android/graphics/BaseRecordingCanvas.java
index 5b1fa7b..0511bd1 100644
--- a/graphics/java/android/graphics/BaseRecordingCanvas.java
+++ b/graphics/java/android/graphics/BaseRecordingCanvas.java
@@ -44,6 +44,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class BaseRecordingCanvas extends Canvas {
 
     public BaseRecordingCanvas(long nativeCanvas) {
diff --git a/graphics/java/android/graphics/Bitmap.java b/graphics/java/android/graphics/Bitmap.java
index 0c4ea79..cd5a54c 100644
--- a/graphics/java/android/graphics/Bitmap.java
+++ b/graphics/java/android/graphics/Bitmap.java
@@ -51,6 +51,7 @@
 import java.util.ArrayList;
 import java.util.WeakHashMap;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class Bitmap implements Parcelable {
     private static final String TAG = "Bitmap";
 
diff --git a/graphics/java/android/graphics/BitmapFactory.java b/graphics/java/android/graphics/BitmapFactory.java
index 1c20141..a5535c8 100644
--- a/graphics/java/android/graphics/BitmapFactory.java
+++ b/graphics/java/android/graphics/BitmapFactory.java
@@ -41,6 +41,7 @@
  * Creates Bitmap objects from various sources, including files, streams,
  * and byte-arrays.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class BitmapFactory {
     private static final int DECODE_BUFFER_SIZE = 16 * 1024;
 
diff --git a/graphics/java/android/graphics/BitmapRegionDecoder.java b/graphics/java/android/graphics/BitmapRegionDecoder.java
index 29112af..9b3f715 100644
--- a/graphics/java/android/graphics/BitmapRegionDecoder.java
+++ b/graphics/java/android/graphics/BitmapRegionDecoder.java
@@ -37,6 +37,7 @@
  * to get a decoded Bitmap of the specified region.
  *
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class BitmapRegionDecoder {
     private long mNativeBitmapRegionDecoder;
     private boolean mRecycled;
diff --git a/graphics/java/android/graphics/BitmapShader.java b/graphics/java/android/graphics/BitmapShader.java
index dcfff62..ac3543a 100644
--- a/graphics/java/android/graphics/BitmapShader.java
+++ b/graphics/java/android/graphics/BitmapShader.java
@@ -31,6 +31,7 @@
  * Shader used to draw a bitmap as a texture. The bitmap can be repeated or
  * mirrored by setting the tiling mode.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class BitmapShader extends Shader {
     /**
      * Prevent garbage collection.
diff --git a/graphics/java/android/graphics/BlendMode.java b/graphics/java/android/graphics/BlendMode.java
index c6ae680..c07af4e 100644
--- a/graphics/java/android/graphics/BlendMode.java
+++ b/graphics/java/android/graphics/BlendMode.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public enum BlendMode {
 
     /**
diff --git a/graphics/java/android/graphics/BlendModeColorFilter.java b/graphics/java/android/graphics/BlendModeColorFilter.java
index d4e2373..d5dd0d3c 100644
--- a/graphics/java/android/graphics/BlendModeColorFilter.java
+++ b/graphics/java/android/graphics/BlendModeColorFilter.java
@@ -23,6 +23,7 @@
  * A color filter that can be used to tint the source pixels using a single
  * color and a specific {@link BlendMode}.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class BlendModeColorFilter extends ColorFilter {
 
     @ColorInt final int mColor;
diff --git a/graphics/java/android/graphics/BlurMaskFilter.java b/graphics/java/android/graphics/BlurMaskFilter.java
index f3064f8..22ed524 100644
--- a/graphics/java/android/graphics/BlurMaskFilter.java
+++ b/graphics/java/android/graphics/BlurMaskFilter.java
@@ -22,6 +22,7 @@
  * inside, or straddles, the original mask's border, is controlled by the
  * Blur enum.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class BlurMaskFilter extends MaskFilter {
 
     public enum Blur {
diff --git a/graphics/java/android/graphics/Camera.java b/graphics/java/android/graphics/Camera.java
index 46640d7..27b695c 100644
--- a/graphics/java/android/graphics/Camera.java
+++ b/graphics/java/android/graphics/Camera.java
@@ -21,6 +21,7 @@
  * generate a matrix that can be applied, for instance, on a
  * {@link Canvas}.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Camera {
     /**
      * Creates a new camera, with empty transformations.
diff --git a/graphics/java/android/graphics/Canvas.java b/graphics/java/android/graphics/Canvas.java
index 28c2ca3..9137150b 100644
--- a/graphics/java/android/graphics/Canvas.java
+++ b/graphics/java/android/graphics/Canvas.java
@@ -54,6 +54,7 @@
  * <a href="{@docRoot}guide/topics/graphics/2d-graphics.html">
  * Canvas and Drawables</a> developer guide.</p></div>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Canvas extends BaseCanvas {
     private static int sCompatibilityVersion = 0;
     private static boolean sCompatibilityRestore = false;
diff --git a/graphics/java/android/graphics/CanvasProperty.java b/graphics/java/android/graphics/CanvasProperty.java
index e949584..755161d 100644
--- a/graphics/java/android/graphics/CanvasProperty.java
+++ b/graphics/java/android/graphics/CanvasProperty.java
@@ -25,6 +25,7 @@
  * TODO: Make public?
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class CanvasProperty<T> {
 
     private VirtualRefBasePtr mProperty;
diff --git a/graphics/java/android/graphics/ColorFilter.java b/graphics/java/android/graphics/ColorFilter.java
index 7050325..918f26d 100644
--- a/graphics/java/android/graphics/ColorFilter.java
+++ b/graphics/java/android/graphics/ColorFilter.java
@@ -23,6 +23,7 @@
  * each pixel drawn with that paint. This is an abstract class that should
  * never be used directly.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class ColorFilter {
 
     private static class NoImagePreloadHolder {
diff --git a/graphics/java/android/graphics/ColorMatrixColorFilter.java b/graphics/java/android/graphics/ColorMatrixColorFilter.java
index bfdf318..cb78a83 100644
--- a/graphics/java/android/graphics/ColorMatrixColorFilter.java
+++ b/graphics/java/android/graphics/ColorMatrixColorFilter.java
@@ -27,6 +27,7 @@
  *
  * @see ColorMatrix
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class ColorMatrixColorFilter extends ColorFilter {
     @UnsupportedAppUsage
     private final ColorMatrix mMatrix = new ColorMatrix();
diff --git a/graphics/java/android/graphics/Compatibility.java b/graphics/java/android/graphics/Compatibility.java
index 747fbf1..f89a4f7 100644
--- a/graphics/java/android/graphics/Compatibility.java
+++ b/graphics/java/android/graphics/Compatibility.java
@@ -21,6 +21,7 @@
  * specified by the app.
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class Compatibility {
     private Compatibility() {}
 
diff --git a/graphics/java/android/graphics/ComposePathEffect.java b/graphics/java/android/graphics/ComposePathEffect.java
index 7d59ece..b380d2e 100644
--- a/graphics/java/android/graphics/ComposePathEffect.java
+++ b/graphics/java/android/graphics/ComposePathEffect.java
@@ -16,6 +16,7 @@
 
 package android.graphics;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class ComposePathEffect extends PathEffect {
 
     /**
diff --git a/graphics/java/android/graphics/ComposeShader.java b/graphics/java/android/graphics/ComposeShader.java
index e714568..57a11d2 100644
--- a/graphics/java/android/graphics/ComposeShader.java
+++ b/graphics/java/android/graphics/ComposeShader.java
@@ -22,6 +22,7 @@
 /** A subclass of shader that returns the composition of two other shaders, combined by
     an {@link android.graphics.Xfermode} subclass.
 */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class ComposeShader extends Shader {
 
     Shader mShaderA;
diff --git a/graphics/java/android/graphics/CornerPathEffect.java b/graphics/java/android/graphics/CornerPathEffect.java
index 8f4d7d9..37f0d29 100644
--- a/graphics/java/android/graphics/CornerPathEffect.java
+++ b/graphics/java/android/graphics/CornerPathEffect.java
@@ -16,6 +16,7 @@
 
 package android.graphics;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class CornerPathEffect extends PathEffect {
 
     /**
diff --git a/graphics/java/android/graphics/DashPathEffect.java b/graphics/java/android/graphics/DashPathEffect.java
index ef3ebe8..ff3c376 100644
--- a/graphics/java/android/graphics/DashPathEffect.java
+++ b/graphics/java/android/graphics/DashPathEffect.java
@@ -16,6 +16,7 @@
 
 package android.graphics;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class DashPathEffect extends PathEffect {
 
     /**
diff --git a/graphics/java/android/graphics/DiscretePathEffect.java b/graphics/java/android/graphics/DiscretePathEffect.java
index 3b3c9c9..77f9845 100644
--- a/graphics/java/android/graphics/DiscretePathEffect.java
+++ b/graphics/java/android/graphics/DiscretePathEffect.java
@@ -16,6 +16,7 @@
 
 package android.graphics;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class DiscretePathEffect extends PathEffect {
 
     /**
diff --git a/graphics/java/android/graphics/DrawFilter.java b/graphics/java/android/graphics/DrawFilter.java
index c7fdcb2..505a830 100644
--- a/graphics/java/android/graphics/DrawFilter.java
+++ b/graphics/java/android/graphics/DrawFilter.java
@@ -22,6 +22,7 @@
  * can disable/enable antialiasing, or change the color for everything this is
  * drawn.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class DrawFilter {
 
     /**
diff --git a/graphics/java/android/graphics/EmbossMaskFilter.java b/graphics/java/android/graphics/EmbossMaskFilter.java
index 003678a..f0a661f 100644
--- a/graphics/java/android/graphics/EmbossMaskFilter.java
+++ b/graphics/java/android/graphics/EmbossMaskFilter.java
@@ -16,6 +16,7 @@
 
 package android.graphics;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class EmbossMaskFilter extends MaskFilter {
     /**
      * Create an emboss maskfilter
diff --git a/graphics/java/android/graphics/FontFamily.java b/graphics/java/android/graphics/FontFamily.java
index 88f0e8e..09022ee 100644
--- a/graphics/java/android/graphics/FontFamily.java
+++ b/graphics/java/android/graphics/FontFamily.java
@@ -41,6 +41,7 @@
  * @deprecated Use {@link android.graphics.fonts.FontFamily} instead.
  */
 @Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class FontFamily {
 
     private static String TAG = "FontFamily";
diff --git a/graphics/java/android/graphics/FontListParser.java b/graphics/java/android/graphics/FontListParser.java
index 13c4a94..8d0f128 100644
--- a/graphics/java/android/graphics/FontListParser.java
+++ b/graphics/java/android/graphics/FontListParser.java
@@ -48,6 +48,7 @@
  * Parser for font config files.
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class FontListParser {
     private static final String TAG = "FontListParser";
 
diff --git a/graphics/java/android/graphics/ForceDarkType.java b/graphics/java/android/graphics/ForceDarkType.java
index 396b037..d21aef3 100644
--- a/graphics/java/android/graphics/ForceDarkType.java
+++ b/graphics/java/android/graphics/ForceDarkType.java
@@ -29,6 +29,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class ForceDarkType {
     /**
      * Force dark disabled: normal, default operation.
diff --git a/graphics/java/android/graphics/FrameInfo.java b/graphics/java/android/graphics/FrameInfo.java
index 3b8f466..5202138 100644
--- a/graphics/java/android/graphics/FrameInfo.java
+++ b/graphics/java/android/graphics/FrameInfo.java
@@ -38,6 +38,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class FrameInfo {
 
     public long[] frameInfo = new long[FRAME_INFO_SIZE];
diff --git a/graphics/java/android/graphics/Gainmap.java b/graphics/java/android/graphics/Gainmap.java
index 63ca3b8..7fc13db 100644
--- a/graphics/java/android/graphics/Gainmap.java
+++ b/graphics/java/android/graphics/Gainmap.java
@@ -86,6 +86,7 @@
  * for these functions cancels out and does not affect the result, so other bases may be used
  * if preferred.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class Gainmap implements Parcelable {
 
     /** @hide */
diff --git a/graphics/java/android/graphics/GraphicBuffer.java b/graphics/java/android/graphics/GraphicBuffer.java
index 6705b25..4982851 100644
--- a/graphics/java/android/graphics/GraphicBuffer.java
+++ b/graphics/java/android/graphics/GraphicBuffer.java
@@ -28,6 +28,7 @@
  * @hide
  */
 @SuppressWarnings("UnusedDeclaration")
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class GraphicBuffer implements Parcelable {
     // Note: keep usage flags in sync with GraphicBuffer.h and gralloc.h
     public static final int USAGE_SW_READ_NEVER = 0x0;
diff --git a/graphics/java/android/graphics/GraphicsProtos.java b/graphics/java/android/graphics/GraphicsProtos.java
index 6bc41d3..fa7eaf9 100644
--- a/graphics/java/android/graphics/GraphicsProtos.java
+++ b/graphics/java/android/graphics/GraphicsProtos.java
@@ -24,6 +24,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class GraphicsProtos {
     /** GraphicsProtos can never be an instance */
     private GraphicsProtos() {}
diff --git a/graphics/java/android/graphics/GraphicsStatsService.java b/graphics/java/android/graphics/GraphicsStatsService.java
index 7a012bc..d0b9998 100644
--- a/graphics/java/android/graphics/GraphicsStatsService.java
+++ b/graphics/java/android/graphics/GraphicsStatsService.java
@@ -74,6 +74,7 @@
  *    for the process to use.
  *
  *  @hide */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class GraphicsStatsService extends IGraphicsStats.Stub {
     public static final String GRAPHICS_STATS_SERVICE = "graphicsstats";
 
diff --git a/graphics/java/android/graphics/HardwareBufferRenderer.java b/graphics/java/android/graphics/HardwareBufferRenderer.java
index e04f13c..8179870 100644
--- a/graphics/java/android/graphics/HardwareBufferRenderer.java
+++ b/graphics/java/android/graphics/HardwareBufferRenderer.java
@@ -55,6 +55,7 @@
  * HardwareBufferRenderer will never clear contents before each draw invocation so previous contents
  * in the {@link HardwareBuffer} target will be preserved across renders.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class HardwareBufferRenderer implements AutoCloseable {
 
     private static final ColorSpace DEFAULT_COLORSPACE = ColorSpace.get(Named.SRGB);
diff --git a/graphics/java/android/graphics/HardwareRenderer.java b/graphics/java/android/graphics/HardwareRenderer.java
index ef6b728..3444f84 100644
--- a/graphics/java/android/graphics/HardwareRenderer.java
+++ b/graphics/java/android/graphics/HardwareRenderer.java
@@ -79,6 +79,7 @@
  * Failure to do so will cause the render thread to stall on that surface, blocking all
  * HardwareRenderer instances.</p>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class HardwareRenderer {
     private static final String LOG_TAG = "HardwareRenderer";
 
diff --git a/graphics/java/android/graphics/HardwareRendererObserver.java b/graphics/java/android/graphics/HardwareRendererObserver.java
index d5a6a2f..9926378 100644
--- a/graphics/java/android/graphics/HardwareRendererObserver.java
+++ b/graphics/java/android/graphics/HardwareRendererObserver.java
@@ -28,6 +28,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class HardwareRendererObserver {
     private final long[] mFrameMetrics;
     private final Handler mHandler;
diff --git a/graphics/java/android/graphics/ImageDecoder.java b/graphics/java/android/graphics/ImageDecoder.java
index 6395179..419929a 100644
--- a/graphics/java/android/graphics/ImageDecoder.java
+++ b/graphics/java/android/graphics/ImageDecoder.java
@@ -44,6 +44,7 @@
 import android.net.Uri;
 import android.os.Build;
 import android.os.Trace;
+import android.ravenwood.annotation.RavenwoodIgnore;
 import android.system.ErrnoException;
 import android.system.Os;
 import android.util.DisplayMetrics;
@@ -173,6 +174,7 @@
  *  });
  *  </pre>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class ImageDecoder implements AutoCloseable {
     /**
      *  Source of encoded image data.
@@ -1987,6 +1989,7 @@
      * Check if HEVC decoder is supported by the device.
      */
     @SuppressWarnings("AndroidFrameworkCompatChange")
+    @RavenwoodIgnore(blockedBy = MediaCodecList.class)
     private static boolean isHevcDecoderSupported() {
         synchronized (sIsHevcDecoderSupportedLock) {
             if (sIsHevcDecoderSupportedInitialized) {
@@ -2010,6 +2013,7 @@
      * Checks if the device supports decoding 10-bit AV1.
      */
     @SuppressWarnings("AndroidFrameworkCompatChange")  // This is not an app-visible API.
+    @RavenwoodIgnore(blockedBy = MediaCodecList.class)
     private static boolean isP010SupportedForAV1() {
         synchronized (sIsP010SupportedLock) {
             if (sIsP010SupportedFlagsInitialized) {
@@ -2025,6 +2029,7 @@
      * This method is called by JNI.
      */
     @SuppressWarnings("unused")
+    @RavenwoodIgnore(blockedBy = MediaCodecList.class)
     private static boolean isP010SupportedForHEVC() {
         synchronized (sIsP010SupportedLock) {
             if (sIsP010SupportedFlagsInitialized) {
diff --git a/graphics/java/android/graphics/ImageFormat.java b/graphics/java/android/graphics/ImageFormat.java
index b4899f9..4c9f5ac 100644
--- a/graphics/java/android/graphics/ImageFormat.java
+++ b/graphics/java/android/graphics/ImageFormat.java
@@ -24,6 +24,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class ImageFormat {
      /** @hide */
      @Retention(RetentionPolicy.SOURCE)
diff --git a/graphics/java/android/graphics/LayerRasterizer.java b/graphics/java/android/graphics/LayerRasterizer.java
index 25155ab..1a44248 100644
--- a/graphics/java/android/graphics/LayerRasterizer.java
+++ b/graphics/java/android/graphics/LayerRasterizer.java
@@ -20,6 +20,7 @@
  * @removed feature is not supported by hw-accerlerated or PDF backends
  */
 @Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class LayerRasterizer extends Rasterizer {
     public LayerRasterizer() { }
 
diff --git a/graphics/java/android/graphics/LeakyTypefaceStorage.java b/graphics/java/android/graphics/LeakyTypefaceStorage.java
index 618e60d..25a84369 100644
--- a/graphics/java/android/graphics/LeakyTypefaceStorage.java
+++ b/graphics/java/android/graphics/LeakyTypefaceStorage.java
@@ -32,6 +32,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class LeakyTypefaceStorage {
     private static final Object sLock = new Object();
 
diff --git a/graphics/java/android/graphics/LightingColorFilter.java b/graphics/java/android/graphics/LightingColorFilter.java
index fe73a1a..1afdc77 100644
--- a/graphics/java/android/graphics/LightingColorFilter.java
+++ b/graphics/java/android/graphics/LightingColorFilter.java
@@ -40,6 +40,7 @@
  * </pre>
  * The result is pinned to the <code>[0..255]</code> range for each channel.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class LightingColorFilter extends ColorFilter {
     @ColorInt
     private int mMul;
diff --git a/graphics/java/android/graphics/LinearGradient.java b/graphics/java/android/graphics/LinearGradient.java
index 0879371..c6566c9 100644
--- a/graphics/java/android/graphics/LinearGradient.java
+++ b/graphics/java/android/graphics/LinearGradient.java
@@ -24,6 +24,7 @@
 import android.os.Build;
 
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class LinearGradient extends Shader {
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
     private float mX0;
diff --git a/graphics/java/android/graphics/MaskFilter.java b/graphics/java/android/graphics/MaskFilter.java
index d474315..b490650 100644
--- a/graphics/java/android/graphics/MaskFilter.java
+++ b/graphics/java/android/graphics/MaskFilter.java
@@ -21,6 +21,7 @@
  * an alpha-channel mask before drawing it. A subclass of MaskFilter may be
  * installed into a Paint. Blur and emboss are implemented as subclasses of MaskFilter.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class MaskFilter {
 
     protected void finalize() throws Throwable {
diff --git a/graphics/java/android/graphics/Mesh.java b/graphics/java/android/graphics/Mesh.java
index 6be8332..f4d841b 100644
--- a/graphics/java/android/graphics/Mesh.java
+++ b/graphics/java/android/graphics/Mesh.java
@@ -37,6 +37,7 @@
  * for the mesh. Once generated, a mesh object can be drawn through
  * {@link Canvas#drawMesh(Mesh, BlendMode, Paint)}
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Mesh {
     private long mNativeMeshWrapper;
     private boolean mIsIndexed;
diff --git a/graphics/java/android/graphics/MeshSpecification.java b/graphics/java/android/graphics/MeshSpecification.java
index b1aae7f..9c7e948 100644
--- a/graphics/java/android/graphics/MeshSpecification.java
+++ b/graphics/java/android/graphics/MeshSpecification.java
@@ -72,6 +72,7 @@
  * These should be kept in mind when generating a mesh specification, as exceeding them will
  * lead to errors.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class MeshSpecification {
     long mNativeMeshSpec;
 
diff --git a/graphics/java/android/graphics/Movie.java b/graphics/java/android/graphics/Movie.java
index 9c9535d..cefe391 100644
--- a/graphics/java/android/graphics/Movie.java
+++ b/graphics/java/android/graphics/Movie.java
@@ -27,6 +27,7 @@
  * @deprecated Prefer {@link android.graphics.drawable.AnimatedImageDrawable}.
  */
 @Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Movie {
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
     private long mNativeMovie;
diff --git a/graphics/java/android/graphics/NinePatch.java b/graphics/java/android/graphics/NinePatch.java
index 382269f..00df23f 100644
--- a/graphics/java/android/graphics/NinePatch.java
+++ b/graphics/java/android/graphics/NinePatch.java
@@ -32,6 +32,7 @@
  * using a WYSIWYG graphics editor.
  * </p>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class NinePatch {
     /**
      * Struct of inset information attached to a 9 patch bitmap.
diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java
index 3d4dccf..a0ca098 100644
--- a/graphics/java/android/graphics/Paint.java
+++ b/graphics/java/android/graphics/Paint.java
@@ -66,6 +66,7 @@
  * The Paint class holds the style and color information about how to draw
  * geometries, text and bitmaps.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Paint {
     private static final String TAG = "Paint";
 
diff --git a/graphics/java/android/graphics/PaintFlagsDrawFilter.java b/graphics/java/android/graphics/PaintFlagsDrawFilter.java
index 2326611..f4c49b1 100644
--- a/graphics/java/android/graphics/PaintFlagsDrawFilter.java
+++ b/graphics/java/android/graphics/PaintFlagsDrawFilter.java
@@ -16,6 +16,7 @@
 
 package android.graphics;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class PaintFlagsDrawFilter extends DrawFilter {
     /**
      * Subclass of DrawFilter that affects every paint by first clearing
diff --git a/graphics/java/android/graphics/PathDashPathEffect.java b/graphics/java/android/graphics/PathDashPathEffect.java
index 2b6a6ed..dc92e6c 100644
--- a/graphics/java/android/graphics/PathDashPathEffect.java
+++ b/graphics/java/android/graphics/PathDashPathEffect.java
@@ -16,6 +16,7 @@
 
 package android.graphics;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class PathDashPathEffect extends PathEffect {
 
     public enum Style {
diff --git a/graphics/java/android/graphics/PathEffect.java b/graphics/java/android/graphics/PathEffect.java
index 3292501..9bb7193 100644
--- a/graphics/java/android/graphics/PathEffect.java
+++ b/graphics/java/android/graphics/PathEffect.java
@@ -21,6 +21,7 @@
  * the geometry of a drawing primitive before it is transformed by the
  * canvas' matrix and drawn.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class PathEffect {
 
     protected void finalize() throws Throwable {
diff --git a/graphics/java/android/graphics/PathIterator.java b/graphics/java/android/graphics/PathIterator.java
index d7caabf..1ed70d0 100644
--- a/graphics/java/android/graphics/PathIterator.java
+++ b/graphics/java/android/graphics/PathIterator.java
@@ -34,6 +34,7 @@
  * <code>PathIterator</code> can be used to query a given {@link Path} object, to discover its
  * operations and point values.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class PathIterator implements Iterator<PathIterator.Segment> {
 
     private final float[] mPointsArray;
@@ -47,9 +48,11 @@
     private static final boolean IS_DALVIK = "dalvik".equalsIgnoreCase(
             System.getProperty("java.vm.name"));
 
-    private static final NativeAllocationRegistry sRegistry =
-            NativeAllocationRegistry.createMalloced(
-                    PathIterator.class.getClassLoader(), nGetFinalizer());
+    private static class NoImagePreloadHolder {
+        private static final NativeAllocationRegistry sRegistry =
+                NativeAllocationRegistry.createMalloced(
+                        PathIterator.class.getClassLoader(), nGetFinalizer());
+    }
 
     /**
      * The <code>Verb</code> indicates the operation for a given segment of a path. These
@@ -69,6 +72,11 @@
     public static final int VERB_CLOSE = 5;
     public static final int VERB_DONE = 6;
 
+
+    static {
+        // Keep <cinit> exist in bytecode
+    }
+
     /**
      * Returns a {@link PathIterator} object for this path, which can be used to query the
      * data (operations and points) in the path. Iterators can only be used on Path objects
@@ -90,7 +98,7 @@
             mPointsArray = new float[POINT_ARRAY_SIZE];
             mPointsAddress = 0;
         }
-        sRegistry.registerNativeAllocation(this, mNativeIterator);
+        NoImagePreloadHolder.sRegistry.registerNativeAllocation(this, mNativeIterator);
     }
 
     /**
diff --git a/graphics/java/android/graphics/PathMeasure.java b/graphics/java/android/graphics/PathMeasure.java
index 2c6cfa5..4d123db 100644
--- a/graphics/java/android/graphics/PathMeasure.java
+++ b/graphics/java/android/graphics/PathMeasure.java
@@ -16,6 +16,7 @@
 
 package android.graphics;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class PathMeasure {
     private Path mPath;
 
diff --git a/graphics/java/android/graphics/Picture.java b/graphics/java/android/graphics/Picture.java
index ee4165b..54eb2bc 100644
--- a/graphics/java/android/graphics/Picture.java
+++ b/graphics/java/android/graphics/Picture.java
@@ -33,6 +33,7 @@
  * <p class="note"><strong>Note:</strong> Prior to API level 23 a picture cannot
  * be replayed on a hardware accelerated canvas.</p>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Picture {
     private PictureCanvas mRecordingCanvas;
     // TODO: Figure out if this was a false-positive
diff --git a/graphics/java/android/graphics/PixelXorXfermode.java b/graphics/java/android/graphics/PixelXorXfermode.java
index 27884e0..6427852 100644
--- a/graphics/java/android/graphics/PixelXorXfermode.java
+++ b/graphics/java/android/graphics/PixelXorXfermode.java
@@ -20,6 +20,7 @@
  * @removed
  */
 @Deprecated
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class PixelXorXfermode extends Xfermode {
 
     public PixelXorXfermode(int opColor) {
diff --git a/graphics/java/android/graphics/PorterDuff.java b/graphics/java/android/graphics/PorterDuff.java
index eb940e2..730a804 100644
--- a/graphics/java/android/graphics/PorterDuff.java
+++ b/graphics/java/android/graphics/PorterDuff.java
@@ -26,6 +26,7 @@
  *
  * Consider using {@link BlendMode} instead as it provides a wider variety of tinting options
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class PorterDuff {
     /**
      * {@usesMathJax}
diff --git a/graphics/java/android/graphics/PorterDuffColorFilter.java b/graphics/java/android/graphics/PorterDuffColorFilter.java
index 0700f21..777ef6c 100644
--- a/graphics/java/android/graphics/PorterDuffColorFilter.java
+++ b/graphics/java/android/graphics/PorterDuffColorFilter.java
@@ -25,6 +25,7 @@
  * A color filter that can be used to tint the source pixels using a single
  * color and a specific {@link PorterDuff Porter-Duff composite mode}.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class PorterDuffColorFilter extends ColorFilter {
     @ColorInt
     private int mColor;
diff --git a/graphics/java/android/graphics/PorterDuffXfermode.java b/graphics/java/android/graphics/PorterDuffXfermode.java
index 83d0507..e10d7370 100644
--- a/graphics/java/android/graphics/PorterDuffXfermode.java
+++ b/graphics/java/android/graphics/PorterDuffXfermode.java
@@ -23,6 +23,7 @@
  * information on the available alpha compositing and blending modes.</p>
  *
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class PorterDuffXfermode extends Xfermode {
     /**
      * Create an xfermode that uses the specified porter-duff mode.
diff --git a/graphics/java/android/graphics/PostProcessor.java b/graphics/java/android/graphics/PostProcessor.java
index 6fed39b..066214a 100644
--- a/graphics/java/android/graphics/PostProcessor.java
+++ b/graphics/java/android/graphics/PostProcessor.java
@@ -37,6 +37,7 @@
  *
  *  <p>Supplied to ImageDecoder via {@link ImageDecoder#setPostProcessor setPostProcessor}.</p>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public interface PostProcessor {
     /**
      *  Do any processing after (for example) decoding.
diff --git a/graphics/java/android/graphics/RadialGradient.java b/graphics/java/android/graphics/RadialGradient.java
index e582e66..06e92ea 100644
--- a/graphics/java/android/graphics/RadialGradient.java
+++ b/graphics/java/android/graphics/RadialGradient.java
@@ -24,6 +24,7 @@
 import android.compat.annotation.UnsupportedAppUsage;
 import android.os.Build;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class RadialGradient extends Shader {
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
     private float mX;
diff --git a/graphics/java/android/graphics/Rasterizer.java b/graphics/java/android/graphics/Rasterizer.java
index 5750954..5e67da5 100644
--- a/graphics/java/android/graphics/Rasterizer.java
+++ b/graphics/java/android/graphics/Rasterizer.java
@@ -24,6 +24,7 @@
 /**
  * @removed feature is not supported by hw-accerlerated or PDF backends
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Rasterizer {
 
     protected void finalize() throws Throwable { }
diff --git a/graphics/java/android/graphics/RecordingCanvas.java b/graphics/java/android/graphics/RecordingCanvas.java
index cc5b3b9..a56f461 100644
--- a/graphics/java/android/graphics/RecordingCanvas.java
+++ b/graphics/java/android/graphics/RecordingCanvas.java
@@ -33,6 +33,7 @@
  * {@link RenderNode#endRecording()} is called. It must not be retained beyond that as it is
  * internally reused.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class RecordingCanvas extends BaseRecordingCanvas {
     // The recording canvas pool should be large enough to handle a deeply nested
     // view hierarchy because display lists are generated recursively.
diff --git a/graphics/java/android/graphics/Region.java b/graphics/java/android/graphics/Region.java
index 2970873..e2215d4 100644
--- a/graphics/java/android/graphics/Region.java
+++ b/graphics/java/android/graphics/Region.java
@@ -23,6 +23,7 @@
 import android.os.Parcelable;
 import android.util.Pools.SynchronizedPool;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Region implements Parcelable {
 
     private static final int MAX_POOL_SIZE = 10;
diff --git a/graphics/java/android/graphics/RegionIterator.java b/graphics/java/android/graphics/RegionIterator.java
index 443b23c..5d74487 100644
--- a/graphics/java/android/graphics/RegionIterator.java
+++ b/graphics/java/android/graphics/RegionIterator.java
@@ -16,6 +16,7 @@
 
 package android.graphics;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class RegionIterator {
 
     /**
diff --git a/graphics/java/android/graphics/RenderEffect.java b/graphics/java/android/graphics/RenderEffect.java
index b8a4685..06bfb82 100644
--- a/graphics/java/android/graphics/RenderEffect.java
+++ b/graphics/java/android/graphics/RenderEffect.java
@@ -30,6 +30,7 @@
  * Additionally a {@link RenderEffect} can be applied to a View's backing RenderNode through
  * {@link android.view.View#setRenderEffect(RenderEffect)}
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class RenderEffect {
 
     private static class RenderEffectHolder {
diff --git a/graphics/java/android/graphics/RenderNode.java b/graphics/java/android/graphics/RenderNode.java
index 03a8b30..fa41876 100644
--- a/graphics/java/android/graphics/RenderNode.java
+++ b/graphics/java/android/graphics/RenderNode.java
@@ -192,6 +192,7 @@
  * top-level content is desired, and finally calling {@link Surface#unlockCanvasAndPost(Canvas)}.
  * </p>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class RenderNode {
 
     // Use a Holder to allow static initialization in the boot image.
diff --git a/graphics/java/android/graphics/RuntimeColorFilter.java b/graphics/java/android/graphics/RuntimeColorFilter.java
index a64acfe..06aecc3 100644
--- a/graphics/java/android/graphics/RuntimeColorFilter.java
+++ b/graphics/java/android/graphics/RuntimeColorFilter.java
@@ -37,6 +37,7 @@
  * </pre>
  */
 @FlaggedApi(Flags.FLAG_RUNTIME_COLOR_FILTERS_BLENDERS)
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class RuntimeColorFilter extends ColorFilter {
 
     private String mAgsl;
diff --git a/graphics/java/android/graphics/RuntimeShader.java b/graphics/java/android/graphics/RuntimeShader.java
index db2376e..6464f72 100644
--- a/graphics/java/android/graphics/RuntimeShader.java
+++ b/graphics/java/android/graphics/RuntimeShader.java
@@ -248,6 +248,7 @@
  * the bitmap), remember that the coordinates are local to the canvas.</p>
  *
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class RuntimeShader extends Shader {
 
     private static class NoImagePreloadHolder {
diff --git a/graphics/java/android/graphics/RuntimeXfermode.java b/graphics/java/android/graphics/RuntimeXfermode.java
index c8a0b1a..1e20bd3 100644
--- a/graphics/java/android/graphics/RuntimeXfermode.java
+++ b/graphics/java/android/graphics/RuntimeXfermode.java
@@ -39,6 +39,7 @@
  * </pre>
  */
 @FlaggedApi(Flags.FLAG_RUNTIME_COLOR_FILTERS_BLENDERS)
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class RuntimeXfermode extends Xfermode {
 
     private static class NoImagePreloadHolder {
diff --git a/graphics/java/android/graphics/Shader.java b/graphics/java/android/graphics/Shader.java
index 4d6bead..369fab4 100644
--- a/graphics/java/android/graphics/Shader.java
+++ b/graphics/java/android/graphics/Shader.java
@@ -29,6 +29,7 @@
  * paint.setShader(shader). After that any object (other than a bitmap) that is
  * drawn with that paint will get its color(s) from the shader.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Shader {
 
     private static class NoImagePreloadHolder {
diff --git a/graphics/java/android/graphics/SumPathEffect.java b/graphics/java/android/graphics/SumPathEffect.java
index 8fedc31..3543e10 100644
--- a/graphics/java/android/graphics/SumPathEffect.java
+++ b/graphics/java/android/graphics/SumPathEffect.java
@@ -16,6 +16,7 @@
 
 package android.graphics;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class SumPathEffect extends PathEffect {
 
     /**
diff --git a/graphics/java/android/graphics/SurfaceTexture.java b/graphics/java/android/graphics/SurfaceTexture.java
index 5caedba..df384ea 100644
--- a/graphics/java/android/graphics/SurfaceTexture.java
+++ b/graphics/java/android/graphics/SurfaceTexture.java
@@ -78,6 +78,7 @@
  * frame-available callback is called on an arbitrary thread, so unless special care is taken {@link
  * #updateTexImage} should not be called directly from the callback.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class SurfaceTexture {
     private final Looper mCreatorLooper;
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
diff --git a/graphics/java/android/graphics/SweepGradient.java b/graphics/java/android/graphics/SweepGradient.java
index 3a29395..9421925 100644
--- a/graphics/java/android/graphics/SweepGradient.java
+++ b/graphics/java/android/graphics/SweepGradient.java
@@ -23,6 +23,7 @@
 import android.compat.annotation.UnsupportedAppUsage;
 import android.os.Build;
 
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class SweepGradient extends Shader {
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
     private float mCx;
diff --git a/graphics/java/android/graphics/TableMaskFilter.java b/graphics/java/android/graphics/TableMaskFilter.java
index 204f970..ca7627c 100644
--- a/graphics/java/android/graphics/TableMaskFilter.java
+++ b/graphics/java/android/graphics/TableMaskFilter.java
@@ -21,6 +21,7 @@
 /**
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class TableMaskFilter extends MaskFilter {
 
     public TableMaskFilter(byte[] table) {
diff --git a/graphics/java/android/graphics/TemporaryBuffer.java b/graphics/java/android/graphics/TemporaryBuffer.java
index ef3f7f7..681c48e 100644
--- a/graphics/java/android/graphics/TemporaryBuffer.java
+++ b/graphics/java/android/graphics/TemporaryBuffer.java
@@ -23,6 +23,7 @@
 /**
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class TemporaryBuffer {
     @UnsupportedAppUsage
     public static char[] obtain(int len) {
diff --git a/graphics/java/android/graphics/TextureLayer.java b/graphics/java/android/graphics/TextureLayer.java
index ac1bd69..981b78a 100644
--- a/graphics/java/android/graphics/TextureLayer.java
+++ b/graphics/java/android/graphics/TextureLayer.java
@@ -29,6 +29,7 @@
  *
  * @hide TODO: Make this a SystemApi for b/155905258
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class TextureLayer implements AutoCloseable {
     private HardwareRenderer mRenderer;
     private VirtualRefBasePtr mFinalizer;
diff --git a/graphics/java/android/graphics/Typeface.java b/graphics/java/android/graphics/Typeface.java
index 874b847..d1aca34 100644
--- a/graphics/java/android/graphics/Typeface.java
+++ b/graphics/java/android/graphics/Typeface.java
@@ -42,6 +42,7 @@
 import android.os.Trace;
 import android.provider.FontRequest;
 import android.provider.FontsContract;
+import android.ravenwood.annotation.RavenwoodReplace;
 import android.system.ErrnoException;
 import android.system.OsConstants;
 import android.text.FontConfig;
@@ -86,6 +87,7 @@
  * textSize, textSkewX, textScaleX to specify
  * how text appears when drawn (and measured).
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Typeface {
 
     private static String TAG = "Typeface";
@@ -93,9 +95,11 @@
     /** @hide */
     public static final boolean ENABLE_LAZY_TYPEFACE_INITIALIZATION = true;
 
-    private static final NativeAllocationRegistry sRegistry =
-            NativeAllocationRegistry.createMalloced(
-            Typeface.class.getClassLoader(), nativeGetReleaseFunc());
+    private static class NoImagePreloadHolder {
+        static final NativeAllocationRegistry sRegistry =
+                NativeAllocationRegistry.createMalloced(
+                        Typeface.class.getClassLoader(), nativeGetReleaseFunc());
+    }
 
     /** The default NORMAL typeface object */
     public static final Typeface DEFAULT = null;
@@ -1284,7 +1288,7 @@
         }
 
         native_instance = ni;
-        mCleaner = sRegistry.registerNativeAllocation(this, native_instance);
+        mCleaner = NoImagePreloadHolder.sRegistry.registerNativeAllocation(this, native_instance);
         mStyle = nativeGetStyle(ni);
         mWeight = nativeGetWeight(ni);
         mIsVariationInstance = nativeIsVariationInstance(ni);
@@ -1560,9 +1564,23 @@
     }
 
     static {
+        staticInitializer();
+    }
+
+    @RavenwoodReplace(reason = "Prevent circular reference on host side JVM", bug = 337329128)
+    private static void staticInitializer() {
+        init();
+    }
+
+    private static void staticInitializer$ravenwood() {
+        /* no-op */
+    }
+
+    /** @hide */
+    public static void init() {
         // Preload Roboto-Regular.ttf in Zygote for improving app launch performance.
-        preloadFontFile("/system/fonts/Roboto-Regular.ttf");
-        preloadFontFile("/system/fonts/RobotoStatic-Regular.ttf");
+        preloadFontFile(SystemFonts.SYSTEM_FONT_DIR + "Roboto-Regular.ttf");
+        preloadFontFile(SystemFonts.SYSTEM_FONT_DIR + "RobotoStatic-Regular.ttf");
 
         String locale = SystemProperties.get("persist.sys.locale", "en-US");
         String script = ULocale.addLikelySubtags(ULocale.forLanguageTag(locale)).getScript();
@@ -1642,6 +1660,21 @@
         setSystemFontMap(typefaceMap);
     }
 
+    /**
+     * {@link #loadPreinstalledSystemFontMap()} does not actually initialize the native
+     * system font APIs. Add a new method to actually load the font files without going
+     * through SharedMemory.
+     *
+     * @hide
+     */
+    public static void loadNativeSystemFonts() {
+        synchronized (SYSTEM_FONT_MAP_LOCK) {
+            for (var type : sSystemFontMap.values()) {
+                nativeAddFontCollections(type.native_instance);
+            }
+        }
+    }
+
     static {
         if (!ENABLE_LAZY_TYPEFACE_INITIALIZATION) {
             loadPreinstalledSystemFontMap();
diff --git a/graphics/java/android/graphics/Xfermode.java b/graphics/java/android/graphics/Xfermode.java
index fb689e4..eda9e3c 100644
--- a/graphics/java/android/graphics/Xfermode.java
+++ b/graphics/java/android/graphics/Xfermode.java
@@ -28,4 +28,5 @@
  * specified in the Modes enum. When an Xfermode is assigned to a Paint, then
  * objects drawn with that paint have the xfermode applied.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class Xfermode {}
diff --git a/graphics/java/android/graphics/YuvImage.java b/graphics/java/android/graphics/YuvImage.java
index b0c7f20..2b7f404 100644
--- a/graphics/java/android/graphics/YuvImage.java
+++ b/graphics/java/android/graphics/YuvImage.java
@@ -32,6 +32,7 @@
  * To compress a rectangle region in the YUV data, users have to specify the
  * region by left, top, width and height.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class YuvImage {
 
     /**
diff --git a/graphics/java/android/graphics/fonts/Font.java b/graphics/java/android/graphics/fonts/Font.java
index 2893177..8be3400 100644
--- a/graphics/java/android/graphics/fonts/Font.java
+++ b/graphics/java/android/graphics/fonts/Font.java
@@ -44,6 +44,7 @@
 import java.io.InputStream;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
+import java.nio.channels.Channels;
 import java.nio.channels.FileChannel;
 import java.util.Arrays;
 import java.util.Collections;
@@ -54,6 +55,7 @@
 /**
  * A font class can be used for creating FontFamily.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class Font {
     private static final String TAG = "Font";
 
@@ -293,7 +295,14 @@
                 int capacity = assetStream.available();
                 ByteBuffer buffer = ByteBuffer.allocateDirect(capacity);
                 buffer.order(ByteOrder.nativeOrder());
-                assetStream.read(buffer.array(), buffer.arrayOffset(), assetStream.available());
+                if (buffer.hasArray()) {
+                    assetStream.read(buffer.array(), buffer.arrayOffset(), assetStream.available());
+                } else {
+                    // Direct buffer does not have a backing array on Ravenwood,
+                    // wrap it with a channel and read from it
+                    var ch = Channels.newChannel(assetStream);
+                    ch.read(buffer.duplicate());
+                }
 
                 if (assetStream.read() != -1) {
                     throw new IOException("Unable to access full contents of " + path);
diff --git a/graphics/java/android/graphics/fonts/FontCustomizationParser.java b/graphics/java/android/graphics/fonts/FontCustomizationParser.java
index b7bf055..732a5f3 100644
--- a/graphics/java/android/graphics/fonts/FontCustomizationParser.java
+++ b/graphics/java/android/graphics/fonts/FontCustomizationParser.java
@@ -43,6 +43,7 @@
  *
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class FontCustomizationParser {
     private static final String TAG = "FontCustomizationParser";
 
diff --git a/graphics/java/android/graphics/fonts/FontFamily.java b/graphics/java/android/graphics/fonts/FontFamily.java
index 5a7b0bb..0ab4639 100644
--- a/graphics/java/android/graphics/fonts/FontFamily.java
+++ b/graphics/java/android/graphics/fonts/FontFamily.java
@@ -66,6 +66,7 @@
  * </p>
  *
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class FontFamily {
 
     private static final String TAG = "FontFamily";
diff --git a/graphics/java/android/graphics/fonts/FontFileUtil.java b/graphics/java/android/graphics/fonts/FontFileUtil.java
index abcafb6..305ab3b 100644
--- a/graphics/java/android/graphics/fonts/FontFileUtil.java
+++ b/graphics/java/android/graphics/fonts/FontFileUtil.java
@@ -32,6 +32,7 @@
  * Provides a utility for font file operations.
  * @hide
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class FontFileUtil {
 
     private FontFileUtil() {}  // Do not instantiate
diff --git a/graphics/java/android/graphics/fonts/FontStyle.java b/graphics/java/android/graphics/fonts/FontStyle.java
index 48969aa..b3ddbed 100644
--- a/graphics/java/android/graphics/fonts/FontStyle.java
+++ b/graphics/java/android/graphics/fonts/FontStyle.java
@@ -44,6 +44,7 @@
  * </p>
  *
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class FontStyle {
     private static final String TAG = "FontStyle";
 
diff --git a/graphics/java/android/graphics/fonts/FontVariationAxis.java b/graphics/java/android/graphics/fonts/FontVariationAxis.java
index 30a248b..1d71594 100644
--- a/graphics/java/android/graphics/fonts/FontVariationAxis.java
+++ b/graphics/java/android/graphics/fonts/FontVariationAxis.java
@@ -31,6 +31,7 @@
 /**
  * Class that holds information about single font variation axis.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class FontVariationAxis {
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final int mTag;
diff --git a/graphics/java/android/graphics/fonts/SystemFonts.java b/graphics/java/android/graphics/fonts/SystemFonts.java
index 0e25c34..599c426 100644
--- a/graphics/java/android/graphics/fonts/SystemFonts.java
+++ b/graphics/java/android/graphics/fonts/SystemFonts.java
@@ -25,6 +25,7 @@
 import android.graphics.FontListParser;
 import android.graphics.Typeface;
 import android.os.LocaleList;
+import android.ravenwood.annotation.RavenwoodReplace;
 import android.text.FontConfig;
 import android.util.ArrayMap;
 import android.util.Log;
@@ -32,6 +33,7 @@
 
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.ravenwood.RavenwoodEnvironment;
 
 import org.xmlpull.v1.XmlPullParserException;
 
@@ -50,23 +52,46 @@
 /**
  * Provides the system font configurations.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class SystemFonts {
     private static final String TAG = "SystemFonts";
 
-    private static final String FONTS_XML = "/system/etc/font_fallback.xml";
-    private static final String LEGACY_FONTS_XML = "/system/etc/fonts.xml";
+    private static final String FONTS_XML = getFontsXmlDir() + "font_fallback.xml";
+    /** @hide */
+    public static final String LEGACY_FONTS_XML = getFontsXmlDir() + "fonts.xml";
 
     /** @hide */
-    public static final String SYSTEM_FONT_DIR = "/system/fonts/";
+    public static final String SYSTEM_FONT_DIR = getSystemFontDir();
     private static final String OEM_XML = "/product/etc/fonts_customization.xml";
     /** @hide */
     public static final String OEM_FONT_DIR = "/product/fonts/";
 
+    private static final String DEVICE_FONTS_XML_DIR = "/system/etc/";
+    private static final String DEVICE_FONT_DIR = "/system/fonts/";
+
     private SystemFonts() {}  // Do not instansiate.
 
     private static final Object LOCK = new Object();
     private static @GuardedBy("sLock") Set<Font> sAvailableFonts;
 
+    @RavenwoodReplace
+    private static String getFontsXmlDir() {
+        return DEVICE_FONTS_XML_DIR;
+    }
+
+    private static String getFontsXmlDir$ravenwood() {
+        return RavenwoodEnvironment.getInstance().getRavenwoodRuntimePath() + "fonts/";
+    }
+
+    @RavenwoodReplace
+    private static String getSystemFontDir() {
+        return DEVICE_FONT_DIR;
+    }
+
+    private static String getSystemFontDir$ravenwood() {
+        return RavenwoodEnvironment.getInstance().getRavenwoodRuntimePath() + "fonts/";
+    }
+
     /**
      * Returns all available font files in the system.
      *
diff --git a/graphics/java/android/graphics/text/GraphemeBreak.java b/graphics/java/android/graphics/text/GraphemeBreak.java
index f82b2fd..0bc1e3b 100644
--- a/graphics/java/android/graphics/text/GraphemeBreak.java
+++ b/graphics/java/android/graphics/text/GraphemeBreak.java
@@ -17,6 +17,7 @@
 package android.graphics.text;
 
 /** @hide */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class GraphemeBreak {
     private GraphemeBreak() { }
 
diff --git a/graphics/java/android/graphics/text/LineBreakConfig.java b/graphics/java/android/graphics/text/LineBreakConfig.java
index 5a1086c..fa3cfbd 100644
--- a/graphics/java/android/graphics/text/LineBreakConfig.java
+++ b/graphics/java/android/graphics/text/LineBreakConfig.java
@@ -24,12 +24,13 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SuppressLint;
-import android.app.ActivityThread;
 import android.os.Build;
 import android.os.LocaleList;
 import android.os.Parcel;
 import android.os.Parcelable;
 
+import dalvik.system.VMRuntime;
+
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.Objects;
@@ -41,6 +42,7 @@
  * <a href="https://www.w3.org/TR/css-text-3/#line-break-property" class="external">
  * line-break property</a> for more information.
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class LineBreakConfig implements Parcelable {
     /**
      * No hyphenation preference is specified.
@@ -484,8 +486,7 @@
      * @hide
      */
     public static @LineBreakStyle int getResolvedLineBreakStyle(@Nullable LineBreakConfig config) {
-        final int targetSdkVersion = ActivityThread.currentApplication().getApplicationInfo()
-                .targetSdkVersion;
+        final int targetSdkVersion = VMRuntime.getRuntime().getTargetSdkVersion();
         final int defaultStyle;
         final int vicVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM;
         if (targetSdkVersion >= vicVersion) {
@@ -519,8 +520,7 @@
      */
     public static @LineBreakWordStyle int getResolvedLineBreakWordStyle(
             @Nullable LineBreakConfig config) {
-        final int targetSdkVersion = ActivityThread.currentApplication().getApplicationInfo()
-                .targetSdkVersion;
+        final int targetSdkVersion = VMRuntime.getRuntime().getTargetSdkVersion();
         final int defaultWordStyle;
         final int vicVersion = Build.VERSION_CODES.VANILLA_ICE_CREAM;
         if (targetSdkVersion >= vicVersion) {
diff --git a/graphics/java/android/graphics/text/LineBreaker.java b/graphics/java/android/graphics/text/LineBreaker.java
index 94de066..29135b8 100644
--- a/graphics/java/android/graphics/text/LineBreaker.java
+++ b/graphics/java/android/graphics/text/LineBreaker.java
@@ -91,6 +91,7 @@
  * </pre>
  * </p>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class LineBreaker {
     /** @hide */
     @IntDef(prefix = { "BREAK_STRATEGY_" }, value = {
diff --git a/graphics/java/android/graphics/text/MeasuredText.java b/graphics/java/android/graphics/text/MeasuredText.java
index 884268a..f58d531 100644
--- a/graphics/java/android/graphics/text/MeasuredText.java
+++ b/graphics/java/android/graphics/text/MeasuredText.java
@@ -56,6 +56,7 @@
  * </pre>
  * </p>
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class MeasuredText {
     private static final String TAG = "MeasuredText";
 
diff --git a/graphics/java/android/graphics/text/PositionedGlyphs.java b/graphics/java/android/graphics/text/PositionedGlyphs.java
index 43216ba..31125ff 100644
--- a/graphics/java/android/graphics/text/PositionedGlyphs.java
+++ b/graphics/java/android/graphics/text/PositionedGlyphs.java
@@ -46,6 +46,7 @@
  * @see TextRunShaper#shapeTextRun(char[], int, int, int, int, float, float, boolean, Paint)
  * @see TextRunShaper#shapeTextRun(CharSequence, int, int, int, int, float, float, boolean, Paint)
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public final class PositionedGlyphs {
     private static class NoImagePreloadHolder {
         private static final NativeAllocationRegistry REGISTRY =
diff --git a/graphics/java/android/graphics/text/TextRunShaper.java b/graphics/java/android/graphics/text/TextRunShaper.java
index 19ea04a..f1e3d67 100644
--- a/graphics/java/android/graphics/text/TextRunShaper.java
+++ b/graphics/java/android/graphics/text/TextRunShaper.java
@@ -40,6 +40,7 @@
  * @see android.text.TextShaper#shapeText(CharSequence, int, int, TextDirectionHeuristic, TextPaint,
  * TextShaper.GlyphsConsumer)
  */
+@android.ravenwood.annotation.RavenwoodKeepWholeClass
 public class TextRunShaper {
     private TextRunShaper() {}  // Do not instantiate
 
diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java
index eb59d6ef..7ab9e2e 100644
--- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java
+++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitPresenter.java
@@ -705,8 +705,7 @@
     }
 
     private static boolean isOverlayTransitionSupported() {
-        return Flags.moveAnimationOptionsToChange()
-                && Flags.activityEmbeddingOverlayPresentationFlag();
+        return Flags.activityEmbeddingOverlayPresentationFlag();
     }
 
     @NonNull
diff --git a/libs/WindowManager/Shell/aconfig/multitasking.aconfig b/libs/WindowManager/Shell/aconfig/multitasking.aconfig
index a08f88a..1e72d64 100644
--- a/libs/WindowManager/Shell/aconfig/multitasking.aconfig
+++ b/libs/WindowManager/Shell/aconfig/multitasking.aconfig
@@ -184,3 +184,13 @@
     description: "Try out bubble bar on phones"
     bug: "394869612"
 }
+
+flag {
+    name: "enable_bubble_task_view_listener"
+    namespace: "multitasking"
+    description: "Use the same taskview listener for bubble bar and floating"
+    bug: "272102927"
+    metadata {
+        purpose: PURPOSE_BUGFIX
+    }
+}
diff --git a/libs/WindowManager/Shell/multivalentTests/AndroidManifest.xml b/libs/WindowManager/Shell/multivalentTests/AndroidManifest.xml
index 95cd1c7..800ea74 100644
--- a/libs/WindowManager/Shell/multivalentTests/AndroidManifest.xml
+++ b/libs/WindowManager/Shell/multivalentTests/AndroidManifest.xml
@@ -2,6 +2,7 @@
     package="com.android.wm.shell.multivalenttests">
 
     <uses-permission android:name="android.permission.MANAGE_ACTIVITY_TASKS"/>
+    <uses-permission android:name="android.permission.GET_INTENT_SENDER_INTENT"/>
 
     <application android:debuggable="true" android:supportsRtl="true" >
         <uses-library android:name="android.test.runner" />
diff --git a/libs/WindowManager/Shell/multivalentTests/src/com/android/wm/shell/bubbles/BubbleTaskViewListenerTest.kt b/libs/WindowManager/Shell/multivalentTests/src/com/android/wm/shell/bubbles/BubbleTaskViewListenerTest.kt
index 9ebc3d7..3aefcd5 100644
--- a/libs/WindowManager/Shell/multivalentTests/src/com/android/wm/shell/bubbles/BubbleTaskViewListenerTest.kt
+++ b/libs/WindowManager/Shell/multivalentTests/src/com/android/wm/shell/bubbles/BubbleTaskViewListenerTest.kt
@@ -16,6 +16,7 @@
 
 package com.android.wm.shell.bubbles
 
+import android.app.ActivityOptions
 import android.app.Notification
 import android.app.PendingIntent
 import android.content.ComponentName
@@ -24,6 +25,8 @@
 import android.content.pm.ShortcutInfo
 import android.graphics.drawable.Icon
 import android.os.UserHandle
+import android.platform.test.annotations.EnableFlags
+import android.platform.test.flag.junit.SetFlagsRule
 import android.service.notification.NotificationListenerService.Ranking
 import android.service.notification.StatusBarNotification
 import android.view.View
@@ -33,6 +36,7 @@
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry.getInstrumentation
 import com.android.internal.protolog.ProtoLog
+import com.android.wm.shell.Flags.FLAG_ENABLE_BUBBLE_ANYTHING
 import com.android.wm.shell.R
 import com.android.wm.shell.bubbles.Bubbles.BubbleMetadataFlagListener
 import com.android.wm.shell.common.TestShellExecutor
@@ -41,6 +45,7 @@
 import com.android.wm.shell.taskview.TaskViewTaskController
 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
@@ -48,6 +53,7 @@
 import org.mockito.Mockito.reset
 import org.mockito.kotlin.any
 import org.mockito.kotlin.anyOrNull
+import org.mockito.kotlin.argumentCaptor
 import org.mockito.kotlin.doReturn
 import org.mockito.kotlin.eq
 import org.mockito.kotlin.mock
@@ -61,6 +67,9 @@
 @RunWith(AndroidJUnit4::class)
 class BubbleTaskViewListenerTest {
 
+    @get:Rule
+    val setFlagsRule = SetFlagsRule()
+
     private val context = ApplicationProvider.getApplicationContext<Context>()
 
     private var taskViewController = mock<TaskViewController>()
@@ -155,9 +164,22 @@
         }
         getInstrumentation().waitForIdleSync()
 
-        // ..so it's pending intent-based, and launches that
+        // ..so it's pending intent-based, so the pending intent should be active
         assertThat(b.isPendingIntentActive).isTrue()
-        verify(taskViewController).startActivity(any(), eq(pendingIntent), any(), any(), any())
+
+        val intentCaptor = argumentCaptor<Intent>()
+        val optionsCaptor = argumentCaptor<ActivityOptions>()
+
+        verify(taskViewController).startActivity(any(),
+            eq(pendingIntent),
+            intentCaptor.capture(),
+            optionsCaptor.capture(),
+            any())
+        val intentFlags = intentCaptor.lastValue.flags
+        assertThat((intentFlags and Intent.FLAG_ACTIVITY_NEW_DOCUMENT) != 0).isTrue()
+        assertThat((intentFlags and Intent.FLAG_ACTIVITY_MULTIPLE_TASK) != 0).isTrue()
+        assertThat(optionsCaptor.lastValue.launchedFromBubble).isTrue()
+        assertThat(optionsCaptor.lastValue.taskAlwaysOnTop).isTrue()
     }
 
     @Test
@@ -178,12 +200,52 @@
         }
         getInstrumentation().waitForIdleSync()
 
-        assertThat(b.isPendingIntentActive).isFalse()
-        verify(taskViewController).startShortcutActivity(any(), eq(shortcutInfo), any(), any())
+        val optionsCaptor = argumentCaptor<ActivityOptions>()
+
+        assertThat(b.isPendingIntentActive).isFalse() // not triggered for shortcut chats
+        verify(taskViewController).startShortcutActivity(any(),
+            eq(shortcutInfo),
+            optionsCaptor.capture(),
+            any())
+        assertThat(optionsCaptor.lastValue.launchedFromBubble).isTrue()
+        assertThat(optionsCaptor.lastValue.isApplyActivityFlagsForBubbles).isTrue()
+        assertThat(optionsCaptor.lastValue.taskAlwaysOnTop).isTrue()
+    }
+
+    @EnableFlags(FLAG_ENABLE_BUBBLE_ANYTHING)
+    @Test
+    fun onInitialized_shortcutBubble() {
+        val shortcutInfo = ShortcutInfo.Builder(context)
+            .setId("mockShortcutId")
+            .build()
+
+        val b = createShortcutBubble(shortcutInfo)
+        bubbleTaskViewListener.setBubble(b)
+
+        assertThat(b.isChat).isFalse()
+        assertThat(b.isShortcut).isTrue()
+        assertThat(b.shortcutInfo).isNotNull()
+
+        getInstrumentation().runOnMainSync {
+            bubbleTaskViewListener.onInitialized()
+        }
+        getInstrumentation().waitForIdleSync()
+
+        val optionsCaptor = argumentCaptor<ActivityOptions>()
+
+        assertThat(b.isPendingIntentActive).isFalse() // chat only triggers setting it active
+        verify(taskViewController).startShortcutActivity(any(),
+            eq(shortcutInfo),
+            optionsCaptor.capture(),
+            any())
+        assertThat(optionsCaptor.lastValue.launchedFromBubble).isFalse() // chat only
+        assertThat(optionsCaptor.lastValue.isApplyActivityFlagsForBubbles).isFalse() // chat only
+        assertThat(optionsCaptor.lastValue.isApplyMultipleTaskFlagForShortcut).isTrue()
+        assertThat(optionsCaptor.lastValue.taskAlwaysOnTop).isTrue()
     }
 
     @Test
-    fun onInitialized_appBubble() {
+    fun onInitialized_appBubble_intent() {
         val b = createAppBubble()
         bubbleTaskViewListener.setBubble(b)
 
@@ -194,11 +256,83 @@
         }
         getInstrumentation().waitForIdleSync()
 
-        assertThat(b.isPendingIntentActive).isFalse()
-        verify(taskViewController).startActivity(any(), any(), anyOrNull(), any(), any())
+        val intentCaptor = argumentCaptor<Intent>()
+        val optionsCaptor = argumentCaptor<ActivityOptions>()
+
+        assertThat(b.isPendingIntentActive).isFalse() // chat only triggers setting it active
+        verify(taskViewController).startActivity(any(),
+            any(),
+            intentCaptor.capture(),
+            optionsCaptor.capture(),
+            any())
+
+        assertThat((intentCaptor.lastValue.flags
+                and Intent.FLAG_ACTIVITY_MULTIPLE_TASK) != 0).isTrue()
+        assertThat(optionsCaptor.lastValue.launchedFromBubble).isFalse() // chat only
+        assertThat(optionsCaptor.lastValue.isApplyActivityFlagsForBubbles).isFalse() // chat only
+        assertThat(optionsCaptor.lastValue.taskAlwaysOnTop).isTrue()
     }
 
     @Test
+    fun onInitialized_appBubble_pendingIntent() {
+        val b = createAppBubble(usePendingIntent = true)
+        bubbleTaskViewListener.setBubble(b)
+
+        assertThat(b.isApp).isTrue()
+
+        getInstrumentation().runOnMainSync {
+            bubbleTaskViewListener.onInitialized()
+        }
+        getInstrumentation().waitForIdleSync()
+
+        val intentCaptor = argumentCaptor<Intent>()
+        val optionsCaptor = argumentCaptor<ActivityOptions>()
+
+        assertThat(b.isPendingIntentActive).isFalse() // chat only triggers setting it active
+        verify(taskViewController).startActivity(any(),
+            any(),
+            intentCaptor.capture(),
+            optionsCaptor.capture(),
+            any())
+
+        assertThat((intentCaptor.lastValue.flags
+                and Intent.FLAG_ACTIVITY_MULTIPLE_TASK) != 0).isTrue()
+        assertThat(optionsCaptor.lastValue.launchedFromBubble).isFalse() // chat only
+        assertThat(optionsCaptor.lastValue.isApplyActivityFlagsForBubbles).isFalse() // chat only
+        assertThat(optionsCaptor.lastValue.taskAlwaysOnTop).isTrue()
+    }
+
+    @Test
+    fun onInitialized_noteBubble() {
+        val b = createNoteBubble()
+        bubbleTaskViewListener.setBubble(b)
+
+        assertThat(b.isNote).isTrue()
+
+        getInstrumentation().runOnMainSync {
+            bubbleTaskViewListener.onInitialized()
+        }
+        getInstrumentation().waitForIdleSync()
+
+        val intentCaptor = argumentCaptor<Intent>()
+        val optionsCaptor = argumentCaptor<ActivityOptions>()
+
+        assertThat(b.isPendingIntentActive).isFalse() // chat only triggers setting it active
+        verify(taskViewController).startActivity(any(),
+            any(),
+            intentCaptor.capture(),
+            optionsCaptor.capture(),
+            any())
+
+        assertThat((intentCaptor.lastValue.flags
+                and Intent.FLAG_ACTIVITY_MULTIPLE_TASK) != 0).isTrue()
+        assertThat(optionsCaptor.lastValue.launchedFromBubble).isFalse() // chat only
+        assertThat(optionsCaptor.lastValue.isApplyActivityFlagsForBubbles).isFalse() // chat only
+        assertThat(optionsCaptor.lastValue.taskAlwaysOnTop).isTrue()
+    }
+
+
+    @Test
     fun onInitialized_preparingTransition() {
         val b = createAppBubble()
         bubbleTaskViewListener.setBubble(b)
@@ -416,13 +550,24 @@
         assertThat(isNew).isTrue()
     }
 
-    private fun createAppBubble(): Bubble {
+    private fun createAppBubble(usePendingIntent: Boolean = false): Bubble {
         val target = Intent(context, TestActivity::class.java)
         target.setPackage(context.packageName)
+        if (usePendingIntent) {
+            // Robolectric doesn't seem to play nice with PendingIntents, have to mock it.
+            val pendingIntent = mock<PendingIntent>()
+            whenever(pendingIntent.intent).thenReturn(target)
+            return Bubble.createAppBubble(pendingIntent, mock<UserHandle>(),
+                mainExecutor, bgExecutor)
+        }
         return Bubble.createAppBubble(target, mock<UserHandle>(), mock<Icon>(),
             mainExecutor, bgExecutor)
     }
 
+    private fun createShortcutBubble(shortcutInfo: ShortcutInfo): Bubble {
+        return Bubble.createShortcutBubble(shortcutInfo, mainExecutor, bgExecutor)
+    }
+
     private fun createNoteBubble(): Bubble {
         val target = Intent(context, TestActivity::class.java)
         target.setPackage(context.packageName)
diff --git a/libs/WindowManager/Shell/res/values-af/strings.xml b/libs/WindowManager/Shell/res/values-af/strings.xml
index b4d594f..0f42645 100644
--- a/libs/WindowManager/Shell/res/values-af/strings.xml
+++ b/libs/WindowManager/Shell/res/values-af/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Apphandvatsel"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Appikoon"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Volskerm"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Rekenaaraansig"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Verdeelde skerm"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Meer"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Sweef"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Verander aspekverhouding"</string>
     <string name="close_text" msgid="4986518933445178928">"Maak toe"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Maak kieslys toe"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (Rekenaaraansig)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maksimeer skerm"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Verander grootte"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"App kan nie hierheen geskuif word nie"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Verander grootte van linkerkantse venster"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Verander grootte van regterkantse venster"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maksimeer of stel venstergrootte terug"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Maak kieslys oop"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Voer <xliff:g id="WINDOWING_MODE">%1$s</xliff:g> in"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Verander grootte van linkerkantse venster"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Verander grootte van regterkantse venster"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maksimeer of stel venstergrootte terug"</string>
diff --git a/libs/WindowManager/Shell/res/values-am/strings.xml b/libs/WindowManager/Shell/res/values-am/strings.xml
index 9ec8001..be02f43 100644
--- a/libs/WindowManager/Shell/res/values-am/strings.xml
+++ b/libs/WindowManager/Shell/res/values-am/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"የመተግበሪያ መያዣ"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"የመተግበሪያ አዶ"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"ሙሉ ማያ"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"የዴስክቶፕ ዕይታ"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"የተከፈለ ማያ ገፅ"</string>
     <string name="more_button_text" msgid="3655388105592893530">"ተጨማሪ"</string>
     <string name="float_button_text" msgid="9221657008391364581">"ተንሳፋፊ"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"ምጥጥነ ገፅታ ለውጥ"</string>
     <string name="close_text" msgid="4986518933445178928">"ዝጋ"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"ምናሌ ዝጋ"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> የዴስክቶፕ ዕይታ"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"የማያ ገጹ መጠን አሳድግ"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"መጠን ቀይር"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"መተግበሪያ ወደዚህ መንቀሳቀስ አይችልም"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"የመተግበሪያ መስኮትን ወደ ግራ መጠን ቀይር"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"የመተግበሪያ መስኮትን ወደ ቀኝ መጠን ቀይር"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"የመስኮት መጠንን አሳድግ ወይም ወደነበረበት መልስ"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"ምናሌን ክፈት"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> አስገባ"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"መስኮትን ወደ ግራ መጠን ቀይር"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"መስኮትን ወደ ቀኝ መጠን ቀይር"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"የመስኮት መጠንን አሳድግ ወይም ወደነበረበት መልስ"</string>
diff --git a/libs/WindowManager/Shell/res/values-as/strings.xml b/libs/WindowManager/Shell/res/values-as/strings.xml
index 05860c2..0bc4a0a 100644
--- a/libs/WindowManager/Shell/res/values-as/strings.xml
+++ b/libs/WindowManager/Shell/res/values-as/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"এপৰ হেণ্ডেল"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"এপৰ চিহ্ন"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"সম্পূৰ্ণ স্ক্ৰীন"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"ডেস্কটপ ভিউ"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"বিভাজিত স্ক্ৰীন"</string>
     <string name="more_button_text" msgid="3655388105592893530">"অধিক"</string>
     <string name="float_button_text" msgid="9221657008391364581">"ওপঙা"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"আকাৰৰ অনুপাত সলনি কৰক"</string>
     <string name="close_text" msgid="4986518933445178928">"বন্ধ কৰক"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"মেনু বন্ধ কৰক"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (ডেস্কটপ ভিউ)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"স্ক্ৰীন মেক্সিমাইজ কৰক"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"আকাৰ সলনি কৰক"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"ইয়ালৈ এপ্‌টো আনিব নোৱাৰি"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"বাওঁফালে এপ্‌ ৱিণ্ড’ৰ আকাৰ সলনি কৰক"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"সোঁফালে এপ্‌ ৱিণ্ড’ৰ আকাৰ সলনি কৰক"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"ৱিণ্ড’ৰ আকাৰ মেক্সিমাইজ বা পুনঃস্থাপন কৰক"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"মেনু খোলক"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g>ত সোমাওক"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"সোঁফাললৈ ৱিণ্ড’ৰ আকাৰ সলনি কৰক"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"বাওঁফাললৈ ৱিণ্ড’ৰ আকাৰ সলনি কৰক"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"ৱিণ্ড’ৰ আকাৰ মেক্সিমাইজ বা পুনঃস্থাপন কৰক"</string>
diff --git a/libs/WindowManager/Shell/res/values-az/strings.xml b/libs/WindowManager/Shell/res/values-az/strings.xml
index ea64749..2ccae4b 100644
--- a/libs/WindowManager/Shell/res/values-az/strings.xml
+++ b/libs/WindowManager/Shell/res/values-az/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Tətbiq ləqəbi"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Tətbiq ikonası"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Tam Ekran"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Masaüstü Görünüş"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Bölünmüş Ekran"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Ardı"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Üzən pəncərə"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Tərəflər nisbətini dəyişin"</string>
     <string name="close_text" msgid="4986518933445178928">"Bağlayın"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Menyunu bağlayın"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (Masaüstü Görünüş)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Ekranı maksimum böyüdün"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Ölçüsünü dəyişin"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Tətbiqi bura köçürmək mümkün deyil"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Tətbiq pəncərəsinin ölçüsünü sola dəyişin"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Tətbiq pəncərəsinin ölçüsünü sağa dəyişin"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Pəncərə ölçüsünü artırın və ya bərpa edin"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Menyunu açın"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> rejiminə daxil olun"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Pəncərə ölçüsünü sola dəyişin"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Pəncərə ölçüsünü sağa dəyişin"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Pəncərə ölçüsünü artırın və ya bərpa edin"</string>
diff --git a/libs/WindowManager/Shell/res/values-b+sr+Latn/strings.xml b/libs/WindowManager/Shell/res/values-b+sr+Latn/strings.xml
index deec04f..b79b860 100644
--- a/libs/WindowManager/Shell/res/values-b+sr+Latn/strings.xml
+++ b/libs/WindowManager/Shell/res/values-b+sr+Latn/strings.xml
@@ -134,9 +134,9 @@
     <string name="collapse_menu_text" msgid="7515008122450342029">"Zatvorite meni"</string>
     <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (prikaz za računare)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Povećaj ekran"</string>
-    <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Promeni veličinu"</string>
+    <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Prilagodi"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Aplikacija ne može da se premesti ovde"</string>
-    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"Imerzivne"</string>
+    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"Imerzivno"</string>
     <string name="desktop_mode_maximize_menu_immersive_restore_button_text" msgid="4900114367354709257">"Vrati"</string>
     <string name="desktop_mode_maximize_menu_maximize_button_text" msgid="3090199175564175845">"Uvećaj"</string>
     <string name="desktop_mode_maximize_menu_restore_button_text" msgid="4234449220944704387">"Vratite"</string>
diff --git a/libs/WindowManager/Shell/res/values-bg/strings.xml b/libs/WindowManager/Shell/res/values-bg/strings.xml
index 0bb5960..9cc9db8 100644
--- a/libs/WindowManager/Shell/res/values-bg/strings.xml
+++ b/libs/WindowManager/Shell/res/values-bg/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Манипулатор за приложението"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Икона на приложението"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Цял екран"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Изглед за настолни компютри"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Разделяне на екрана"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Още"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Плаващо"</string>
@@ -133,10 +132,9 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Промяна на съотношението"</string>
     <string name="close_text" msgid="4986518933445178928">"Затваряне"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Затваряне на менюто"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (изглед за настолни компютри)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Увеличаване на екрана"</string>
-    <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Преоразмеряване"</string>
+    <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Нов размер"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Приложението не може да бъде преместено тук"</string>
     <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"Реалистично"</string>
     <string name="desktop_mode_maximize_menu_immersive_restore_button_text" msgid="4900114367354709257">"Възстановяване"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Преоразмеряване на прозореца на приложението наляво"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Преоразмеряване на прозореца на приложението надясно"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Увеличаване или възстановяване на размера на прозореца"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Отваряне на менюто"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Въвеждане на <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Преоразмеряване на прозореца наляво"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Преоразмеряване на прозореца надясно"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Увеличаване или възстановяване на размера на прозореца"</string>
diff --git a/libs/WindowManager/Shell/res/values-bn/strings.xml b/libs/WindowManager/Shell/res/values-bn/strings.xml
index ae63e04..c1264d4 100644
--- a/libs/WindowManager/Shell/res/values-bn/strings.xml
+++ b/libs/WindowManager/Shell/res/values-bn/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"অ্যাপের হ্যান্ডেল"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"অ্যাপ আইকন"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"ফুলস্ক্রিন"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"ডেস্কটপ ভিউ"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"স্প্লিট স্ক্রিন"</string>
     <string name="more_button_text" msgid="3655388105592893530">"আরও"</string>
     <string name="float_button_text" msgid="9221657008391364581">"ফ্লোট"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"অ্যাস্পেক্ট রেশিও পরিবর্তন করুন"</string>
     <string name="close_text" msgid="4986518933445178928">"বন্ধ করুন"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"\'মেনু\' বন্ধ করুন"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (ডেস্কটপ ভিউ)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"স্ক্রিন বড় করুন"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"ছোট বড় করুন"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"অ্যাপটি এখানে সরানো যাবে না"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"বাঁদিকে অ্যাপ উইন্ডো রিসাইজ করুন"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"ডানদিকে অ্যাপ উইন্ডো রিসাইজ করুন"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"উইন্ডো সাইজ বড় বা রিস্টোর করুন"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"মেনু খুলুন"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g>-এ খুলুন"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"বাঁদিকে উইন্ডো রিসাইজ করুন"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"ডানদিকে উইন্ডো রিসাইজ করুন"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"উইন্ডো সাইজ বড় বা রিস্টোর করুন"</string>
diff --git a/libs/WindowManager/Shell/res/values-bs/strings.xml b/libs/WindowManager/Shell/res/values-bs/strings.xml
index b7c76b5..7c912b6 100644
--- a/libs/WindowManager/Shell/res/values-bs/strings.xml
+++ b/libs/WindowManager/Shell/res/values-bs/strings.xml
@@ -119,7 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Ručica aplikacije"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ikona aplikacije"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Cijeli ekran"</string>
-    <string name="desktop_text" msgid="1582173066857454541">"Prikaz na računalu"</string>
+    <string name="desktop_text" msgid="1582173066857454541">"Prikaz na računaru"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Podijeljeni ekran"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Više"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Lebdeći"</string>
@@ -132,7 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Promjena formata slike"</string>
     <string name="close_text" msgid="4986518933445178928">"Zatvaranje"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Zatvaranje menija"</string>
-    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (prikaz na računalu)"</string>
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (prikaz na računaru)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maksimiziraj ekran"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Promijeni veličinu"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Ne možete premjestiti aplikaciju ovdje"</string>
@@ -145,8 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Promjena veličine prozora aplikacije lijevo"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Promjena veličine prozora aplikacije desno"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maksimiziranje ili vraćanje veličine prozora"</string>
-    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Otvorite izbornik"</string>
-    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Unesite <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Otvaranje menija"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Aktiviranje načina rada <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Promjena veličine prozora i poravnanje lijevo"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Promjena veličine prozora i poravnanje desno"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maksimiziranje ili vraćanje veličine prozora"</string>
diff --git a/libs/WindowManager/Shell/res/values-ca/strings.xml b/libs/WindowManager/Shell/res/values-ca/strings.xml
index 80dd380..2c2a177 100644
--- a/libs/WindowManager/Shell/res/values-ca/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ca/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Identificador de l\'aplicació"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Icona de l\'aplicació"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Pantalla completa"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Visualització per a ordinadors"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Pantalla dividida"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Més"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Flotant"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Canvia la relació d\'aspecte"</string>
     <string name="close_text" msgid="4986518933445178928">"Tanca"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Tanca el menú"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (visualització per a ordinadors)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maximitza la pantalla"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Canvia la mida"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"L\'aplicació no es pot moure aquí"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Canvia la mida de la finestra de l\'aplicació a l\'esquerra"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Canvia la mida de la finestra de l\'aplicació a la dreta"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maximitza o restaura la mida de la finestra"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Obre el menú"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Introdueix <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Canvia la mida de la finestra a l\'esquerra"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Canvia la mida de la finestra a la dreta"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maximitza o restaura la mida de la finestra"</string>
diff --git a/libs/WindowManager/Shell/res/values-da/strings.xml b/libs/WindowManager/Shell/res/values-da/strings.xml
index c465ce3..f5656d5 100644
--- a/libs/WindowManager/Shell/res/values-da/strings.xml
+++ b/libs/WindowManager/Shell/res/values-da/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Apphåndtag"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Appikon"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Fuld skærm"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Computervenlig visning"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Opdelt skærm"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Mere"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Svævende"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Skift billedformat"</string>
     <string name="close_text" msgid="4986518933445178928">"Luk"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Luk menu"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (computervenlig visning)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maksimér skærm"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Tilpas størrelse"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Apps kan ikke flyttes hertil"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Juster størrelsen på appvinduet til venstre"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Juster størrelsen på appvinduet til højre"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maksimer eller gendan vinduesstørrelse"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Åbn menu"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Åbn <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Juster størrelsen på vinduet til venstre"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Juster størrelsen på vinduet til højre"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maksimer eller gendan vinduesstørrelse"</string>
diff --git a/libs/WindowManager/Shell/res/values-de/strings.xml b/libs/WindowManager/Shell/res/values-de/strings.xml
index 567dd7a..3762b4b 100644
--- a/libs/WindowManager/Shell/res/values-de/strings.xml
+++ b/libs/WindowManager/Shell/res/values-de/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"App-Ziehpunkt"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"App-Symbol"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Vollbild"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Desktop-Ansicht"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Splitscreen"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Mehr"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Frei schwebend"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Seitenverhältnis ändern"</string>
     <string name="close_text" msgid="4986518933445178928">"Schließen"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Menü schließen"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (Desktop-Ansicht)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Bildschirm maximieren"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Größe ändern"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Die App kann nicht hierher verschoben werden"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Größe des App-Fensters links anpassen"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Größe des App-Fensters rechts anpassen"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Fenstergröße maximieren oder wiederherstellen"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Menü öffnen"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> aktivieren"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Fenstergröße nach links anpassen"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Fenstergröße nach rechts anpassen"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Fenstergröße maximieren oder wiederherstellen"</string>
diff --git a/libs/WindowManager/Shell/res/values-el/strings.xml b/libs/WindowManager/Shell/res/values-el/strings.xml
index 489a4ce..8e715d5 100644
--- a/libs/WindowManager/Shell/res/values-el/strings.xml
+++ b/libs/WindowManager/Shell/res/values-el/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Λαβή εφαρμογής"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Εικονίδιο εφαρμογής"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Πλήρης οθόνη"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Προβολή για υπολογιστές"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Διαχωρισμός οθόνης"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Περισσότερα"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Κινούμενο"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Αλλαγή λόγου διαστάσεων"</string>
     <string name="close_text" msgid="4986518933445178928">"Κλείσιμο"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Κλείσιμο μενού"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (Προβολή για υπολογιστές)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Μεγιστοποίηση οθόνης"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Αλλαγή μεγέθους"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Δεν είναι δυνατή η μετακίνηση της εφαρμογής εδώ"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Αλλαγή μεγέθους παραθύρου εφαρμογής αριστερά"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Αλλαγή μεγέθους παραθύρου εφαρμογής δεξιά"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Μεγιστοποίηση ή επαναφορά μεγέθους παραθύρου"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Άνοιγμα μενού"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Εισαγωγή <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Αλλαγή μεγέθους παραθύρου προς τα αριστερά"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Αλλαγή μεγέθους παραθύρου προς τα δεξιά"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Μεγιστοποίηση ή επαναφορά μεγέθους παραθύρου"</string>
diff --git a/libs/WindowManager/Shell/res/values-en-rAU/strings.xml b/libs/WindowManager/Shell/res/values-en-rAU/strings.xml
index 1a3d422..75d2bf1 100644
--- a/libs/WindowManager/Shell/res/values-en-rAU/strings.xml
+++ b/libs/WindowManager/Shell/res/values-en-rAU/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"App handle"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"App icon"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Full screen"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Desktop view"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Split screen"</string>
     <string name="more_button_text" msgid="3655388105592893530">"More"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Float"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Change aspect ratio"</string>
     <string name="close_text" msgid="4986518933445178928">"Close"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Close menu"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (desktop view)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maximise screen"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Resize"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"App can\'t be moved here"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Resize app window left"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Resize app window right"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maximise or restore window size"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Open menu"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Enter <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Resize window to left"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Resize window to right"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maximise or restore window size"</string>
diff --git a/libs/WindowManager/Shell/res/values-en-rGB/strings.xml b/libs/WindowManager/Shell/res/values-en-rGB/strings.xml
index 1a3d422..75d2bf1 100644
--- a/libs/WindowManager/Shell/res/values-en-rGB/strings.xml
+++ b/libs/WindowManager/Shell/res/values-en-rGB/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"App handle"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"App icon"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Full screen"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Desktop view"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Split screen"</string>
     <string name="more_button_text" msgid="3655388105592893530">"More"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Float"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Change aspect ratio"</string>
     <string name="close_text" msgid="4986518933445178928">"Close"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Close menu"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (desktop view)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maximise screen"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Resize"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"App can\'t be moved here"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Resize app window left"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Resize app window right"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maximise or restore window size"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Open menu"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Enter <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Resize window to left"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Resize window to right"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maximise or restore window size"</string>
diff --git a/libs/WindowManager/Shell/res/values-en-rIN/strings.xml b/libs/WindowManager/Shell/res/values-en-rIN/strings.xml
index 1a3d422..75d2bf1 100644
--- a/libs/WindowManager/Shell/res/values-en-rIN/strings.xml
+++ b/libs/WindowManager/Shell/res/values-en-rIN/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"App handle"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"App icon"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Full screen"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Desktop view"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Split screen"</string>
     <string name="more_button_text" msgid="3655388105592893530">"More"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Float"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Change aspect ratio"</string>
     <string name="close_text" msgid="4986518933445178928">"Close"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Close menu"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (desktop view)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maximise screen"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Resize"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"App can\'t be moved here"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Resize app window left"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Resize app window right"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maximise or restore window size"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Open menu"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Enter <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Resize window to left"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Resize window to right"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maximise or restore window size"</string>
diff --git a/libs/WindowManager/Shell/res/values-es-rUS/strings.xml b/libs/WindowManager/Shell/res/values-es-rUS/strings.xml
index 93aa1b6..c358ae4 100644
--- a/libs/WindowManager/Shell/res/values-es-rUS/strings.xml
+++ b/libs/WindowManager/Shell/res/values-es-rUS/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Controlador de la app"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ícono de la app"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Pantalla completa"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Vista para computadoras de escritorio"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Pantalla dividida"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Más"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Flotante"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Cambiar relación de aspecto"</string>
     <string name="close_text" msgid="4986518933445178928">"Cerrar"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Cerrar menú"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (vista para computadoras de escritorio)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maximizar pantalla"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Cambiar el tamaño"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"No se puede mover la app aquí"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Ajustar el tamaño de la ventana de la app hacia la izquierda"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Ajustar el tamaño de la ventana de la app hacia la derecha"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maximizar o restablecer el tamaño de la ventana"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Abrir el menú"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Ingresar a <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Ajustar el tamaño de la ventana hacia la izquierda"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Ajustar el tamaño de la ventana hacia la derecha"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maximizar o restablecer el tamaño de la ventana"</string>
diff --git a/libs/WindowManager/Shell/res/values-es/strings.xml b/libs/WindowManager/Shell/res/values-es/strings.xml
index 27c5b80..275d88d 100644
--- a/libs/WindowManager/Shell/res/values-es/strings.xml
+++ b/libs/WindowManager/Shell/res/values-es/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Controlador de la aplicación"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Icono de la aplicación"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Pantalla completa"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Vista para ordenadores"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Pantalla dividida"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Más"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Flotante"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Cambiar relación de aspecto"</string>
     <string name="close_text" msgid="4986518933445178928">"Cerrar"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Cerrar menú"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (vista para ordenadores)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maximizar pantalla"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Cambiar tamaño"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"La aplicación no se puede mover aquí"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Cambiar tamaño de la ventana de la aplicación izquierda"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Cambiar tamaño de la ventana de la aplicación derecha"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maximizar o restaurar tamaño de la ventana"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Abrir menú"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Introducir <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Cambiar tamaño de la ventana a la izquierda"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Cambiar tamaño de la ventana a la derecha"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maximizar o restaurar tamaño de la ventana"</string>
diff --git a/libs/WindowManager/Shell/res/values-et/strings.xml b/libs/WindowManager/Shell/res/values-et/strings.xml
index c8ab83e..3a330b3 100644
--- a/libs/WindowManager/Shell/res/values-et/strings.xml
+++ b/libs/WindowManager/Shell/res/values-et/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Rakenduse element"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Rakenduse ikoon"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Täisekraan"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Arvutivaade"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Jagatud ekraanikuva"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Rohkem"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Hõljuv"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Kuvasuhte muutmine"</string>
     <string name="close_text" msgid="4986518933445178928">"Sule"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Sule menüü"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (arvutivaade)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Kuva täisekraanil"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Suuruse muutmine"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Rakendust ei saa siia teisaldada"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Rakenduse akna suuruse muutmine vasakul"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Rakenduse akna suuruse muutmine paremal"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Akna suuruse maksimeerimine või taastamine"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Menüü avamine"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Režiimi <xliff:g id="WINDOWING_MODE">%1$s</xliff:g> sisenemine"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Akna suuruse muutmine, vasakule"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Akna suuruse muutmine, paremale"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Akna suuruse maksimeerimine või taastamine"</string>
diff --git a/libs/WindowManager/Shell/res/values-eu/strings.xml b/libs/WindowManager/Shell/res/values-eu/strings.xml
index abd92ab..c0766a2 100644
--- a/libs/WindowManager/Shell/res/values-eu/strings.xml
+++ b/libs/WindowManager/Shell/res/values-eu/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Aplikazioaren kontrol-puntua"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Aplikazioaren ikonoa"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Pantaila osoa"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Ordenagailuetarako ikuspegia"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Pantaila zatitzea"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Gehiago"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Leiho gainerakorra"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Aldatu aspektu-erlazioa"</string>
     <string name="close_text" msgid="4986518933445178928">"Itxi"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Itxi menua"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (ordenagailuetarako ikuspegia)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Handitu pantaila"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Aldatu tamaina"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Aplikazioa ezin da hona ekarri"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Aldatu aplikazioaren leihoaren tamaina eta eraman ezkerrera"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Aldatu aplikazioaren leihoaren tamaina eta eraman eskuinera"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maximizatu edo leheneratu leihoaren tamaina"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Ireki menua"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Idatzi <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Aldatu leihoaren tamaina eta eraman ezkerrera"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Aldatu leihoaren tamaina eta eraman eskuinera"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maximizatu edo leheneratu leihoaren tamaina"</string>
diff --git a/libs/WindowManager/Shell/res/values-fa/strings.xml b/libs/WindowManager/Shell/res/values-fa/strings.xml
index 651635a..ace8b33 100644
--- a/libs/WindowManager/Shell/res/values-fa/strings.xml
+++ b/libs/WindowManager/Shell/res/values-fa/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"دستگیره برنامه"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"نماد برنامه"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"تمام‌صفحه"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"نمای ویژه رایانه رومیزی"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"صفحهٔ دونیمه"</string>
     <string name="more_button_text" msgid="3655388105592893530">"بیشتر"</string>
     <string name="float_button_text" msgid="9221657008391364581">"شناور"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"تغییر نسبت ابعادی"</string>
     <string name="close_text" msgid="4986518933445178928">"بستن"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"بستن منو"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"‫<xliff:g id="APP_NAME">%1$s</xliff:g> (نمای ویژه رایانه رومیزی)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"بزرگ کردن صفحه"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"تغییر اندازه"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"برنامه را نمی‌توان به اینجا منتقل کرد"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"تغییر اندازه پنجره برنامه در چپ"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"تغییر اندازه پنجره برنامه در راست"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"بیشینه‌سازی یا بازیابی اندازه پنجره"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"باز کردن منو"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"وارد شدن به <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"تغییر اندازه پنجره به چپ"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"تغییر اندازه پنجره به راست"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"بیشینه‌سازی یا بازیابی اندازه پنجره"</string>
diff --git a/libs/WindowManager/Shell/res/values-fi/strings.xml b/libs/WindowManager/Shell/res/values-fi/strings.xml
index 47e9ea3..aed3fdc 100644
--- a/libs/WindowManager/Shell/res/values-fi/strings.xml
+++ b/libs/WindowManager/Shell/res/values-fi/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Sovelluksen tunnus"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Sovelluskuvake"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Koko näyttö"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Tietokonenäkymä"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Jaettu näyttö"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Lisää"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Kelluva ikkuna"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Vaihda kuvasuhdetta"</string>
     <string name="close_text" msgid="4986518933445178928">"Sulje"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Sulje valikko"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (tietokonenäkymä)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Suurenna näyttö"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Muuta kokoa"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Sovellusta ei voi siirtää tänne"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Muuta vasemmanpuoleisen sovellusikkunan kokoa"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Muuta oikeanpuoleisen sovellusikkunan kokoa"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Suurenna ikkuna tai palauta ikkunan koko"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Avaa valikko"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Avaa <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Muuta vasemmanpuoleisen ikkunan kokoa"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Muuta vasemmanpuoleisen ikkunan kokoa"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Suurenna ikkuna tai palauta ikkunan koko"</string>
diff --git a/libs/WindowManager/Shell/res/values-fr/strings.xml b/libs/WindowManager/Shell/res/values-fr/strings.xml
index 038a90d..377413e 100644
--- a/libs/WindowManager/Shell/res/values-fr/strings.xml
+++ b/libs/WindowManager/Shell/res/values-fr/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Poignée de l\'appli"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Icône d\'application"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Plein écran"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Affichage sur ordinateur"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Écran partagé"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Plus"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Flottante"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Modifier le format"</string>
     <string name="close_text" msgid="4986518933445178928">"Fermer"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Fermer le menu"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (affichage sur ordinateur)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Mettre en plein écran"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Redimensionner"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Impossible de déplacer l\'appli ici"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Redimensionner la fenêtre de l\'appli vers la gauche"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Redimensionner la fenêtre de l\'appli vers la droite"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Agrandir ou restaurer la taille de la fenêtre"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Ouvrir le menu"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Saisir l’<xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Redimensionner la fenêtre vers la gauche"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Redimensionner la fenêtre vers la droite"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Agrandir ou restaurer la taille de la fenêtre"</string>
diff --git a/libs/WindowManager/Shell/res/values-gl/strings.xml b/libs/WindowManager/Shell/res/values-gl/strings.xml
index a2a6b3e..3022f62 100644
--- a/libs/WindowManager/Shell/res/values-gl/strings.xml
+++ b/libs/WindowManager/Shell/res/values-gl/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Controlador da aplicación"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Icona de aplicación"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Pantalla completa"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Vista para ordenadores"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Pantalla dividida"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Máis"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Flotante"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Cambiar a proporción"</string>
     <string name="close_text" msgid="4986518933445178928">"Pechar"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Pechar o menú"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (vista para ordenadores)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maximizar pantalla"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Cambiar tamaño"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Non se pode mover aquí a aplicación"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Axustar o tamaño da ventá da aplicación á esquerda"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Axustar o tamaño da ventá da aplicación á dereita"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maximizar ou restaurar o tamaño da ventá"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Abrir o menú"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Entrar en <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Axustar o tamaño da ventá á esquerda"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Axustar o tamaño da ventá á dereita"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maximizar ou restaurar o tamaño da ventá"</string>
diff --git a/libs/WindowManager/Shell/res/values-hi/strings.xml b/libs/WindowManager/Shell/res/values-hi/strings.xml
index f1f2a0a..945bc93 100644
--- a/libs/WindowManager/Shell/res/values-hi/strings.xml
+++ b/libs/WindowManager/Shell/res/values-hi/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"ऐप्लिकेशन का हैंडल"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ऐप्लिकेशन आइकॉन"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"फ़ुलस्क्रीन"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"डेस्कटॉप व्यू"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"स्प्लिट स्क्रीन मोड"</string>
     <string name="more_button_text" msgid="3655388105592893530">"ज़्यादा देखें"</string>
     <string name="float_button_text" msgid="9221657008391364581">"फ़्लोट"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) बदलें"</string>
     <string name="close_text" msgid="4986518933445178928">"बंद करें"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"मेन्यू बंद करें"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (डेस्कटॉप व्यू)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"स्क्रीन को बड़ा करें"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"साइज़ बदलें"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"ऐप्लिकेशन को यहां मूव नहीं किया जा सकता"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"ऐप्लिकेशन विंडो का साइज़ बाईं ओर से बदलें"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"ऐप्लिकेशन विंडो का साइज़ दाईं ओर से बदलें"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"विंडो को बड़ा करें या उसका साइज़ पहले जैसा करें"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"मेन्यू खोलें"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> में जाएं"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"विंडो का साइज़ बाईं ओर से बदलें"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"विंडो का साइज़ दाईं ओर से बढ़ाएं"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"विंडो को बड़ा करें या उसका साइज़ पहले जैसा करें"</string>
diff --git a/libs/WindowManager/Shell/res/values-hu/strings.xml b/libs/WindowManager/Shell/res/values-hu/strings.xml
index 5d52c48..a7aedc4 100644
--- a/libs/WindowManager/Shell/res/values-hu/strings.xml
+++ b/libs/WindowManager/Shell/res/values-hu/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"App fogópontja"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Alkalmazásikon"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Teljes képernyő"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Asztali nézet"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Osztott képernyő"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Továbbiak"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Lebegő"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Méretarány módosítása"</string>
     <string name="close_text" msgid="4986518933445178928">"Bezárás"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Menü bezárása"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (Asztali nézet)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Képernyő méretének maximalizálása"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Átméretezés"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Az alkalmazás nem helyezhető át ide"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Alkalmazásablak átméretezése balra"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Alkalmazásablak átméretezése jobbra"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Ablak teljes méretre állítása vagy visszaállítása"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Menü megnyitása"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Belépés <xliff:g id="WINDOWING_MODE">%1$s</xliff:g> módba"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Ablak átméretezése balra"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Ablak átméretezése jobbra"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Ablak teljes méretre állítása vagy visszaállítása"</string>
diff --git a/libs/WindowManager/Shell/res/values-hy/strings.xml b/libs/WindowManager/Shell/res/values-hy/strings.xml
index b7b4422..00b2f91 100644
--- a/libs/WindowManager/Shell/res/values-hy/strings.xml
+++ b/libs/WindowManager/Shell/res/values-hy/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Հավելվածի կեղծանուն"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Հավելվածի պատկերակ"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Լիաէկրան"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Համակարգչային տարբերակ"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Տրոհված էկրան"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Ավելին"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Լողացող պատուհան"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Փոխել կողմերի հարաբերակցությունը"</string>
     <string name="close_text" msgid="4986518933445178928">"Փակել"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Փակել ընտրացանկը"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (համակարգչային տարբերակ)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Ծավալել էկրանը"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Փոխել չափը"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Հավելվածը հնարավոր չէ տեղափոխել այստեղ"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Ձգել հավելվածի պատուհանը դեպի ձախ"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Ձգել հավելվածի պատուհանը դեպի աջ"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Ծավալել կամ վերականգնել պատուհանի չափսը"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Բացեք ընտրացանկը"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Մուտքագրեք <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Ձգել պատուհանը դեպի ձախ"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Ձգել պատուհանը դեպի աջ"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Ծավալել կամ վերականգնել պատուհանի չափսը"</string>
diff --git a/libs/WindowManager/Shell/res/values-in/strings.xml b/libs/WindowManager/Shell/res/values-in/strings.xml
index a3ed7c3..54ccf84 100644
--- a/libs/WindowManager/Shell/res/values-in/strings.xml
+++ b/libs/WindowManager/Shell/res/values-in/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Penanganan aplikasi"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ikon Aplikasi"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Layar Penuh"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Tampilan Desktop"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Layar Terpisah"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Lainnya"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Mengambang"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Ubah rasio aspek"</string>
     <string name="close_text" msgid="4986518933445178928">"Tutup"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Tutup Menu"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (Tampilan Desktop)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Perbesar Layar"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Ubah ukuran"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Aplikasi tidak dapat dipindahkan ke sini"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Ubah ukuran jendela aplikasi ke kiri"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Ubah ukuran jendela aplikasi ke kanan"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maksimalkan atau pulihkan ukuran jendela"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Buka Menu"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Masuk ke <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Ubah ukuran jendela ke kiri"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Ubah ukuran jendela ke kanan"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maksimalkan atau pulihkan ukuran jendela"</string>
diff --git a/libs/WindowManager/Shell/res/values-is/strings.xml b/libs/WindowManager/Shell/res/values-is/strings.xml
index e8ecad1..56b1790 100644
--- a/libs/WindowManager/Shell/res/values-is/strings.xml
+++ b/libs/WindowManager/Shell/res/values-is/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Handfang forrits"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Tákn forrits"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Allur skjárinn"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Tölvuútgáfa"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Skjáskipting"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Meira"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Reikult"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Breyta myndhlutfalli"</string>
     <string name="close_text" msgid="4986518933445178928">"Loka"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Loka valmynd"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (tölvuútgáfa)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Stækka skjá"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Breyta stærð"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Ekki er hægt að færa forritið hingað"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Breyta stærð forritsglugga til vinstri"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Breyta stærð forritsglugga til hægri"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Hámarka eða endurheimta stærð glugga"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Opna valmynd"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Opna <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Breyta stærð glugga til vinstri"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Breyta stærð glugga til hægri"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Hámarka eða endurheimta stærð glugga"</string>
diff --git a/libs/WindowManager/Shell/res/values-it/strings.xml b/libs/WindowManager/Shell/res/values-it/strings.xml
index 630e9ee..30159c7 100644
--- a/libs/WindowManager/Shell/res/values-it/strings.xml
+++ b/libs/WindowManager/Shell/res/values-it/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Punto di manipolazione app"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Icona dell\'app"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Schermo intero"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Visualizzazione desktop"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Schermo diviso"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Altro"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Mobile"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Cambia proporzioni"</string>
     <string name="close_text" msgid="4986518933445178928">"Chiudi"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Chiudi il menu"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (visualizzazione desktop)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Massimizza schermo"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Ridimensiona"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Impossibile spostare l\'app qui"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Ridimensiona la finestra dell\'app a sinistra"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Ridimensiona la finestra dell\'app a destra"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Ingrandisci o ripristina le dimensioni della finestra"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Apri menu"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Attiva <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Ridimensiona la finestra a sinistra"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Ridimensiona la finestra a destra"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Ingrandisci o ripristina le dimensioni della finestra"</string>
diff --git a/libs/WindowManager/Shell/res/values-iw/strings.xml b/libs/WindowManager/Shell/res/values-iw/strings.xml
index 102d646..5a19f14 100644
--- a/libs/WindowManager/Shell/res/values-iw/strings.xml
+++ b/libs/WindowManager/Shell/res/values-iw/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"נקודת אחיזה לאפליקציה"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"סמל האפליקציה"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"מסך מלא"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"תצוגה למחשב"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"מסך מפוצל"</string>
     <string name="more_button_text" msgid="3655388105592893530">"עוד"</string>
     <string name="float_button_text" msgid="9221657008391364581">"בלונים"</string>
@@ -133,12 +132,11 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"שינוי יחס הגובה-רוחב"</string>
     <string name="close_text" msgid="4986518933445178928">"סגירה"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"סגירת התפריט"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"‫<xliff:g id="APP_NAME">%1$s</xliff:g> (תצוגה למחשב)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"הגדלת המסך"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"שינוי הגודל"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"לא ניתן להעביר את האפליקציה לכאן"</string>
-    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"סוחף"</string>
+    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"הטמעה"</string>
     <string name="desktop_mode_maximize_menu_immersive_restore_button_text" msgid="4900114367354709257">"שחזור"</string>
     <string name="desktop_mode_maximize_menu_maximize_button_text" msgid="3090199175564175845">"הגדלה"</string>
     <string name="desktop_mode_maximize_menu_restore_button_text" msgid="4234449220944704387">"שחזור"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"שינוי הגודל של חלון האפליקציה שמשמאל"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"שינוי הגודל של חלון האפליקציה שמימין"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"שחזור של גודל החלון או הגדלת החלון"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"פתיחת התפריט"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"כניסה אל <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"שינוי גודל החלון שמשמאל"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"שינוי גודל החלון שמימין"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"שחזור של גודל החלון או הגדלת החלון"</string>
diff --git a/libs/WindowManager/Shell/res/values-kk/strings.xml b/libs/WindowManager/Shell/res/values-kk/strings.xml
index 31a0153..be9e9c1 100644
--- a/libs/WindowManager/Shell/res/values-kk/strings.xml
+++ b/libs/WindowManager/Shell/res/values-kk/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Қолданба идентификаторы"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Қолданба белгішесі"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Толық экран"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Компьютерлік нұсқа"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Экранды бөлу"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Қосымша"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Қалқыма"</string>
@@ -133,12 +132,11 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Арақатынасты өзгерту"</string>
     <string name="close_text" msgid="4986518933445178928">"Жабу"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Мәзірді жабу"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (компьютерлік нұсқа)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Экранды ұлғайту"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Өлшемін өзгерту"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Қолданба бұл жерге қойылмайды."</string>
-    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"Әсерлі"</string>
+    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"Иммерсивтік әсер"</string>
     <string name="desktop_mode_maximize_menu_immersive_restore_button_text" msgid="4900114367354709257">"Қалпына келтіру"</string>
     <string name="desktop_mode_maximize_menu_maximize_button_text" msgid="3090199175564175845">"Жаю"</string>
     <string name="desktop_mode_maximize_menu_restore_button_text" msgid="4234449220944704387">"Қалпына келтіру"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Қолданба терезесінің өлшемін сол жақтан өзгерту"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Қолданба терезесінің өлшемін оң жақтан өзгерту"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Терезе өлшемін ұлғайту не қалпына келтіру"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Мәзірді ашу"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> режиміне өту"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Терезе өлшемін сол жаққа өзгерту"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Терезе өлшемін оң жаққа өзгерту"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Терезе өлшемін ұлғайту не қалпына келтіру"</string>
diff --git a/libs/WindowManager/Shell/res/values-km/strings.xml b/libs/WindowManager/Shell/res/values-km/strings.xml
index 9a7db67..c835650 100644
--- a/libs/WindowManager/Shell/res/values-km/strings.xml
+++ b/libs/WindowManager/Shell/res/values-km/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"ឈ្មោះអ្នកប្រើប្រាស់កម្មវិធី"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"រូប​កម្មវិធី"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"អេក្រង់​ពេញ"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"ទិដ្ឋភាព​លើកុំព្យូទ័រ"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"មុខងារ​បំបែក​អេក្រង់"</string>
     <string name="more_button_text" msgid="3655388105592893530">"ច្រើនទៀត"</string>
     <string name="float_button_text" msgid="9221657008391364581">"អណ្ដែត"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"ប្ដូរ​​សមាមាត្រ"</string>
     <string name="close_text" msgid="4986518933445178928">"បិទ"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"បិទ​ម៉ឺនុយ"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (ទិដ្ឋភាព​លើកុំព្យូទ័រ)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"ពង្រីកអេក្រង់"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"ប្ដូរ​ទំហំ"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"មិនអាចផ្លាស់ទីកម្មវិធីមកទីនេះបានទេ"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"ប្ដូរទំហំវិនដូកម្មវិធីទៅឆ្វេង"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"ប្ដូរទំហំវិនដូកម្មវិធីទៅស្ដាំ"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"ស្ដារ ឬបង្កើនទំហំវិនដូជាអតិបរមា"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"បើកម៉ឺនុយ"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"ចូលទៅ<xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"ប្ដូរទំហំវិនដូទៅឆ្វេង"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"ប្ដូរទំហំវិនដូទៅស្ដាំ"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"ស្ដារ ឬបង្កើនទំហំវិនដូជាអតិបរមា"</string>
diff --git a/libs/WindowManager/Shell/res/values-kn/strings.xml b/libs/WindowManager/Shell/res/values-kn/strings.xml
index e9fa2cf..143208a 100644
--- a/libs/WindowManager/Shell/res/values-kn/strings.xml
+++ b/libs/WindowManager/Shell/res/values-kn/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"ಆ್ಯಪ್ ಹ್ಯಾಂಡಲ್"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ಆ್ಯಪ್ ಐಕಾನ್"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"ಫುಲ್‌ಸ್ಕ್ರೀನ್"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"ಡೆಸ್ಕ್‌ಟಾಪ್ ವೀಕ್ಷಣೆ"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"ಸ್ಪ್ಲಿಟ್ ಸ್ಕ್ರೀನ್"</string>
     <string name="more_button_text" msgid="3655388105592893530">"ಇನ್ನಷ್ಟು"</string>
     <string name="float_button_text" msgid="9221657008391364581">"ಫ್ಲೋಟ್"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"ದೃಶ್ಯಾನುಪಾತವನ್ನು ಬದಲಾಯಿಸಿ"</string>
     <string name="close_text" msgid="4986518933445178928">"ಮುಚ್ಚಿ"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"ಮೆನು ಮುಚ್ಚಿ"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (ಡೆಸ್ಕ್‌ಟಾಪ್ ವೀಕ್ಷಣೆ)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"ಸ್ಕ್ರೀನ್ ಅನ್ನು ಮ್ಯಾಕ್ಸಿಮೈಸ್ ಮಾಡಿ"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"ಮರುಗಾತ್ರಗೊಳಿಸಿ"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"ಆ್ಯಪ್ ಅನ್ನು ಇಲ್ಲಿಗೆ ಸರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"ಮರುಗಾತ್ರಗೊಳಿಸಿ ಆ್ಯಪ್ ವಿಂಡೋ ಎಡ"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"ಮರುಗಾತ್ರಗೊಳಿಸಿ ಆ್ಯಪ್ ವಿಂಡೋ ಬಲ"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"ವಿಂಡೋ ಗಾತ್ರವನ್ನು ಗರಿಷ್ಠಗೊಳಿಸಿ ಅಥವಾ ಮರುಸ್ಥಾಪಿಸಿ"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"ಮೆನು ತೆರೆಯಿರಿ"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> ಅನ್ನು ನಮೂದಿಸಿ"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"ಮರುಗಾತ್ರಗೊಳಿಸಿ ವಿಂಡೋವನ್ನು ಎಡಕ್ಕೆ ಸರಿಸಿ"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"ಮರುಗಾತ್ರಗೊಳಿಸಿ ವಿಂಡೋವನ್ನು ಬಲಕ್ಕೆ ಸರಿಸಿ"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"ವಿಂಡೋ ಗಾತ್ರವನ್ನು ಗರಿಷ್ಠಗೊಳಿಸಿ ಅಥವಾ ಮರುಸ್ಥಾಪಿಸಿ"</string>
diff --git a/libs/WindowManager/Shell/res/values-ky/strings.xml b/libs/WindowManager/Shell/res/values-ky/strings.xml
index 3716741..fe1bcd4 100644
--- a/libs/WindowManager/Shell/res/values-ky/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ky/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Колдонмонун маркери"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Колдонмонун сүрөтчөсү"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Толук экран"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Компьютердик версия"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Экранды бөлүү"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Дагы"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Калкыма"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Тараптардын катнашын өзгөртүү"</string>
     <string name="close_text" msgid="4986518933445178928">"Жабуу"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Менюну жабуу"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (компьютердик версия)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Экранды чоңойтуу"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Өлчөмүн өзгөртүү"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Колдонмону бул жерге жылдырууга болбойт"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Колдонмонун терезесинин өлчөмүн солго өзгөртүү"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Колдонмонун терезесинин өлчөмүн оңго өзгөртүү"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Терезенин өлчөмүн чоңойтуу же калыбына келтирүү"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Менюну ачуу"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> режимине өтүү"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Терезенин өлчөмүн солго өзгөртүү"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Терезенин өлчөмүн оңго өзгөртүү"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Терезенин өлчөмүн чоңойтуу же калыбына келтирүү"</string>
diff --git a/libs/WindowManager/Shell/res/values-lo/strings.xml b/libs/WindowManager/Shell/res/values-lo/strings.xml
index a1d9d29..dd9df35 100644
--- a/libs/WindowManager/Shell/res/values-lo/strings.xml
+++ b/libs/WindowManager/Shell/res/values-lo/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"ຊື່ຜູ້ໃຊ້ແອັບ"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ໄອຄອນແອັບ"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"ເຕັມຈໍ"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"ມຸມມອງຢູ່ເດັສທັອບ"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"ແບ່ງໜ້າຈໍ"</string>
     <string name="more_button_text" msgid="3655388105592893530">"ເພີ່ມເຕີມ"</string>
     <string name="float_button_text" msgid="9221657008391364581">"ລອຍ"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"ປ່ຽນອັດຕາສ່ວນຮູບ"</string>
     <string name="close_text" msgid="4986518933445178928">"ປິດ"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"ປິດເມນູ"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (ມຸມມອງຢູ່ເດັສທັອບ)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"ປັບຈໍໃຫຍ່ສຸດ"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"ປັບຂະໜາດ"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"ບໍ່ສາມາດຍ້າຍແອັບມາບ່ອນນີ້ໄດ້"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"ປັບຂະໜາດໜ້າຈໍແອັບໄປທາງຊ້າຍ"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"ປັບຂະໜາດໜ້າຈໍແອັບໄປທາງຂວາ"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"ຂະຫຍາຍ ຫຼື ຄືນຄ່າຂະໜາດໜ້າຈໍ"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"ເປີດເມນູ"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"ເຂົ້າສູ່ <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"ປັບຂະໜາດໜ້າຈໍໄປທາງຊ້າຍ"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"ປັບຂະໜາດໜ້າຈໍໄປທາງຂວາ"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"ຂະຫຍາຍ ຫຼື ຄືນຄ່າຂະໜາດໜ້າຈໍ"</string>
diff --git a/libs/WindowManager/Shell/res/values-lv/strings.xml b/libs/WindowManager/Shell/res/values-lv/strings.xml
index 3fcbbe2..8c4360b 100644
--- a/libs/WindowManager/Shell/res/values-lv/strings.xml
+++ b/libs/WindowManager/Shell/res/values-lv/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Lietotnes turis"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Lietotnes ikona"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Pilnekrāna režīms"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Skats datorā"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Sadalīt ekrānu"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Vairāk"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Peldošs"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Mainīt malu attiecību"</string>
     <string name="close_text" msgid="4986518933445178928">"Aizvērt"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Aizvērt izvēlni"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (skats datorā)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maksimizēt ekrānu"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Mainīt lielumu"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Lietotni nevar pārvietot šeit."</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Mainīt lietotnes loga lielumu uz kreiso pusi"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Mainīt lietotnes loga lielumu uz labo pusi"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maksimizēt vai atjaunot loga lielumu"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Atvērt izvēlni"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Atvērt: <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Mainīt loga lielumu uz kreiso pusi"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Mainīt loga lielumu uz labo pusi"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maksimizēt vai atjaunot loga lielumu"</string>
diff --git a/libs/WindowManager/Shell/res/values-mk/strings.xml b/libs/WindowManager/Shell/res/values-mk/strings.xml
index 76b62ec1..653e66a 100644
--- a/libs/WindowManager/Shell/res/values-mk/strings.xml
+++ b/libs/WindowManager/Shell/res/values-mk/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Прекар на апликацијата"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Икона на апликацијата"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Цел екран"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Приказ на компјутер"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Поделен екран"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Повеќе"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Лебдечко"</string>
@@ -133,10 +132,9 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Промени го соодносот"</string>
     <string name="close_text" msgid="4986518933445178928">"Затворете"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Затворете го менито"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (приказ на компјутер)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Максимизирај го екранот"</string>
-    <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Промени ја гол."</string>
+    <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Смени големина"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Апликацијата не може да се премести овде"</string>
     <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"Реалистично"</string>
     <string name="desktop_mode_maximize_menu_immersive_restore_button_text" msgid="4900114367354709257">"Врати"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Променете ја големината на прозорецот на апликацијата одлево"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Променете ја големината на прозорецот на апликацијата оддесно"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Максимизирајте или вратете ја големината на прозорецот"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Отворете го менито"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Отворете <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Променете ја големината на прозорецот налево"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Променете ја големината на прозорецот надесно"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Максимизирајте или вратете ја големината на прозорецот"</string>
diff --git a/libs/WindowManager/Shell/res/values-ml/strings.xml b/libs/WindowManager/Shell/res/values-ml/strings.xml
index d9d0cf9..8887665 100644
--- a/libs/WindowManager/Shell/res/values-ml/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ml/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"ആപ്പ് ഹാൻഡിൽ"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ആപ്പ് ഐക്കൺ"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"പൂർണ്ണസ്ക്രീൻ"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"ഡെസ്‌ക്ടോപ്പ് വ്യൂ"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"സ്‌ക്രീൻ വിഭജനം"</string>
     <string name="more_button_text" msgid="3655388105592893530">"കൂടുതൽ"</string>
     <string name="float_button_text" msgid="9221657008391364581">"ഫ്ലോട്ട്"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"വീക്ഷണ അനുപാതം മാറ്റുക"</string>
     <string name="close_text" msgid="4986518933445178928">"അടയ്ക്കുക"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"മെനു അടയ്ക്കുക"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (ഡെസ്‌ക്ടോപ്പ് വ്യൂ)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"സ്‌ക്രീൻ വലുതാക്കുക"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"വലുപ്പം മാറ്റുക"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"ആപ്പ് ഇവിടേക്ക് നീക്കാനാകില്ല"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"ഇടത് ആപ്പ് വിൻഡോ വലുപ്പം മാറ്റുക"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"വലത് ആപ്പ് വിൻഡോ വലുപ്പം മാറ്റുക"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"വിന്‍ഡോ വലുപ്പം വലുതാക്കുക അല്ലെങ്കിൽ പഴയത് പുനഃസ്ഥാപിക്കുക"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"മെനു തുറക്കുക"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> നൽകുക"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"ഇടത്തേക്ക് ആപ്പ് വിൻഡോ വലുപ്പം മാറ്റുക"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"വലത്തേക്ക് ആപ്പ് വിൻഡോ വലുപ്പം മാറ്റുക"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"വിന്‍ഡോ വലുപ്പം വലുതാക്കുക അല്ലെങ്കിൽ പഴയത് പുനഃസ്ഥാപിക്കുക"</string>
diff --git a/libs/WindowManager/Shell/res/values-mn/strings.xml b/libs/WindowManager/Shell/res/values-mn/strings.xml
index 875ecea..df922e0 100644
--- a/libs/WindowManager/Shell/res/values-mn/strings.xml
+++ b/libs/WindowManager/Shell/res/values-mn/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Аппын бариул"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Aппын дүрс тэмдэг"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Бүтэн дэлгэц"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Дэлгэц дээр харагдах байдал"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Дэлгэцийг хуваах"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Бусад"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Хөвөгч"</string>
@@ -129,12 +128,11 @@
     <string name="open_in_browser_text" msgid="9181692926376072904">"Хөтчид нээх"</string>
     <string name="open_in_app_text" msgid="2874590745116268525">"Аппад нээх"</string>
     <string name="new_window_text" msgid="6318648868380652280">"Шинэ цонх"</string>
-    <string name="manage_windows_text" msgid="5567366688493093920">"Windows-г удирдах"</string>
+    <string name="manage_windows_text" msgid="5567366688493093920">"Цонхнуудыг удирдах"</string>
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Аспектын харьцааг өөрчлөх"</string>
     <string name="close_text" msgid="4986518933445178928">"Хаах"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Цэсийг хаах"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (дэлгэц дээр харагдах байдал)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Дэлгэцийг томруулах"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Хэмжээг өөрчлөх"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Аппыг ийш зөөх боломжгүй"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Аппын цонхны хэмжээг зүүн тал руу өөрчлөх"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Аппын цонхны хэмжээг баруун тал руу өөрчлөх"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Цонхны хэмжээг томруулах эсвэл сэргээх"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Цэсийг нээх"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g>-д орох"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Цонхны хэмжээг зүүн тал руу өөрчлөх"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Цонхны хэмжээг баруун тал руу өөрчлөх"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Цонхны хэмжээг томруулах эсвэл сэргээх"</string>
diff --git a/libs/WindowManager/Shell/res/values-mr/strings.xml b/libs/WindowManager/Shell/res/values-mr/strings.xml
index 73c16e6..f316311 100644
--- a/libs/WindowManager/Shell/res/values-mr/strings.xml
+++ b/libs/WindowManager/Shell/res/values-mr/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"अ‍ॅपचे हँडल"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"अ‍ॅप आयकन"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"फुलस्‍क्रीन"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"डेस्कटॉप दृश्य"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"स्प्लिट स्क्रीन"</string>
     <string name="more_button_text" msgid="3655388105592893530">"आणखी"</string>
     <string name="float_button_text" msgid="9221657008391364581">"फ्लोट"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"आस्पेक्ट रेशो बदला"</string>
     <string name="close_text" msgid="4986518933445178928">"बंद करा"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"मेनू बंद करा"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (डेस्कटॉप दृश्य)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"स्क्रीन मोठी करा"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"आकार बदला"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"अ‍ॅप इथे हलवू शकत नाही"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"अ‍ॅप विंडोचा डावीकडून आकार बदला"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"अ‍ॅप विंडोचा उजवीकडून आकार बदला"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"विंडोचा आकार मोठा करा किंवा रिस्टोअर करा"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"मेनू उघडा"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> एंटर करा"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"अ‍ॅप विंडोचा डावीकडे आकार बदला"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"अ‍ॅप विंडोचा उजवीकडे आकार बदला"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"विंडोचा आकार मोठा करा किंवा रिस्टोअर करा"</string>
diff --git a/libs/WindowManager/Shell/res/values-my/strings.xml b/libs/WindowManager/Shell/res/values-my/strings.xml
index be7cca5..8697af8 100644
--- a/libs/WindowManager/Shell/res/values-my/strings.xml
+++ b/libs/WindowManager/Shell/res/values-my/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"အက်ပ်သုံးသူအမည်"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"အက်ပ်သင်္ကေတ"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"ဖန်သားပြင်အပြည့်"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"ဒက်စ်တော့ မြင်ကွင်း"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"မျက်နှာပြင် ခွဲ၍ပြသရန်"</string>
     <string name="more_button_text" msgid="3655388105592893530">"ပိုပြပါ"</string>
     <string name="float_button_text" msgid="9221657008391364581">"မျှောရန်"</string>
@@ -133,12 +132,11 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"အချိုးအစား ပြောင်းရန်"</string>
     <string name="close_text" msgid="4986518933445178928">"ပိတ်ရန်"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"မီနူး ပိတ်ရန်"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (ဒက်စ်တော့ မြင်ကွင်း)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"စခရင်ကို ချဲ့မည်"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"အရွယ်ပြင်ရန်"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"အက်ပ်ကို ဤနေရာသို့ ရွှေ့၍မရပါ"</string>
-    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"သုံးဘက်မြင်"</string>
+    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"ဘက်ပေါင်းစုံ"</string>
     <string name="desktop_mode_maximize_menu_immersive_restore_button_text" msgid="4900114367354709257">"ပြန်ပြောင်းရန်"</string>
     <string name="desktop_mode_maximize_menu_maximize_button_text" msgid="3090199175564175845">"ချဲ့ရန်"</string>
     <string name="desktop_mode_maximize_menu_restore_button_text" msgid="4234449220944704387">"ပြန်ပြောင်းရန်"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"အက်ပ်ဝင်းဒိုး ဘယ်ဘက်ကို အရွယ်ပြင်ရန်"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"အက်ပ်ဝင်းဒိုး ညာဘက်ကို အရွယ်ပြင်ရန်"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"ဝင်းဒိုးအရွယ်အစားကို ချဲ့ရန် (သို့) ပြန်ပြောင်းရန်"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"မီနူးဖွင့်ရန်"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> ကို ဝင်ရန်"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"ဝင်းဒိုးကို ဘယ်ဘက်သို့ အရွယ်ပြင်ရန်"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"ဝင်းဒိုးကို ညာဘက်သို့ အရွယ်ပြင်ရန်"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"ဝင်းဒိုးအရွယ်အစားကို ချဲ့ရန် (သို့) ပြန်ပြောင်းရန်"</string>
diff --git a/libs/WindowManager/Shell/res/values-nb/strings.xml b/libs/WindowManager/Shell/res/values-nb/strings.xml
index c213b7b..43de636 100644
--- a/libs/WindowManager/Shell/res/values-nb/strings.xml
+++ b/libs/WindowManager/Shell/res/values-nb/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Apphåndtak"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Appikon"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Fullskjerm"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Datamaskinvisning"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Delt skjerm"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Mer"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Svevende"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Endre høyde/bredde-forholdet"</string>
     <string name="close_text" msgid="4986518933445178928">"Lukk"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Lukk menyen"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (datamaskinvisning)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maksimer skjermen"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Endre størrelse"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Appen kan ikke flyttes hit"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Endre størrelsen på appvinduet til venstre"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Endre størrelsen på appvinduet til høyre"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maksimer eller gjenopprett størrelsen på vinduet"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Åpne menyen"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Skriv inn <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>."</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Endre størrelsen på vinduet til venstre"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Endre størrelsen på vinduet til høyre"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maksimer eller gjenopprett størrelsen på vinduet"</string>
diff --git a/libs/WindowManager/Shell/res/values-ne/strings.xml b/libs/WindowManager/Shell/res/values-ne/strings.xml
index e5f4cbe..23b49b7 100644
--- a/libs/WindowManager/Shell/res/values-ne/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ne/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"एपको ह्यान्डल"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"एपको आइकन"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"फुल स्क्रिन"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"डेस्कटप भ्यू"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"स्प्लिट स्क्रिन"</string>
     <string name="more_button_text" msgid="3655388105592893530">"थप"</string>
     <string name="float_button_text" msgid="9221657008391364581">"फ्लोट"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"एस्पेक्ट रेसियो परिवर्तन गर्नुहोस्"</string>
     <string name="close_text" msgid="4986518933445178928">"बन्द गर्नुहोस्"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"मेनु बन्द गर्नुहोस्"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (डेस्कटप भ्यू)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"स्क्रिन ठुलो बनाउनुहोस्"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"आकार बदल्नुहोस्"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"एप सारेर यहाँ ल्याउन सकिएन"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"एपको विन्डोको आकार बदलेर बायाँतिर लैजानुहोस्"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"एपको विन्डोको आकार बदलेर दायाँतिर लैजानुहोस्"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"विन्डोको आकार म्याक्सिमाइज गर्नुहोस् वा रिस्टोर गर्नुहोस्"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"मेनु खोल्नुहोस्"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> प्रयोग गर्नुहोस्"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"विन्डोको आकार बदलेर बायाँतिर लैजानुहोस्"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"विन्डोको आकार बदलेर दायाँतिर लैजानुहोस्"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"विन्डोको आकार म्याक्सिमाइज गर्नुहोस् वा रिस्टोर गर्नुहोस्"</string>
diff --git a/libs/WindowManager/Shell/res/values-or/strings.xml b/libs/WindowManager/Shell/res/values-or/strings.xml
index 182ea46d8..9e1ee43 100644
--- a/libs/WindowManager/Shell/res/values-or/strings.xml
+++ b/libs/WindowManager/Shell/res/values-or/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"ଆପର ହେଣ୍ଡେଲ"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ଆପ ଆଇକନ"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"ପୂର୍ଣ୍ଣସ୍କ୍ରିନ"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"ଡେସ୍କଟପ ଭ୍ୟୁ"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"ସ୍ପ୍ଲିଟ ସ୍କ୍ରିନ"</string>
     <string name="more_button_text" msgid="3655388105592893530">"ଅଧିକ"</string>
     <string name="float_button_text" msgid="9221657008391364581">"ଫ୍ଲୋଟ"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"ଚଉଡ଼ା ଓ ଉଚ୍ଚତାର ଅନୁପାତ ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string>
     <string name="close_text" msgid="4986518933445178928">"ବନ୍ଦ କରନ୍ତୁ"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"ମେନୁ ବନ୍ଦ କରନ୍ତୁ"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (ଡେସ୍କଟପ ଭ୍ୟୁ)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"ସ୍କ୍ରିନକୁ ବଡ଼ କରନ୍ତୁ"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"ରିସାଇଜ କରନ୍ତୁ"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"ଆପକୁ ଏଠାକୁ ମୁଭ କରାଯାଇପାରିବ ନାହିଁ"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"ଆପ ୱିଣ୍ଡୋ ରିସାଇଜ କରିବା ପାଇଁ ବାମ ବଟନ"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"ଆପ ୱିଣ୍ଡୋ ରିସାଇଜ କରିବା ପାଇଁ ଡାହାଣ ବଟନ"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"ୱିଣ୍ଡୋ ସାଇଜକୁ ମେକ୍ସିମାଇଜ କିମ୍ବା ରିଷ୍ଟୋର କରନ୍ତୁ"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"ମେନୁ ଖୋଲନ୍ତୁ"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g>ରେ ଲେଖନ୍ତୁ"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"ବାମପଟକୁ ୱିଣ୍ଡୋ ରିସାଇଜ କରନ୍ତୁ"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"ଡାହାଣପଟକୁ ୱିଣ୍ଡୋ ରିସାଇଜ କରନ୍ତୁ"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"ୱିଣ୍ଡୋ ସାଇଜକୁ ମେକ୍ସିମାଇଜ କିମ୍ବା ରିଷ୍ଟୋର କରନ୍ତୁ"</string>
diff --git a/libs/WindowManager/Shell/res/values-pl/strings.xml b/libs/WindowManager/Shell/res/values-pl/strings.xml
index 9a1bf33..3a55cf3 100644
--- a/libs/WindowManager/Shell/res/values-pl/strings.xml
+++ b/libs/WindowManager/Shell/res/values-pl/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Uchwyt aplikacji"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ikona aplikacji"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Pełny ekran"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Wersja na komputery"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Podzielony ekran"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Więcej"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Pływające"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Zmień format obrazu"</string>
     <string name="close_text" msgid="4986518933445178928">"Zamknij"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Zamknij menu"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (wersja na komputery)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maksymalizuj ekran"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Zmień rozmiar"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Nie można przenieść aplikacji tutaj"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Zmień rozmiar okna aplikacji po lewej"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Zmień rozmiar okna aplikacji po prawej"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Zmaksymalizuj lub przywróć rozmiar okna"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Otwórz menu"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Wybierz <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Zmień rozmiar okna do lewej"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Zmień rozmiar okna do prawej"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Zmaksymalizuj lub przywróć rozmiar okna"</string>
diff --git a/libs/WindowManager/Shell/res/values-pt-rPT/strings.xml b/libs/WindowManager/Shell/res/values-pt-rPT/strings.xml
index 0ca0e8e..3eaf0f5 100644
--- a/libs/WindowManager/Shell/res/values-pt-rPT/strings.xml
+++ b/libs/WindowManager/Shell/res/values-pt-rPT/strings.xml
@@ -128,7 +128,7 @@
     <string name="open_in_browser_text" msgid="9181692926376072904">"Abrir no navegador"</string>
     <string name="open_in_app_text" msgid="2874590745116268525">"Abrir na app"</string>
     <string name="new_window_text" msgid="6318648868380652280">"Nova janela"</string>
-    <string name="manage_windows_text" msgid="5567366688493093920">"Faça a gestão das janelas"</string>
+    <string name="manage_windows_text" msgid="5567366688493093920">"Gerir janelas"</string>
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Alterar formato"</string>
     <string name="close_text" msgid="4986518933445178928">"Fechar"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Fechar menu"</string>
diff --git a/libs/WindowManager/Shell/res/values-ro/strings.xml b/libs/WindowManager/Shell/res/values-ro/strings.xml
index f71d93b..0195aca 100644
--- a/libs/WindowManager/Shell/res/values-ro/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ro/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Handle de aplicație"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Pictograma aplicației"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Ecran complet"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Afișare pe desktop"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Ecran împărțit"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Mai multe"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Flotantă"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Schimbă raportul de dimensiuni"</string>
     <string name="close_text" msgid="4986518933445178928">"Închide"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Închide meniul"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (afișare pe desktop)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maximizează fereastra"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Redimensionează"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Aplicația nu poate fi mutată aici"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Redimensionează fereastra aplicației la stânga"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Redimensionează fereastra aplicației la dreapta"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maximizează sau restabilește dimensiunea ferestrei"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Deschide meniul"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Introdu <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Redimensionează fereastra la stânga"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Redimensionează fereastra la dreapta"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maximizează sau restabilește dimensiunea ferestrei"</string>
diff --git a/libs/WindowManager/Shell/res/values-si/strings.xml b/libs/WindowManager/Shell/res/values-si/strings.xml
index b7b2863..26bd937 100644
--- a/libs/WindowManager/Shell/res/values-si/strings.xml
+++ b/libs/WindowManager/Shell/res/values-si/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"යෙදුම් හසුරුව"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"යෙදුම් නිරූපකය"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"පූර්ණ තිරය"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"ඩෙස්ක්ටොප් දසුන"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"බෙදුම් තිරය"</string>
     <string name="more_button_text" msgid="3655388105592893530">"තව"</string>
     <string name="float_button_text" msgid="9221657008391364581">"පාවෙන"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"දර්ශන අනුපාතය වෙනස් කරන්න"</string>
     <string name="close_text" msgid="4986518933445178928">"වසන්න"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"මෙනුව වසන්න"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (ඩෙස්ක්ටොප් දසුන)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"තිරය උපරිම කරන්න"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"ප්‍රතිප්‍රමාණය කරන්න"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"යෙදුම මෙතැනට ගෙන යා නොහැක"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"යෙදුම් කවුළුව වමට ප්‍රතිප්‍රමාණ කරන්න"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"යෙදුම් කවුළුව දකුණට ප්‍රතිප්‍රමාණ කරන්න"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"කවුළු ප්‍රමාණය උපරිම කරන්න හෝ ප්‍රතිසාධනය කරන්න"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"මෙනුව විවෘත කරන්න"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> ඇතුළු කරන්න"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"කවුළුව වමට ප්‍රතිප්‍රමාණ කරන්න"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"කවුළුව දකුණට ප්‍රතිප්‍රමාණ කරන්න"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"කවුළු ප්‍රමාණය උපරිම කරන්න හෝ ප්‍රතිසාධනය කරන්න"</string>
diff --git a/libs/WindowManager/Shell/res/values-sk/strings.xml b/libs/WindowManager/Shell/res/values-sk/strings.xml
index ede0cdd..8b6999e 100644
--- a/libs/WindowManager/Shell/res/values-sk/strings.xml
+++ b/libs/WindowManager/Shell/res/values-sk/strings.xml
@@ -128,7 +128,7 @@
     <string name="open_in_browser_text" msgid="9181692926376072904">"Otvoriť v prehliadači"</string>
     <string name="open_in_app_text" msgid="2874590745116268525">"Otvoriť v aplikácii"</string>
     <string name="new_window_text" msgid="6318648868380652280">"Nové okno"</string>
-    <string name="manage_windows_text" msgid="5567366688493093920">"Správa okien"</string>
+    <string name="manage_windows_text" msgid="5567366688493093920">"Spravovať okná"</string>
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Zmeniť pomer strán"</string>
     <string name="close_text" msgid="4986518933445178928">"Zavrieť"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Zavrieť ponuku"</string>
diff --git a/libs/WindowManager/Shell/res/values-sq/strings.xml b/libs/WindowManager/Shell/res/values-sq/strings.xml
index ea26bc6..45a1c00 100644
--- a/libs/WindowManager/Shell/res/values-sq/strings.xml
+++ b/libs/WindowManager/Shell/res/values-sq/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Emërtimi i aplikacionit"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ikona e aplikacionit"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Ekrani i plotë"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Pamja për desktop"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Ekrani i ndarë"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Më shumë"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Pluskuese"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Ndrysho raportin e pamjes"</string>
     <string name="close_text" msgid="4986518933445178928">"Mbyll"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Mbyll menynë"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (Pamja për desktop)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maksimizo ekranin"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Ndrysho përmasat"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Aplikacioni nuk mund të zhvendoset këtu"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Ndrysho përmasat e dritares së aplikacionit majtas"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Ndrysho përmasat e dritares së aplikacionit djathtas"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Maksimizo ose restauro madhësinë e dritares"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Hap menynë"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Kalo te \"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g>\""</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Ndrysho përmasat e dritares në të majtë"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Ndrysho përmasat e dritares në të djathtë"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Maksimizo ose restauro madhësinë e dritares"</string>
diff --git a/libs/WindowManager/Shell/res/values-sr/strings.xml b/libs/WindowManager/Shell/res/values-sr/strings.xml
index ea7a1bb..40ca9a4 100644
--- a/libs/WindowManager/Shell/res/values-sr/strings.xml
+++ b/libs/WindowManager/Shell/res/values-sr/strings.xml
@@ -134,9 +134,9 @@
     <string name="collapse_menu_text" msgid="7515008122450342029">"Затворите мени"</string>
     <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (приказ за рачунаре)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Повећај екран"</string>
-    <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Промени величину"</string>
+    <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Прилагоди"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Апликација не може да се премести овде"</string>
-    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"Имерзивне"</string>
+    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"Имерзивно"</string>
     <string name="desktop_mode_maximize_menu_immersive_restore_button_text" msgid="4900114367354709257">"Врати"</string>
     <string name="desktop_mode_maximize_menu_maximize_button_text" msgid="3090199175564175845">"Увећај"</string>
     <string name="desktop_mode_maximize_menu_restore_button_text" msgid="4234449220944704387">"Вратите"</string>
diff --git a/libs/WindowManager/Shell/res/values-sv/strings.xml b/libs/WindowManager/Shell/res/values-sv/strings.xml
index f3e53d0e..4e126e8 100644
--- a/libs/WindowManager/Shell/res/values-sv/strings.xml
+++ b/libs/WindowManager/Shell/res/values-sv/strings.xml
@@ -136,7 +136,7 @@
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Maximera skärmen"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Ändra storlek"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Det går inte att flytta appen hit"</string>
-    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"Uppslukande"</string>
+    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"Immersiv"</string>
     <string name="desktop_mode_maximize_menu_immersive_restore_button_text" msgid="4900114367354709257">"Återställ"</string>
     <string name="desktop_mode_maximize_menu_maximize_button_text" msgid="3090199175564175845">"Utöka"</string>
     <string name="desktop_mode_maximize_menu_restore_button_text" msgid="4234449220944704387">"Återställ"</string>
diff --git a/libs/WindowManager/Shell/res/values-sw/strings.xml b/libs/WindowManager/Shell/res/values-sw/strings.xml
index 51aacac..8bfdfc6 100644
--- a/libs/WindowManager/Shell/res/values-sw/strings.xml
+++ b/libs/WindowManager/Shell/res/values-sw/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Utambulisho wa programu"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Aikoni ya Programu"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Skrini nzima"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Mwonekano wa Kompyuta"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Gawa Skrini"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Zaidi"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Inayoelea"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Badilisha uwiano"</string>
     <string name="close_text" msgid="4986518933445178928">"Funga"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Funga Menyu"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (Mwonekano wa Kompyuta)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Panua Dirisha kwenye Skrini"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Badilisha ukubwa"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Imeshindwa kuhamishia programu hapa"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Badilisha ukubwa wa dirisha la programu kushoto"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Badilisha ukubwa wa dirisha la programu kulia"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Panua au urejeshe ukubwa wa dirisha"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Fungua Menyu"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Weka <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Badilisha ukubwa wa dirisha kushoto"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Badilisha ukubwa wa dirisha kulia"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Panua au urejeshe ukubwa wa dirisha"</string>
diff --git a/libs/WindowManager/Shell/res/values-ta/strings.xml b/libs/WindowManager/Shell/res/values-ta/strings.xml
index 0c7206c..4d9093c 100644
--- a/libs/WindowManager/Shell/res/values-ta/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ta/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"ஆப்ஸ் ஹேண்டில்"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ஆப்ஸ் ஐகான்"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"முழுத்திரை"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"டெஸ்க்டாப் காட்சி"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"திரையைப் பிரிக்கும்"</string>
     <string name="more_button_text" msgid="3655388105592893530">"கூடுதல் விருப்பத்தேர்வுகள்"</string>
     <string name="float_button_text" msgid="9221657008391364581">"மிதக்கும் சாளரம்"</string>
@@ -133,12 +132,11 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"தோற்ற விகிதத்தை மாற்று"</string>
     <string name="close_text" msgid="4986518933445178928">"மூடும்"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"மெனுவை மூடும்"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (டெஸ்க்டாப் காட்சி)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"திரையைப் பெரிதாக்கு"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"அளவை மாற்று"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"ஆப்ஸை இங்கே நகர்த்த முடியாது"</string>
-    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"ஈடுபட வைக்கும்"</string>
+    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"முழுத்திரையும்"</string>
     <string name="desktop_mode_maximize_menu_immersive_restore_button_text" msgid="4900114367354709257">"மீட்டெடுக்கும்"</string>
     <string name="desktop_mode_maximize_menu_maximize_button_text" msgid="3090199175564175845">"பெரிதாக்கும்"</string>
     <string name="desktop_mode_maximize_menu_restore_button_text" msgid="4234449220944704387">"மீட்டெடுக்கும்"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"ஆப்ஸ் சாளரத்தின் இடதுபுறத்தில் அளவை மாற்றும்"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"ஆப்ஸ் சாளரத்தின் வலதுபுறத்தில் அளவை மாற்றும்"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"சாளரத்தின் அளவைப் பெரிதாக்கும்/மீட்டெடுக்கும்"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"மெனுவைத் திறக்கும்"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> ஐ உள்ளிடும்"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"சாளரத்தை இடதுபுறமாக அளவு மாற்றும்"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"சாளரத்தை வலதுபுறமாக அளவு மாற்றும்"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"சாளரத்தின் அளவைப் பெரிதாக்கும்/மீட்டெடுக்கும்"</string>
diff --git a/libs/WindowManager/Shell/res/values-tl/strings.xml b/libs/WindowManager/Shell/res/values-tl/strings.xml
index 5787e10..056bc22 100644
--- a/libs/WindowManager/Shell/res/values-tl/strings.xml
+++ b/libs/WindowManager/Shell/res/values-tl/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Handle ng app"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Icon ng App"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Fullscreen"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Desktop View"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Split Screen"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Higit pa"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Float"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Baguhin ang aspect ratio"</string>
     <string name="close_text" msgid="4986518933445178928">"Isara"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Isara ang Menu"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (Desktop View)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"I-maximize ang Screen"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"I-resize"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Hindi mailipat dito ang app"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"I-resize pakaliwa ang window ng app"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"I-resize pakanan ang window ng app"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"I-maximize o i-restore ang laki ng window"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Buksan ang Menu"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Pumasok sa <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"I-resize pakaliwa ang window"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"I-resize pakanan ang window"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"I-maximize o i-restore ang laki ng window"</string>
diff --git a/libs/WindowManager/Shell/res/values-tr/strings.xml b/libs/WindowManager/Shell/res/values-tr/strings.xml
index 28b2a7d..017f6bb 100644
--- a/libs/WindowManager/Shell/res/values-tr/strings.xml
+++ b/libs/WindowManager/Shell/res/values-tr/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Uygulama tanıtıcısı"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Uygulama Simgesi"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Tam Ekran"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Masaüstü görünümü"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Bölünmüş Ekran"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Daha Fazla"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Havada Süzülen"</string>
@@ -133,12 +132,11 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"En boy oranını değiştir"</string>
     <string name="close_text" msgid="4986518933445178928">"Kapat"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Menüyü kapat"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (masaüstü görünümü)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Ekranı Büyüt"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Yeniden boyutlandır"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Uygulama buraya taşınamıyor"</string>
-    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"Etkileyici"</string>
+    <string name="desktop_mode_maximize_menu_immersive_button_text" msgid="559492223133829481">"Tam ekran"</string>
     <string name="desktop_mode_maximize_menu_immersive_restore_button_text" msgid="4900114367354709257">"Geri yükle"</string>
     <string name="desktop_mode_maximize_menu_maximize_button_text" msgid="3090199175564175845">"Ekranı kapla"</string>
     <string name="desktop_mode_maximize_menu_restore_button_text" msgid="4234449220944704387">"Geri yükle"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Uygulama penceresini sola yeniden boyutlandır"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Uygulama penceresini sağa yeniden boyutlandır"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Pencereyi ekranı kaplayacak şekilde büyüt veya önceki boyutuna döndür"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Menüyü aç"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> moduna geç"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Pencereyi sola yeniden boyutlandır"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Pencereyi sağa yeniden boyutlandır"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Pencereyi ekranı kaplayacak şekilde büyüt veya önceki boyutuna döndür"</string>
diff --git a/libs/WindowManager/Shell/res/values-uk/strings.xml b/libs/WindowManager/Shell/res/values-uk/strings.xml
index f5693ca..32ce4a0 100644
--- a/libs/WindowManager/Shell/res/values-uk/strings.xml
+++ b/libs/WindowManager/Shell/res/values-uk/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Дескриптор додатка"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Значок додатка"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"На весь екран"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Версія для ПК"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Розділити екран"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Більше"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Плаваюче вікно"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Змінити формат"</string>
     <string name="close_text" msgid="4986518933445178928">"Закрити"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Закрити меню"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (версія для ПК)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Розгорнути екран"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Змінити розмір"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Сюди не можна перемістити додаток"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Змінити розмір вікна додатка ліворуч"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Змінити розмір вікна додатка праворуч"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Розгорнути вікно або відновити його розмір"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Відкрити меню"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Відкрити в режимі \"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g>\""</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Змінити розмір вікна ліворуч"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Змінити розмір вікна праворуч"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Розгорнути вікно або відновити його розмір"</string>
diff --git a/libs/WindowManager/Shell/res/values-ur/strings.xml b/libs/WindowManager/Shell/res/values-ur/strings.xml
index a801b5e..4de0c47 100644
--- a/libs/WindowManager/Shell/res/values-ur/strings.xml
+++ b/libs/WindowManager/Shell/res/values-ur/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"ایپ ہینڈل"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"ایپ کا آئیکن"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"مکمل اسکرین"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"ڈیسک ٹاپ منظر"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"اسپلٹ اسکرین"</string>
     <string name="more_button_text" msgid="3655388105592893530">"مزید"</string>
     <string name="float_button_text" msgid="9221657008391364581">"فلوٹ"</string>
@@ -129,12 +128,11 @@
     <string name="open_in_browser_text" msgid="9181692926376072904">"براؤزر میں کھولیں"</string>
     <string name="open_in_app_text" msgid="2874590745116268525">"ایپ میں کھولیں"</string>
     <string name="new_window_text" msgid="6318648868380652280">"نئی ونڈو"</string>
-    <string name="manage_windows_text" msgid="5567366688493093920">"‏‫Windows کا نظم کریں"</string>
+    <string name="manage_windows_text" msgid="5567366688493093920">"ونڈوز کا نظم کریں"</string>
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"تناسبی شرح کو تبدیل کریں"</string>
     <string name="close_text" msgid="4986518933445178928">"بند کریں"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"مینیو بند کریں"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"‫<xliff:g id="APP_NAME">%1$s</xliff:g> (ڈیسک ٹاپ منظر)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"اسکرین کو بڑا کریں"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"سائز تبدیل کریں"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"ایپ کو یہاں منتقل نہیں کیا جا سکتا"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"دائیں طرف ایپ ونڈو کا سائز تبدیل کریں"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"ایپ ونڈو کا سائز بائیں طرف تبدیل کریں"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"ونڈو کا سائز زیادہ سے زیادہ یا بحال کریں"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"مینیو کھولیں"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"‫<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> درج کریں"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"دائیں طرف ونڈو کا سائز تبدیل کریں"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"ونڈو کا سائز بائیں طرف تبدیل کریں"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"ونڈو کا سائز زیادہ سے زیادہ یا بحال کریں"</string>
diff --git a/libs/WindowManager/Shell/res/values-uz/strings.xml b/libs/WindowManager/Shell/res/values-uz/strings.xml
index 9fbbdc8..8c0d9bb 100644
--- a/libs/WindowManager/Shell/res/values-uz/strings.xml
+++ b/libs/WindowManager/Shell/res/values-uz/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Ilova identifikatori"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Ilova belgisi"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Butun ekran"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Desktop versiya"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Ekranni ikkiga ajratish"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Yana"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Pufakli"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Tomonlar nisbatini oʻzgartirish"</string>
     <string name="close_text" msgid="4986518933445178928">"Yopish"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Menyuni yopish"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (desktop versiya)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Ekranni yoyish"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Oʻlchamini oʻzgartirish"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Ilova bu yerga surilmaydi"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Ilova chap oynasi oʻlchamini oʻzgartirish"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Ilova oʻng oynasi oʻlchamini oʻzgartirish"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Oyna oʻlchamini kengaytirish yoki asliga qaytarish"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Menyuni ochish"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"<xliff:g id="WINDOWING_MODE">%1$s</xliff:g> rejimiga kirish"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Oyna oʻlchamini chapga oʻzgartirish"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Oyna oʻlchamini oʻngga oʻzgartirish"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Oyna oʻlchamini kengaytirish yoki asliga qaytarish"</string>
diff --git a/libs/WindowManager/Shell/res/values-vi/strings.xml b/libs/WindowManager/Shell/res/values-vi/strings.xml
index b40a4e6..3455eed 100644
--- a/libs/WindowManager/Shell/res/values-vi/strings.xml
+++ b/libs/WindowManager/Shell/res/values-vi/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Ô điều khiển ứng dụng"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Biểu tượng ứng dụng"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Toàn màn hình"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Chế độ xem trên máy tính để bàn"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Chia đôi màn hình"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Tuỳ chọn khác"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Nổi"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Thay đổi tỷ lệ khung hình"</string>
     <string name="close_text" msgid="4986518933445178928">"Đóng"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Đóng trình đơn"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (Chế độ xem trên máy tính để bàn)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Mở rộng màn hình"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Đổi kích thước"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"Không di chuyển được ứng dụng đến đây"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Đổi kích thước và chuyển cửa sổ ứng dụng sang trái"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Đổi kích thước và chuyển cửa sổ ứng dụng sang phải"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Phóng to hoặc khôi phục kích thước cửa sổ"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Mở Trình đơn"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Nhập <xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Đổi kích thước và chuyển cửa sổ sang trái"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Đổi kích thước và chuyển cửa sổ sang phải"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Phóng to hoặc khôi phục kích thước cửa sổ"</string>
diff --git a/libs/WindowManager/Shell/res/values-zh-rCN/strings.xml b/libs/WindowManager/Shell/res/values-zh-rCN/strings.xml
index 45cd25b..369fa4b 100644
--- a/libs/WindowManager/Shell/res/values-zh-rCN/strings.xml
+++ b/libs/WindowManager/Shell/res/values-zh-rCN/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"应用手柄"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"应用图标"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"全屏"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"桌面版视图"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"分屏"</string>
     <string name="more_button_text" msgid="3655388105592893530">"更多"</string>
     <string name="float_button_text" msgid="9221657008391364581">"悬浮"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"更改宽高比"</string>
     <string name="close_text" msgid="4986518933445178928">"关闭"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"关闭菜单"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g>（桌面版视图）"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"最大化屏幕"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"调整大小"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"无法将应用移至此处"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"调整应用窗口大小并贴靠左侧"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"调整应用窗口大小并贴靠右侧"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"将窗口最大化或恢复大小"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"打开菜单"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"进入<xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"调整窗口大小并贴靠左侧"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"调整窗口大小并贴靠右侧"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"将窗口最大化或恢复大小"</string>
diff --git a/libs/WindowManager/Shell/res/values-zh-rHK/strings.xml b/libs/WindowManager/Shell/res/values-zh-rHK/strings.xml
index d2c22da..8624f94d 100644
--- a/libs/WindowManager/Shell/res/values-zh-rHK/strings.xml
+++ b/libs/WindowManager/Shell/res/values-zh-rHK/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"應用程式控點"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"應用程式圖示"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"全螢幕"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"桌面電腦檢視模式"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"分割螢幕"</string>
     <string name="more_button_text" msgid="3655388105592893530">"更多"</string>
     <string name="float_button_text" msgid="9221657008391364581">"浮動"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"變更長寬比"</string>
     <string name="close_text" msgid="4986518933445178928">"關閉"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"關閉選單"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (桌面電腦檢視模式)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"畫面最大化"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"調整大小"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"應用程式無法移至這裡"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"調整左邊應用程式視窗大小"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"調整右邊應用程式視窗大小"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"將視窗放到最大或者還原視窗大小"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"打開選單"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"進入<xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"將視窗移去左邊調整大小"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"將視窗移去右邊調整大小"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"將視窗放到最大或者還原視窗大小"</string>
diff --git a/libs/WindowManager/Shell/res/values-zh-rTW/strings.xml b/libs/WindowManager/Shell/res/values-zh-rTW/strings.xml
index 0984fad..199c102 100644
--- a/libs/WindowManager/Shell/res/values-zh-rTW/strings.xml
+++ b/libs/WindowManager/Shell/res/values-zh-rTW/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"應用程式控制代碼"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"應用程式圖示"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"全螢幕"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"電腦檢視畫面"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"分割畫面"</string>
     <string name="more_button_text" msgid="3655388105592893530">"更多"</string>
     <string name="float_button_text" msgid="9221657008391364581">"浮動"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"變更顯示比例"</string>
     <string name="close_text" msgid="4986518933445178928">"關閉"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"關閉選單"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (電腦檢視畫面)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"畫面最大化"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"調整大小"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"應用程式無法移至此處"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"調整應用程式視窗大小並向左貼齊"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"調整應用程式視窗大小並向右貼齊"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"將視窗最大化或還原大小"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"開啟選單"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"進入<xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"調整應用程式視窗大小並向左貼齊"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"調整應用程式視窗大小並向右貼齊"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"將視窗最大化或還原大小"</string>
diff --git a/libs/WindowManager/Shell/res/values-zu/strings.xml b/libs/WindowManager/Shell/res/values-zu/strings.xml
index 13f8ed1..8f40142 100644
--- a/libs/WindowManager/Shell/res/values-zu/strings.xml
+++ b/libs/WindowManager/Shell/res/values-zu/strings.xml
@@ -119,8 +119,7 @@
     <string name="handle_text" msgid="4419667835599523257">"Inkomba ye-App"</string>
     <string name="app_icon_text" msgid="2823268023931811747">"Isithonjana Se-app"</string>
     <string name="fullscreen_text" msgid="1162316685217676079">"Isikrini esigcwele"</string>
-    <!-- no translation found for desktop_text (1582173066857454541) -->
-    <skip />
+    <string name="desktop_text" msgid="1582173066857454541">"Ukubuka Kwedeskithophu"</string>
     <string name="split_screen_text" msgid="1396336058129570886">"Hlukanisa isikrini"</string>
     <string name="more_button_text" msgid="3655388105592893530">"Okwengeziwe"</string>
     <string name="float_button_text" msgid="9221657008391364581">"Iflowuthi"</string>
@@ -133,8 +132,7 @@
     <string name="change_aspect_ratio_text" msgid="9104456064548212806">"Shintsha ukubukeka kwesilinganiselo"</string>
     <string name="close_text" msgid="4986518933445178928">"Vala"</string>
     <string name="collapse_menu_text" msgid="7515008122450342029">"Vala Imenyu"</string>
-    <!-- no translation found for desktop_mode_app_header_chip_text (8300164817452574565) -->
-    <skip />
+    <string name="desktop_mode_app_header_chip_text" msgid="8300164817452574565">"<xliff:g id="APP_NAME">%1$s</xliff:g> (Ukubuka Kwedeskithophu)"</string>
     <string name="desktop_mode_maximize_menu_maximize_text" msgid="3275717276171114411">"Khulisa Isikrini Sifike Ekugcineni"</string>
     <string name="desktop_mode_maximize_menu_snap_text" msgid="5673738963174074006">"Shintsha usayizi"</string>
     <string name="desktop_mode_non_resizable_snap_text" msgid="3771776422751387878">"I-app ayikwazi ukuhanjiswa lapha"</string>
@@ -147,10 +145,8 @@
     <string name="desktop_mode_a11y_action_snap_left" msgid="2932955411661734668">"Shintsha usayizi we-app yewindi ngakwesokunxele"</string>
     <string name="desktop_mode_a11y_action_snap_right" msgid="4577032451624261787">"Shintsha usayizi we-app yewindi ngakwesokudla"</string>
     <string name="desktop_mode_a11y_action_maximize_restore" msgid="8026037983417986686">"Khulisa noma buyisela usayizi wewindi"</string>
-    <!-- no translation found for app_handle_chip_accessibility_announce (499881698947450536) -->
-    <skip />
-    <!-- no translation found for app_handle_menu_accessibility_announce (7928858564852785398) -->
-    <skip />
+    <string name="app_handle_chip_accessibility_announce" msgid="499881698947450536">"Vula Imenyu"</string>
+    <string name="app_handle_menu_accessibility_announce" msgid="7928858564852785398">"Faka i-<xliff:g id="WINDOWING_MODE">%1$s</xliff:g>"</string>
     <string name="maximize_menu_talkback_action_snap_left_text" msgid="500309467459084564">"Shintsha usayizi wewindi ngakwesokunxele"</string>
     <string name="maximize_menu_talkback_action_snap_right_text" msgid="7010831426654467163">"Shintsha usayizi wewindi ngakwesokudla"</string>
     <string name="maximize_menu_talkback_action_maximize_restore_text" msgid="4942610897847934859">"Khulisa noma buyisela usayizi wewindi"</string>
diff --git a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/GroupedTaskInfo.java b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/GroupedTaskInfo.java
index 0a1e3b9..25b9f8c 100644
--- a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/GroupedTaskInfo.java
+++ b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/GroupedTaskInfo.java
@@ -47,20 +47,26 @@
 
     public static final int TYPE_FULLSCREEN = 1;
     public static final int TYPE_SPLIT = 2;
-    public static final int TYPE_FREEFORM = 3;
+    public static final int TYPE_DESK = 3;
     public static final int TYPE_MIXED = 4;
 
     @IntDef(prefix = {"TYPE_"}, value = {
             TYPE_FULLSCREEN,
             TYPE_SPLIT,
-            TYPE_FREEFORM,
+            TYPE_DESK,
             TYPE_MIXED
     })
     public @interface GroupType {}
 
     /**
+     * The ID of the desk that this `GroupedTaskInfo` represents (when the type is `TYPE_DESK`). The
+     * value is -1 if this is not a desk.
+     */
+    private final int mDeskId;
+
+    /**
      * The type of this particular task info, can be one of TYPE_FULLSCREEN, TYPE_SPLIT or
-     * TYPE_FREEFORM.
+     * TYPE_DESK.
      */
     @GroupType
     protected final int mType;
@@ -69,7 +75,7 @@
      * The list of tasks associated with this single recent task info.
      * TYPE_FULLSCREEN: Contains the stack of tasks associated with a single "task" in overview
      * TYPE_SPLIT: Contains the two split roots of each side
-     * TYPE_FREEFORM: Contains the set of tasks currently in freeform mode
+     * TYPE_DESK: Contains the set of tasks currently in freeform mode contained in desk.
      */
     @Nullable
     protected final List<TaskInfo> mTasks;
@@ -83,7 +89,7 @@
     protected final SplitBounds mSplitBounds;
 
     /**
-     * Only set for TYPE_FREEFORM.
+     * Only set for TYPE_DESK.
      *
      * TODO(b/348332802): move isMinimized inside each Task object instead once we have a
      *  replacement for RecentTaskInfo
@@ -103,8 +109,8 @@
      * Create new for a stack of fullscreen tasks
      */
     public static GroupedTaskInfo forFullscreenTasks(@NonNull TaskInfo task) {
-        return new GroupedTaskInfo(List.of(task), null, TYPE_FULLSCREEN,
-                null /* minimizedFreeformTasks */);
+        return new GroupedTaskInfo(/* deskId = */ -1, List.of(task), null, TYPE_FULLSCREEN,
+                /* minimizedFreeformTaskIds = */ null);
     }
 
     /**
@@ -112,18 +118,19 @@
      */
     public static GroupedTaskInfo forSplitTasks(@NonNull TaskInfo task1,
                     @NonNull TaskInfo task2, @NonNull SplitBounds splitBounds) {
-        return new GroupedTaskInfo(List.of(task1, task2), splitBounds, TYPE_SPLIT,
-                null /* minimizedFreeformTasks */);
+        return new GroupedTaskInfo(/* deskId = */ -1, List.of(task1, task2), splitBounds,
+                TYPE_SPLIT, /* minimizedFreeformTaskIds = */ null);
     }
 
     /**
-     * Create new for a group of freeform tasks
+     * Create new for a group of freeform tasks that belong to a single desk.
      */
-    public static GroupedTaskInfo forFreeformTasks(
-                    @NonNull List<TaskInfo> tasks,
-                    @NonNull Set<Integer> minimizedFreeformTasks) {
-        return new GroupedTaskInfo(tasks, null /* splitBounds */, TYPE_FREEFORM,
-                minimizedFreeformTasks.stream().mapToInt(i -> i).toArray());
+    public static GroupedTaskInfo forDeskTasks(
+            int deskId,
+            @NonNull List<TaskInfo> tasks,
+            @NonNull Set<Integer> minimizedFreeformTaskIds) {
+        return new GroupedTaskInfo(deskId, tasks, /* splitBounds = */ null, TYPE_DESK,
+                minimizedFreeformTaskIds.stream().mapToInt(i -> i).toArray());
     }
 
     /**
@@ -141,10 +148,12 @@
     }
 
     private GroupedTaskInfo(
+            int deskId,
             @NonNull List<TaskInfo> tasks,
             @Nullable SplitBounds splitBounds,
             @GroupType int type,
             @Nullable int[] minimizedFreeformTaskIds) {
+        mDeskId = deskId;
         mTasks = tasks;
         mGroupedTasks = null;
         mSplitBounds = splitBounds;
@@ -154,6 +163,7 @@
     }
 
     private GroupedTaskInfo(@NonNull List<GroupedTaskInfo> groupedTasks) {
+        mDeskId = -1;
         mTasks = null;
         mGroupedTasks = groupedTasks;
         mSplitBounds = null;
@@ -174,6 +184,7 @@
     }
 
     protected GroupedTaskInfo(@NonNull Parcel parcel) {
+        mDeskId = parcel.readInt();
         mTasks = new ArrayList();
         final int numTasks = parcel.readInt();
         for (int i = 0; i < numTasks; i++) {
@@ -274,6 +285,16 @@
     }
 
     /**
+     * Returns the ID of the desk represented by `this` if the type is `TYPE_DESK`, or -1 otherwise.
+     */
+    public int getDeskId() {
+        if (mType == TYPE_MIXED) {
+            throw new IllegalStateException("No desk ID for a mixed task");
+        }
+        return mDeskId;
+    }
+
+    /**
      * Get type of this recents entry. One of {@link GroupType}.
      * Note: This is deprecated, callers should use `isBaseType()` and not make assumptions about
      *       specific group types
@@ -285,7 +306,7 @@
     }
 
     /**
-     * Returns the set of minimized task ids, only valid for TYPE_FREEFORM.
+     * Returns the set of minimized task ids, only valid for TYPE_DESK.
      */
     @Nullable
     public int[] getMinimizedTaskIds() {
@@ -301,7 +322,8 @@
             return false;
         }
         GroupedTaskInfo other = (GroupedTaskInfo) obj;
-        return mType == other.mType
+        return mDeskId == other.mDeskId
+                && mType == other.mType
                 && Objects.equals(mTasks, other.mTasks)
                 && Objects.equals(mGroupedTasks, other.mGroupedTasks)
                 && Objects.equals(mSplitBounds, other.mSplitBounds)
@@ -310,7 +332,7 @@
 
     @Override
     public int hashCode() {
-        return Objects.hash(mType, mTasks, mGroupedTasks, mSplitBounds,
+        return Objects.hash(mDeskId, mType, mTasks, mGroupedTasks, mSplitBounds,
                 Arrays.hashCode(mMinimizedTaskIds));
     }
 
@@ -322,6 +344,7 @@
                     .map(GroupedTaskInfo::toString)
                     .collect(Collectors.joining(",\n\t", "[\n\t", "\n]")));
         } else {
+            taskString.append("Desk ID= ").append(mDeskId).append(", ");
             taskString.append("Tasks=" + mTasks.stream()
                     .map(taskInfo -> getTaskInfoDumpString(taskInfo))
                     .collect(Collectors.joining(", ", "[", "]")));
@@ -353,6 +376,7 @@
 
     @Override
     public void writeToParcel(Parcel parcel, int flags) {
+        parcel.writeInt(mDeskId);
         // We don't use the parcel list methods because we want to only write the TaskInfo state
         // and not the subclasses (Recents/RunningTaskInfo) whose fields are all deprecated
         final int tasksSize = mTasks != null ? mTasks.size() : 0;
@@ -375,7 +399,7 @@
         return switch (type) {
             case TYPE_FULLSCREEN -> "FULLSCREEN";
             case TYPE_SPLIT -> "SPLIT";
-            case TYPE_FREEFORM -> "FREEFORM";
+            case TYPE_DESK -> "DESK";
             case TYPE_MIXED -> "MIXED";
             default -> "UNKNOWN";
         };
diff --git a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/animation/Interpolators.java b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/animation/Interpolators.java
index e92c1eb..43dd9b7 100644
--- a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/animation/Interpolators.java
+++ b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/animation/Interpolators.java
@@ -74,6 +74,12 @@
             0.05f, 0.7f, 0.1f, 1f);
 
     /**
+     * The standard accelerating interpolator that should be used on every regular movement of
+     * content that is disappearing e.g. when moving off screen.
+     */
+    public static final Interpolator STANDARD_ACCELERATE = new PathInterpolator(0.3f, 0f, 1f, 1f);
+
+    /**
      * The standard decelerating interpolator that should be used on every regular movement of
      * content that is appearing e.g. when coming from off screen.
      */
diff --git a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/animation/MinimizeAnimator.kt b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/animation/MinimizeAnimator.kt
index 0586e26..4ecace0 100644
--- a/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/animation/MinimizeAnimator.kt
+++ b/libs/WindowManager/Shell/shared/src/com/android/wm/shell/shared/animation/MinimizeAnimator.kt
@@ -19,52 +19,76 @@
 import android.animation.Animator
 import android.animation.AnimatorSet
 import android.animation.ValueAnimator
-import android.util.DisplayMetrics
+import android.content.Context
+import android.os.Handler
+import android.view.Choreographer
 import android.view.SurfaceControl.Transaction
-import android.view.animation.LinearInterpolator
-import android.view.animation.PathInterpolator
 import android.window.TransitionInfo.Change
+import com.android.internal.jank.Cuj.CUJ_DESKTOP_MODE_MINIMIZE_WINDOW
+import com.android.internal.jank.InteractionJankMonitor
 
 /** Creates minimization animation */
 object MinimizeAnimator {
 
     private const val MINIMIZE_ANIM_ALPHA_DURATION_MS = 100L
 
-    private val STANDARD_ACCELERATE = PathInterpolator(0.3f, 0f, 1f, 1f)
-
     private val minimizeBoundsAnimationDef =
         WindowAnimator.BoundsAnimationParams(
             durationMs = 200,
             endOffsetYDp = 12f,
             endScale = 0.97f,
-            interpolator = STANDARD_ACCELERATE,
+            interpolator = Interpolators.STANDARD_ACCELERATE,
         )
 
+    /**
+     * Creates a minimize animator for given task [Change].
+     *
+     * @param onAnimFinish finish-callback for the animation, note that this is called on the same
+     * thread as the animation itself.
+     * @param animationHandler the Handler that the animation is running on.
+     */
     @JvmStatic
     fun create(
-        displayMetrics: DisplayMetrics,
+        context: Context,
         change: Change,
         transaction: Transaction,
         onAnimFinish: (Animator) -> Unit,
+        interactionJankMonitor: InteractionJankMonitor,
+        animationHandler: Handler,
     ): Animator {
         val boundsAnimator = WindowAnimator.createBoundsAnimator(
-            displayMetrics,
+            context.resources.displayMetrics,
             minimizeBoundsAnimationDef,
             change,
             transaction,
         )
         val alphaAnimator = ValueAnimator.ofFloat(1f, 0f).apply {
             duration = MINIMIZE_ANIM_ALPHA_DURATION_MS
-            interpolator = LinearInterpolator()
+            interpolator = Interpolators.LINEAR
             addUpdateListener { animation ->
-                transaction.setAlpha(change.leash, animation.animatedValue as Float).apply()
+                transaction
+                    .setAlpha(change.leash, animation.animatedValue as Float)
+                    .setFrameTimeline(Choreographer.getInstance().vsyncId)
+                    .apply()
             }
         }
         val listener = object : Animator.AnimatorListener {
-            override fun onAnimationEnd(animator: Animator) = onAnimFinish(animator)
-            override fun onAnimationCancel(animator: Animator) = Unit
+            override fun onAnimationStart(animator: Animator) {
+                interactionJankMonitor.begin(
+                    change.leash,
+                    context,
+                    animationHandler,
+                    CUJ_DESKTOP_MODE_MINIMIZE_WINDOW,
+                )
+            }
+            override fun onAnimationCancel(animator: Animator) {
+                interactionJankMonitor.cancel(CUJ_DESKTOP_MODE_MINIMIZE_WINDOW)
+            }
             override fun onAnimationRepeat(animator: Animator) = Unit
-            override fun onAnimationStart(animator: Animator) = Unit
+            override fun onAnimationEnd(animator: Animator) {
+                interactionJankMonitor.end(CUJ_DESKTOP_MODE_MINIMIZE_WINDOW)
+                onAnimFinish(animator)
+            }
         }
         return AnimatorSet().apply {
             playTogether(boundsAnimator, alphaAnimator)
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationRunner.java b/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationRunner.java
index f269b38..78f5154 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationRunner.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationRunner.java
@@ -364,7 +364,7 @@
             @NonNull SurfaceControl.Transaction finishTransaction,
             @NonNull List<ActivityEmbeddingAnimationAdapter> adapters) {
         for (ActivityEmbeddingAnimationAdapter adapter : adapters) {
-            final int backgroundColor = getTransitionBackgroundColorIfSet(info, adapter.mChange,
+            final int backgroundColor = getTransitionBackgroundColorIfSet(adapter.mChange,
                     adapter.mAnimation, 0 /* defaultColor */);
             if (backgroundColor != 0) {
                 // We only need to show one color.
@@ -436,8 +436,8 @@
             final TransitionInfo.AnimationOptions options = boundsAnimationChange
                     .getAnimationOptions();
             if (options != null) {
-                final Animation overrideAnimation = mAnimationSpec.loadCustomAnimationFromOptions(
-                        options, TRANSIT_CHANGE);
+                final Animation overrideAnimation =
+                        mAnimationSpec.loadCustomAnimation(options, TRANSIT_CHANGE);
                 if (overrideAnimation != null) {
                     overrideShowBackdrop = overrideAnimation.getShowBackdrop();
                 }
@@ -447,7 +447,7 @@
             // There are two animations in the array. The first one is for the start leash
             // (snapshot), and the second one is for the end leash (TaskFragment).
             final Animation[] animations =
-                    mAnimationSpec.createChangeBoundsChangeAnimations(info, change, parentBounds);
+                    mAnimationSpec.createChangeBoundsChangeAnimations(change, parentBounds);
             // Jump cut if either animation has zero for duration.
             for (Animation animation : animations) {
                 if (shouldUseJumpCutForAnimation(animation)) {
@@ -500,12 +500,10 @@
                 // window without bounds change.
                 animation = ActivityEmbeddingAnimationSpec.createNoopAnimation(change);
             } else if (TransitionUtil.isClosingType(change.getMode())) {
-                animation =
-                        mAnimationSpec.createChangeBoundsCloseAnimation(info, change, parentBounds);
+                animation = mAnimationSpec.createChangeBoundsCloseAnimation(change, parentBounds);
                 shouldShowBackgroundColor = false;
             } else {
-                animation =
-                        mAnimationSpec.createChangeBoundsOpenAnimation(info, change, parentBounds);
+                animation = mAnimationSpec.createChangeBoundsOpenAnimation(change, parentBounds);
                 shouldShowBackgroundColor = false;
             }
             if (shouldUseJumpCutForAnimation(animation)) {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationSpec.java b/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationSpec.java
index 77799e9..2b9eda4 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationSpec.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationSpec.java
@@ -42,7 +42,6 @@
 import android.window.TransitionInfo;
 
 import com.android.internal.policy.TransitionAnimation;
-import com.android.window.flags.Flags;
 import com.android.wm.shell.shared.TransitionUtil;
 
 /** Animation spec for ActivityEmbedding transition. */
@@ -94,9 +93,10 @@
 
     /** Animation for window that is opening in a change transition. */
     @NonNull
-    Animation createChangeBoundsOpenAnimation(@NonNull TransitionInfo info,
-            @NonNull TransitionInfo.Change change, @NonNull Rect parentBounds) {
-        final Animation customAnimation = loadCustomAnimation(info, change, TRANSIT_CHANGE);
+    Animation createChangeBoundsOpenAnimation(@NonNull TransitionInfo.Change change,
+            @NonNull Rect parentBounds) {
+        final Animation customAnimation =
+                loadCustomAnimation(change.getAnimationOptions(), TRANSIT_CHANGE);
         if (customAnimation != null) {
             return customAnimation;
         }
@@ -126,9 +126,10 @@
 
     /** Animation for window that is closing in a change transition. */
     @NonNull
-    Animation createChangeBoundsCloseAnimation(@NonNull TransitionInfo info,
-            @NonNull TransitionInfo.Change change, @NonNull Rect parentBounds) {
-        final Animation customAnimation = loadCustomAnimation(info, change, TRANSIT_CHANGE);
+    Animation createChangeBoundsCloseAnimation(@NonNull TransitionInfo.Change change,
+            @NonNull Rect parentBounds) {
+        final Animation customAnimation =
+                loadCustomAnimation(change.getAnimationOptions(), TRANSIT_CHANGE);
         if (customAnimation != null) {
             return customAnimation;
         }
@@ -162,12 +163,13 @@
      *         the second one is for the end leash.
      */
     @NonNull
-    Animation[] createChangeBoundsChangeAnimations(@NonNull TransitionInfo info,
-            @NonNull TransitionInfo.Change change, @NonNull Rect parentBounds) {
+    Animation[] createChangeBoundsChangeAnimations(@NonNull TransitionInfo.Change change,
+            @NonNull Rect parentBounds) {
         // TODO(b/293658614): Support more complicated animations that may need more than a noop
         // animation as the start leash.
         final Animation noopAnimation = createNoopAnimation(change);
-        final Animation customAnimation = loadCustomAnimation(info, change, TRANSIT_CHANGE);
+        final Animation customAnimation =
+                loadCustomAnimation(change.getAnimationOptions(), TRANSIT_CHANGE);
         if (customAnimation != null) {
             return new Animation[]{noopAnimation, customAnimation};
         }
@@ -221,7 +223,8 @@
     Animation loadOpenAnimation(@NonNull TransitionInfo info,
             @NonNull TransitionInfo.Change change, @NonNull Rect wholeAnimationBounds) {
         final boolean isEnter = TransitionUtil.isOpeningType(change.getMode());
-        final Animation customAnimation = loadCustomAnimation(info, change, change.getMode());
+        final Animation customAnimation =
+                loadCustomAnimation(change.getAnimationOptions(), change.getMode());
         final Animation animation;
         if (customAnimation != null) {
             animation = customAnimation;
@@ -248,7 +251,8 @@
     Animation loadCloseAnimation(@NonNull TransitionInfo info,
             @NonNull TransitionInfo.Change change, @NonNull Rect wholeAnimationBounds) {
         final boolean isEnter = TransitionUtil.isOpeningType(change.getMode());
-        final Animation customAnimation = loadCustomAnimation(info, change, change.getMode());
+        final Animation customAnimation =
+                loadCustomAnimation(change.getAnimationOptions(), change.getMode());
         final Animation animation;
         if (customAnimation != null) {
             animation = customAnimation;
@@ -280,20 +284,8 @@
     }
 
     @Nullable
-    private Animation loadCustomAnimation(@NonNull TransitionInfo info,
-            @NonNull TransitionInfo.Change change, @WindowManager.TransitionType int mode) {
-        final TransitionInfo.AnimationOptions options;
-        if (Flags.moveAnimationOptionsToChange()) {
-            options = change.getAnimationOptions();
-        } else {
-            options = info.getAnimationOptions();
-        }
-        return loadCustomAnimationFromOptions(options, mode);
-    }
-
-    @Nullable
-    Animation loadCustomAnimationFromOptions(@Nullable TransitionInfo.AnimationOptions options,
-             @WindowManager.TransitionType int mode) {
+    Animation loadCustomAnimation(@Nullable TransitionInfo.AnimationOptions options,
+            @WindowManager.TransitionType int mode) {
         if (options == null || options.getType() != ANIM_CUSTOM) {
             return null;
         }
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingController.java
index 55ed5fa..3a95333 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/activityembedding/ActivityEmbeddingController.java
@@ -40,7 +40,6 @@
 import androidx.annotation.Nullable;
 
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.window.flags.Flags;
 import com.android.wm.shell.shared.TransitionUtil;
 import com.android.wm.shell.sysui.ShellInit;
 import com.android.wm.shell.transition.Transitions;
@@ -123,9 +122,6 @@
     }
 
     private boolean shouldAnimateAnimationOptions(@NonNull TransitionInfo info) {
-        if (!Flags.moveAnimationOptionsToChange()) {
-            return shouldAnimateAnimationOptions(info.getAnimationOptions());
-        }
         for (TransitionInfo.Change change : info.getChanges()) {
             if (!shouldAnimateAnimationOptions(change.getAnimationOptions())) {
                 // If any of override animation is not supported, don't animate the transition.
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubble.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubble.java
index d948928..313d151 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubble.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubble.java
@@ -364,7 +364,7 @@
             @ShellMainThread Executor mainExecutor, @ShellBackgroundThread Executor bgExecutor) {
         return new Bubble(intent,
                 user,
-                /* key= */ getAppBubbleKeyForApp(ComponentUtils.getPackageName(intent), user),
+                /* key= */ getAppBubbleKeyForApp(intent.getIntent().getPackage(), user),
                 mainExecutor, bgExecutor);
     }
 
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleExpandedView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleExpandedView.java
index 3f607a9..2c2451c 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleExpandedView.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleExpandedView.java
@@ -197,6 +197,8 @@
      */
     private final FrameLayout mExpandedViewContainer = new FrameLayout(getContext());
 
+    private TaskView.Listener mCurrentTaskViewListener;
+
     private final TaskView.Listener mTaskViewListener = new TaskView.Listener() {
         private boolean mInitialized = false;
         private boolean mDestroyed = false;
@@ -235,18 +237,24 @@
                         Context context =
                                 mContext.createContextAsUser(
                                         mBubble.getUser(), Context.CONTEXT_RESTRICTED);
+                        Intent fillInIntent = new Intent();
+                        fillInIntent.addFlags(FLAG_ACTIVITY_MULTIPLE_TASK);
                         PendingIntent pi = PendingIntent.getActivity(
                                 context,
                                 /* requestCode= */ 0,
-                                mBubble.getIntent().addFlags(FLAG_ACTIVITY_MULTIPLE_TASK),
-                                PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT,
+                                mBubble.getIntent(),
+                                // Needs to be mutable for the fillInIntent
+                                PendingIntent.FLAG_MUTABLE | PendingIntent.FLAG_UPDATE_CURRENT,
                                 /* options= */ null);
-                        mTaskView.startActivity(pi, /* fillInIntent= */ null, options,
-                                launchBounds);
+                        mTaskView.startActivity(pi, fillInIntent, options, launchBounds);
                     } else if (!mIsOverflow && isShortcutBubble) {
                         ProtoLog.v(WM_SHELL_BUBBLES, "startingShortcutBubble=%s", getBubbleKey());
-                        options.setLaunchedFromBubble(true);
-                        options.setApplyActivityFlagsForBubbles(true);
+                        if (mBubble.isChat()) {
+                            options.setLaunchedFromBubble(true);
+                            options.setApplyActivityFlagsForBubbles(true);
+                        } else {
+                            options.setApplyMultipleTaskFlagForShortcut(true);
+                        }
                         mTaskView.startShortcutActivity(mBubble.getShortcutInfo(),
                                 options, launchBounds);
                     } else {
@@ -453,7 +461,34 @@
             mTaskView = bubbleTaskView.getTaskView();
             // reset the insets that might left after TaskView is shown in BubbleBarExpandedView
             mTaskView.setCaptionInsets(null);
-            bubbleTaskView.setDelegateListener(mTaskViewListener);
+            if (Flags.enableBubbleTaskViewListener()) {
+                mCurrentTaskViewListener = new BubbleTaskViewListener(mContext, bubbleTaskView,
+                        /* viewParent= */ this, expandedViewManager,
+                        new BubbleTaskViewListener.Callback() {
+                            @Override
+                            public void onTaskCreated() {
+                                setContentVisibility(true);
+                            }
+
+                            @Override
+                            public void onContentVisibilityChanged(boolean visible) {
+                                setContentVisibility(visible);
+                            }
+
+                            @Override
+                            public void onBackPressed() {
+                                mStackView.onBackPressed();
+                            }
+
+                            @Override
+                            public void onTaskRemovalStarted() {
+                                // nothing to do / handled in listener.
+                            }
+                        });
+            } else {
+                mCurrentTaskViewListener = mTaskViewListener;
+                bubbleTaskView.setDelegateListener(mCurrentTaskViewListener);
+            }
 
             // set a fixed width so it is not recalculated as part of a rotation. the width will be
             // updated manually after the rotation.
@@ -464,9 +499,12 @@
             }
             mExpandedViewContainer.addView(mTaskView, lp);
             bringChildToFront(mTaskView);
-            if (bubbleTaskView.isCreated()) {
-                mTaskViewListener.onTaskCreated(
-                        bubbleTaskView.getTaskId(), bubbleTaskView.getComponentName());
+
+            if (!Flags.enableBubbleTaskViewListener()) {
+                if (bubbleTaskView.isCreated()) {
+                    mCurrentTaskViewListener.onTaskCreated(
+                            bubbleTaskView.getTaskId(), bubbleTaskView.getComponentName());
+                }
             }
         }
     }
@@ -897,7 +935,12 @@
             Log.w(TAG, "Stack is null for bubble: " + bubble);
             return;
         }
-        boolean isNew = mBubble == null || didBackingContentChange(bubble);
+        boolean isNew;
+        if (mCurrentTaskViewListener instanceof BubbleTaskViewListener) {
+            isNew = ((BubbleTaskViewListener) mCurrentTaskViewListener).setBubble(bubble);
+        } else {
+            isNew = mBubble == null || didBackingContentChange(bubble);
+        }
         boolean isUpdate = bubble != null && mBubble != null
                 && bubble.getKey().equals(mBubble.getKey());
         ProtoLog.d(WM_SHELL_BUBBLES, "BubbleExpandedView - update bubble=%s; isNew=%b; isUpdate=%b",
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleTaskViewListener.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleTaskViewListener.java
index a38debb..63d7134 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleTaskViewListener.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleTaskViewListener.java
@@ -129,27 +129,28 @@
                     Context context =
                             mContext.createContextAsUser(
                                     mBubble.getUser(), Context.CONTEXT_RESTRICTED);
-                    Intent fillInIntent = null;
+                    Intent fillInIntent = new Intent();
+                    fillInIntent.addFlags(FLAG_ACTIVITY_MULTIPLE_TASK);
                     // First try get pending intent from the bubble
                     PendingIntent pi = mBubble.getPendingIntent();
                     if (pi == null) {
-                        // If null - create new one
+                        // If null - create new one based on the bubble intent
                         pi = PendingIntent.getActivity(
                                 context,
                                 /* requestCode= */ 0,
-                                mBubble.getIntent()
-                                        .addFlags(FLAG_ACTIVITY_MULTIPLE_TASK),
-                                PendingIntent.FLAG_IMMUTABLE
-                                        | PendingIntent.FLAG_UPDATE_CURRENT,
+                                mBubble.getIntent(),
+                                // Needs to be mutable for the fillInIntent
+                                PendingIntent.FLAG_MUTABLE | PendingIntent.FLAG_UPDATE_CURRENT,
                                 /* options= */ null);
-                    } else {
-                        fillInIntent = new Intent(pi.getIntent());
-                        fillInIntent.addFlags(FLAG_ACTIVITY_MULTIPLE_TASK);
                     }
                     mTaskView.startActivity(pi, fillInIntent, options, launchBounds);
                 } else if (isShortcutBubble) {
-                    options.setLaunchedFromBubble(true);
-                    options.setApplyActivityFlagsForBubbles(true);
+                    if (mBubble.isChat()) {
+                        options.setLaunchedFromBubble(true);
+                        options.setApplyActivityFlagsForBubbles(true);
+                    } else {
+                        options.setApplyMultipleTaskFlagForShortcut(true);
+                    }
                     mTaskView.startShortcutActivity(mBubble.getShortcutInfo(),
                             options, launchBounds);
                 } else {
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleTransitions.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleTransitions.java
index a676f41..338ffe7 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleTransitions.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleTransitions.java
@@ -21,6 +21,7 @@
 import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
 import static android.view.View.INVISIBLE;
 import static android.view.WindowManager.TRANSIT_CHANGE;
+import static android.view.WindowManager.TRANSIT_TO_FRONT;
 
 import static com.android.wm.shell.transition.Transitions.TRANSIT_CONVERT_TO_BUBBLE;
 
@@ -325,7 +326,7 @@
             for (int i = 0; i < info.getChanges().size(); ++i) {
                 final TransitionInfo.Change chg = info.getChanges().get(i);
                 if (chg.getTaskInfo() == null) continue;
-                if (chg.getMode() != TRANSIT_CHANGE) continue;
+                if (chg.getMode() != TRANSIT_CHANGE && chg.getMode() != TRANSIT_TO_FRONT) continue;
                 if (!mTaskInfo.token.equals(chg.getTaskInfo().token)) continue;
                 mStartBounds.set(chg.getStartAbsBounds());
                 // Converting a task into taskview, so treat as "new"
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayImeController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayImeController.java
index 87a4115..df82091 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayImeController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/DisplayImeController.java
@@ -227,7 +227,13 @@
     /** Hides the IME for Bubbles when the device is locked. */
     public void hideImeForBubblesWhenLocked(int displayId) {
         PerDisplay pd = mImePerDisplay.get(displayId);
-        pd.setImeInputTargetRequestedVisibility(false, pd.getImeSourceControl().getImeStatsToken());
+        InsetsSourceControl imeSourceControl = pd.getImeSourceControl();
+        if (imeSourceControl != null) {
+            ImeTracker.Token imeStatsToken = imeSourceControl.getImeStatsToken();
+            if (imeStatsToken != null) {
+                pd.setImeInputTargetRequestedVisibility(false, imeStatsToken);
+            }
+        }
     }
 
     /** An implementation of {@link IDisplayWindowInsetsController} for a given display id. */
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipBoundsAlgorithm.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipBoundsAlgorithm.java
index 8e026f0..04e8d8d 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipBoundsAlgorithm.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/pip/PipBoundsAlgorithm.java
@@ -24,6 +24,7 @@
 import android.content.res.Resources;
 import android.graphics.Rect;
 import android.util.DisplayMetrics;
+import android.util.Rational;
 import android.util.Size;
 import android.view.Gravity;
 
@@ -41,9 +42,6 @@
     private static final String TAG = PipBoundsAlgorithm.class.getSimpleName();
     private static final float INVALID_SNAP_FRACTION = -1f;
 
-    // The same value (with the same name) is used in Launcher.
-    private static final float PIP_ASPECT_RATIO_MISMATCH_THRESHOLD = 0.01f;
-
     @NonNull private final PipBoundsState mPipBoundsState;
     @NonNull protected final PipDisplayLayoutState mPipDisplayLayoutState;
     @NonNull protected final SizeSpecSource mSizeSpecSource;
@@ -223,9 +221,8 @@
                             + " than destination(%s)", sourceRectHint, destinationBounds);
             return false;
         }
-        final float reportedRatio = destinationBounds.width() / (float) destinationBounds.height();
-        final float inferredRatio = sourceRectHint.width() / (float) sourceRectHint.height();
-        if (Math.abs(reportedRatio - inferredRatio) > PIP_ASPECT_RATIO_MISMATCH_THRESHOLD) {
+        if (!PictureInPictureParams.isSameAspectRatio(sourceRectHint,
+                new Rational(destinationBounds.width(), destinationBounds.height()))) {
             ProtoLog.d(ShellProtoLogGroup.WM_SHELL_PICTURE_IN_PICTURE,
                     "isSourceRectHintValidForEnterPip=false, hint(%s) does not match"
                             + " destination(%s) aspect ratio", sourceRectHint, destinationBounds);
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellConcurrencyModule.java b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellConcurrencyModule.java
index ee3e39e..e9dc613 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellConcurrencyModule.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellConcurrencyModule.java
@@ -162,22 +162,31 @@
         }
     }
 
+    /** Provide a Shell animation-thread Handler. */
+    @WMSingleton
+    @Provides
+    @ShellAnimationThread
+    public static Handler provideShellAnimationHandler() {
+        HandlerThread animThread = new HandlerThread("wmshell.anim", THREAD_PRIORITY_DISPLAY);
+        animThread.start();
+        if (Build.IS_DEBUGGABLE) {
+            animThread.getLooper().setTraceTag(Trace.TRACE_TAG_WINDOW_MANAGER);
+            animThread.getLooper().setSlowLogThresholdMs(MSGQ_SLOW_DISPATCH_THRESHOLD_MS,
+                    MSGQ_SLOW_DELIVERY_THRESHOLD_MS);
+        }
+        return Handler.createAsync(animThread.getLooper());
+    }
+
     /**
      * Provide a Shell animation-thread Executor.
      */
     @WMSingleton
     @Provides
     @ShellAnimationThread
-    public static ShellExecutor provideShellAnimationExecutor() {
-         HandlerThread shellAnimationThread = new HandlerThread("wmshell.anim",
-                 THREAD_PRIORITY_DISPLAY);
-         shellAnimationThread.start();
-        if (Build.IS_DEBUGGABLE) {
-            shellAnimationThread.getLooper().setTraceTag(Trace.TRACE_TAG_WINDOW_MANAGER);
-            shellAnimationThread.getLooper().setSlowLogThresholdMs(MSGQ_SLOW_DISPATCH_THRESHOLD_MS,
-                    MSGQ_SLOW_DELIVERY_THRESHOLD_MS);
-        }
-         return new HandlerExecutor(Handler.createAsync(shellAnimationThread.getLooper()));
+    public static ShellExecutor provideShellAnimationExecutor(
+            @ShellAnimationThread Handler animHandler
+    ) {
+        return new HandlerExecutor(animHandler);
     }
 
     /**
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java
index 5a246e7..5d5e4d3 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java
@@ -431,9 +431,10 @@
             Transitions transitions,
             DisplayController displayController,
             @ShellMainThread ShellExecutor mainExecutor,
-            @ShellAnimationThread ShellExecutor animExecutor) {
+            @ShellAnimationThread ShellExecutor animExecutor,
+            @ShellAnimationThread Handler animHandler) {
         return new FreeformTaskTransitionHandler(
-                transitions, displayController, mainExecutor, animExecutor);
+                transitions, displayController, mainExecutor, animExecutor, animHandler);
     }
 
     @WMSingleton
@@ -1101,8 +1102,9 @@
             Context context,
             @ShellMainThread ShellExecutor mainExecutor,
             @ShellAnimationThread ShellExecutor animExecutor,
-            @ShellMainThread Handler handler) {
-        return new CloseDesktopTaskTransitionHandler(context, mainExecutor, animExecutor, handler);
+            @ShellAnimationThread Handler animHandler) {
+        return new CloseDesktopTaskTransitionHandler(context, mainExecutor, animExecutor,
+                animHandler);
     }
 
     @WMSingleton
@@ -1110,9 +1112,10 @@
     static DesktopMinimizationTransitionHandler provideDesktopMinimizationTransitionHandler(
             @ShellMainThread ShellExecutor mainExecutor,
             @ShellAnimationThread ShellExecutor animExecutor,
-            DisplayController displayController) {
+            DisplayController displayController,
+            @ShellAnimationThread Handler mainHandler) {
         return new DesktopMinimizationTransitionHandler(mainExecutor, animExecutor,
-                displayController);
+                displayController, mainHandler);
     }
 
     @WMSingleton
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/CloseDesktopTaskTransitionHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/CloseDesktopTaskTransitionHandler.kt
index 1ce093e..b22a46e 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/CloseDesktopTaskTransitionHandler.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/CloseDesktopTaskTransitionHandler.kt
@@ -37,7 +37,6 @@
 import com.android.internal.jank.Cuj.CUJ_DESKTOP_MODE_CLOSE_TASK
 import com.android.internal.jank.InteractionJankMonitor
 import com.android.wm.shell.common.ShellExecutor
-import com.android.wm.shell.shared.annotations.ShellMainThread
 import com.android.wm.shell.transition.Transitions
 import java.util.function.Supplier
 
@@ -49,7 +48,7 @@
     private val mainExecutor: ShellExecutor,
     private val animExecutor: ShellExecutor,
     private val transactionSupplier: Supplier<Transaction> = Supplier { Transaction() },
-    @ShellMainThread private val handler: Handler,
+    private val animHandler: Handler,
 ) : Transitions.TransitionHandler {
 
     private val runningAnimations = mutableMapOf<IBinder, List<Animator>>()
@@ -95,7 +94,7 @@
             interactionJankMonitor.begin(
                 lastChangeLeash,
                 context,
-                handler,
+                animHandler,
                 CUJ_DESKTOP_MODE_CLOSE_TASK,
             )
         }
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopMinimizationTransitionHandler.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopMinimizationTransitionHandler.kt
index 728638d..7074e8b 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopMinimizationTransitionHandler.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopMinimizationTransitionHandler.kt
@@ -18,14 +18,17 @@
 
 import android.animation.Animator
 import android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM
+import android.os.Handler
 import android.os.IBinder
-import android.util.DisplayMetrics
 import android.view.SurfaceControl.Transaction
 import android.window.TransitionInfo
 import android.window.TransitionRequestInfo
 import android.window.WindowContainerTransaction
+import com.android.internal.jank.InteractionJankMonitor
+import com.android.internal.protolog.ProtoLog
 import com.android.wm.shell.common.DisplayController
 import com.android.wm.shell.common.ShellExecutor
+import com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_DESKTOP_MODE
 import com.android.wm.shell.shared.TransitionUtil
 import com.android.wm.shell.shared.animation.MinimizeAnimator.create
 import com.android.wm.shell.transition.Transitions
@@ -41,6 +44,7 @@
     private val mainExecutor: ShellExecutor,
     private val animExecutor: ShellExecutor,
     private val displayController: DisplayController,
+    private val animHandler: Handler,
 ) : Transitions.TransitionHandler {
 
     /** Shouldn't handle anything */
@@ -90,10 +94,30 @@
         val t = Transaction()
         val sc = change.leash
         finishTransaction.hide(sc)
-        val displayMetrics: DisplayMetrics? =
-            change.taskInfo?.let {
-                displayController.getDisplayContext(it.displayId)?.getResources()?.displayMetrics
-            }
-        return displayMetrics?.let { create(it, change, t, onAnimFinish) }
+        val displayContext =
+            change.taskInfo?.let { displayController.getDisplayContext(it.displayId) }
+        if (displayContext == null) {
+            logW(
+                "displayContext is null for taskId=${change.taskInfo?.taskId}, " +
+                    "displayId=${change.taskInfo?.displayId}"
+            )
+            return null
+        }
+        return create(
+            displayContext,
+            change,
+            t,
+            onAnimFinish,
+            InteractionJankMonitor.getInstance(),
+            animHandler,
+        )
+    }
+
+    private companion object {
+        private fun logW(msg: String, vararg arguments: Any?) {
+            ProtoLog.w(WM_SHELL_DESKTOP_MODE, "%s: $msg", TAG, *arguments)
+        }
+
+        const val TAG = "DesktopMinimizationTransitionHandler"
     }
 }
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopRepository.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopRepository.kt
index 7c6cf4a..926e0f2 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopRepository.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopRepository.kt
@@ -217,6 +217,9 @@
     fun getDeskIds(displayId: Int): Set<Int> =
         desktopData.desksSequence(displayId).map { desk -> desk.deskId }.toSet()
 
+    /** Returns all the ids of all desks in all displays. */
+    fun getAllDeskIds(): Set<Int> = desktopData.desksSequence().map { desk -> desk.deskId }.toSet()
+
     /** Returns the id of the default desk in the given display. */
     fun getDefaultDeskId(displayId: Int): Int? = getDefaultDesk(displayId)?.deskId
 
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
index 45adfe4..87d9674 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksController.kt
@@ -1079,7 +1079,8 @@
         )
     }
 
-    private fun startLaunchTransition(
+    @VisibleForTesting
+    fun startLaunchTransition(
         transitionType: Int,
         wct: WindowContainerTransaction,
         launchingTaskId: Int?,
@@ -1087,34 +1088,52 @@
         displayId: Int = DEFAULT_DISPLAY,
         unminimizeReason: UnminimizeReason = UnminimizeReason.UNKNOWN,
     ): IBinder {
+        // TODO: b/397619806 - Consolidate sharable logic with [handleFreeformTaskLaunch].
+        var launchTransaction = wct
         val taskIdToMinimize =
             addAndGetMinimizeChanges(
                 displayId,
-                wct,
+                launchTransaction,
                 newTaskId = launchingTaskId,
                 launchingNewIntent = launchingTaskId == null,
             )
         val exitImmersiveResult =
             desktopImmersiveController.exitImmersiveIfApplicable(
-                wct = wct,
+                wct = launchTransaction,
                 displayId = displayId,
                 excludeTaskId = launchingTaskId,
                 reason = DesktopImmersiveController.ExitReason.TASK_LAUNCH,
             )
+        var deskIdToActivate: Int? = null
+        if (
+            DesktopExperienceFlags.ENABLE_DISPLAY_WINDOWING_MODE_SWITCHING.isTrue &&
+                !isDesktopModeShowing(displayId)
+        ) {
+            deskIdToActivate =
+                checkNotNull(
+                    launchingTaskId?.let { taskRepository.getDeskIdForTask(it) }
+                        ?: getDefaultDeskId(displayId)
+                )
+            val activateDeskWct = WindowContainerTransaction()
+            addDeskActivationChanges(deskIdToActivate, activateDeskWct)
+            // Desk activation must be handled before app launch-related transactions.
+            activateDeskWct.merge(launchTransaction, /* transfer= */ true)
+            launchTransaction = activateDeskWct
+        }
         val t =
             if (remoteTransition == null) {
                 desktopMixedTransitionHandler.startLaunchTransition(
                     transitionType = transitionType,
-                    wct = wct,
+                    wct = launchTransaction,
                     taskId = launchingTaskId,
                     minimizingTaskId = taskIdToMinimize,
                     exitingImmersiveTask = exitImmersiveResult.asExit()?.exitingTask,
                 )
             } else if (taskIdToMinimize == null) {
                 val remoteTransitionHandler = OneShotRemoteHandler(mainExecutor, remoteTransition)
-                transitions.startTransition(transitionType, wct, remoteTransitionHandler).also {
-                    remoteTransitionHandler.setTransition(it)
-                }
+                transitions
+                    .startTransition(transitionType, launchTransaction, remoteTransitionHandler)
+                    .also { remoteTransitionHandler.setTransition(it) }
             } else {
                 val remoteTransitionHandler =
                     DesktopWindowLimitRemoteHandler(
@@ -1123,9 +1142,9 @@
                         remoteTransition,
                         taskIdToMinimize,
                     )
-                transitions.startTransition(transitionType, wct, remoteTransitionHandler).also {
-                    remoteTransitionHandler.setTransition(it)
-                }
+                transitions
+                    .startTransition(transitionType, launchTransaction, remoteTransitionHandler)
+                    .also { remoteTransitionHandler.setTransition(it) }
             }
         if (taskIdToMinimize != null) {
             addPendingMinimizeTransition(t, taskIdToMinimize, MinimizeReason.TASK_LIMIT)
@@ -1133,6 +1152,24 @@
         if (launchingTaskId != null && taskRepository.isMinimizedTask(launchingTaskId)) {
             addPendingUnminimizeTransition(t, displayId, launchingTaskId, unminimizeReason)
         }
+        if (
+            DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue &&
+                deskIdToActivate != null
+        ) {
+            if (DesktopExperienceFlags.ENABLE_DISPLAY_WINDOWING_MODE_SWITCHING.isTrue) {
+                desksTransitionObserver.addPendingTransition(
+                    DeskTransition.ActivateDesk(
+                        token = t,
+                        displayId = displayId,
+                        deskId = deskIdToActivate,
+                    )
+                )
+            }
+
+            desktopModeEnterExitTransitionListener?.onEnterDesktopModeTransitionStarted(
+                FREEFORM_ANIMATION_DURATION
+            )
+        }
         exitImmersiveResult.asExit()?.runOnTransitionStart?.invoke(t)
         return t
     }
@@ -1708,6 +1745,9 @@
                 launchWindowingMode = WINDOWING_MODE_FULLSCREEN
                 pendingIntentBackgroundActivityStartMode =
                     ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOW_ALWAYS
+                if (Flags.enablePerDisplayDesktopWallpaperActivity()) {
+                    launchDisplayId = displayId
+                }
             }
         val pendingIntent =
             PendingIntent.getActivityAsUser(
@@ -2704,10 +2744,9 @@
         activateDesk(deskId, remoteTransition)
     }
 
-    /** Activates the given desk. */
-    fun activateDesk(deskId: Int, remoteTransition: RemoteTransition? = null) {
+    /** Activates the given desk but without starting a transition. */
+    fun addDeskActivationChanges(deskId: Int, wct: WindowContainerTransaction) {
         val displayId = taskRepository.getDisplayForDesk(deskId)
-        val wct = WindowContainerTransaction()
         if (DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue) {
             prepareForDeskActivation(displayId, wct)
             desksOrganizer.activateDesk(wct, deskId)
@@ -2720,6 +2759,13 @@
         } else {
             bringDesktopAppsToFront(displayId, wct)
         }
+    }
+
+    /** Activates the given desk. */
+    fun activateDesk(deskId: Int, remoteTransition: RemoteTransition? = null) {
+        val displayId = taskRepository.getDisplayForDesk(deskId)
+        val wct = WindowContainerTransaction()
+        addDeskActivationChanges(deskId, wct)
 
         val transitionType = transitionType(remoteTransition)
         val handler =
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt
index 81b136d..f9ab359 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/desktopmode/DesktopTasksLimiter.kt
@@ -26,7 +26,6 @@
 import android.window.TransitionInfo
 import android.window.WindowContainerTransaction
 import androidx.annotation.VisibleForTesting
-import com.android.internal.jank.Cuj.CUJ_DESKTOP_MODE_MINIMIZE_WINDOW
 import com.android.internal.jank.InteractionJankMonitor
 import com.android.internal.protolog.ProtoLog
 import com.android.wm.shell.ShellTaskOrganizer
@@ -176,28 +175,13 @@
             return taskChange.mode == TRANSIT_TO_BACK
         }
 
-        override fun onTransitionStarting(transition: IBinder) {
-            val mActiveTaskDetails = activeTransitionTokensAndTasks[transition]
-            val info = mActiveTaskDetails?.transitionInfo ?: return
-            val minimizeChange = getMinimizeChange(info, mActiveTaskDetails.taskId) ?: return
-            // Begin minimize window CUJ instrumentation.
-            interactionJankMonitor.begin(
-                minimizeChange.leash,
-                context,
-                handler,
-                CUJ_DESKTOP_MODE_MINIMIZE_WINDOW,
-            )
-        }
-
         private fun getMinimizeChange(info: TransitionInfo, taskId: Int): TransitionInfo.Change? =
             info.changes.find { change ->
                 change.taskInfo?.taskId == taskId && change.mode == TRANSIT_TO_BACK
             }
 
         override fun onTransitionMerged(merged: IBinder, playing: IBinder) {
-            if (activeTransitionTokensAndTasks.remove(merged) != null) {
-                interactionJankMonitor.end(CUJ_DESKTOP_MODE_MINIMIZE_WINDOW)
-            }
+            activeTransitionTokensAndTasks.remove(merged)
             pendingTransitionTokensAndTasks.remove(merged)?.let { taskToTransfer ->
                 pendingTransitionTokensAndTasks[playing] = taskToTransfer
             }
@@ -209,13 +193,6 @@
         }
 
         override fun onTransitionFinished(transition: IBinder, aborted: Boolean) {
-            if (activeTransitionTokensAndTasks.remove(transition) != null) {
-                if (aborted) {
-                    interactionJankMonitor.cancel(CUJ_DESKTOP_MODE_MINIMIZE_WINDOW)
-                } else {
-                    interactionJankMonitor.end(CUJ_DESKTOP_MODE_MINIMIZE_WINDOW)
-                }
-            }
             pendingTransitionTokensAndTasks.remove(transition)
             activeUnminimizeTransitionTokensAndTasks.remove(transition)
             pendingUnminimizeTransitionTokensAndTasks.remove(transition)
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/docs/README.md b/libs/WindowManager/Shell/src/com/android/wm/shell/docs/README.md
index 3fad28a..a98ae55 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/docs/README.md
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/docs/README.md
@@ -9,6 +9,7 @@
 4) [Threading model in the Shell](threading.md)
 5) [Making changes in the Shell](changes.md)
 6) [Extending the Shell for Products/OEMs](extending.md)
+6) [Shell transitions](transitions.md)
 7) [Debugging in the Shell](debugging.md)
 8) [Testing in the Shell](testing.md)
 
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/docs/transitions.md b/libs/WindowManager/Shell/src/com/android/wm/shell/docs/transitions.md
new file mode 100644
index 0000000..dc23bb0
--- /dev/null
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/docs/transitions.md
@@ -0,0 +1,118 @@
+# Shell transitions
+[Back to home](README.md)
+
+---
+
+## General
+
+General guides for using Shell Transitions can be found here:
+- [Shell transitions animation guide](http://go/shell-transit-anim)
+- [Hitchhiker's guide to transitions](http://go/transitions-book)
+
+## Transient-launch transitions
+<span style="color:orange">Use with care!</span>
+
+Transient-launch transitions are a way to handle non-atomic (ie. gestural) transitions by allowing
+WM Core to put participating activities into a transiently visible or hidden state for the duration
+of the animation and adding the ability to cancel the transition.  
+
+For example, if you are launching an activity normally, WM Core will be updated
+at the start of the animation which includes pausing the previous activity and resuming the next
+activity (and subsequently the transition will reconcile that state via an animation).
+
+If you are transiently launching an activity though, WM Core will ensure that both the leaving 
+activity and the incoming activity will be RESUMED for the duration of the transition duration. In
+addition, WM Core will track the position of the transient-launch activity in the window hierarchy
+prior to the launch, and allow Shell to restore it to that position if the transitions needs to be
+canceled.
+
+Starting a transient-launch transition can be done via the activity options (since the activity may
+not have been started yet):
+```kotlin
+val opts = ActivityOptions.makeBasic().setTransientLaunch()
+val wct = WindowContainerTransaction()
+wct.sendPendingIntent(pendingIntent, new Intent(), opts.toBundle())
+transitions.startTransition(TRANSIT_OPEN, wct, ...)
+```
+
+And restoring the transient order via a WCT:
+```kotlin
+val wct = WindowContainerTransaction()
+wct.restoreTransientOrder(transientLaunchContainerToken)
+transitions.startTransition(TRANSIT_RESTORE, wct, ...)
+```
+
+### <span style="color:orange">Considerations</span>
+
+Usage of transient-launch transitions should be done with consideration, there are a few gotchas
+that might result in subtle and hard-to-reproduce issues. 
+
+#### Understanding the flow
+When starting a transient-launch transition, there are several possible outcomes:
+1) The transition finishes as normal: The user is committing the transition to the state requested
+   at the start of the transition.  In such cases, you can simply finish the transition and the
+   states of the transiently shown/hidden activities will be updated to match the original state
+   that a non-transient transition would have (ie. closing activities will be stopped).
+
+2) The transition is interrupted: A change in the system results in the window hierarchy changing
+   in a way which may or may not affect the transient-launch activity.  eg. We transiently-launch
+   home from app A, but then app B launches.  In this case, WM attempts to create a new transition
+   reflecting the window hierarchy changes (ie. if B occludes Home in the above example, then the
+   transition will have Home TO_BACK, and B TO_FRONT).
+
+   At this point, the transition handler can choose to merge the incoming transition or not (to
+   queue it after this current transition).  Take note of the next section for concerns re. bookend
+   transitions.
+
+3) The transition is canceled: The user is canceling the transition to the previous state.  In such
+   cases, you need to store the `WindowContainerToken` for the task associated with the 
+   transient-launch activity, and restore the transient order via the `WindowContainerTransaction`
+   API above.  In some cases, if anything has been reordered since (ie. due to other merged 
+   transitions), then you may also want to use `WindowContainerTransaction#reorder()` to place all
+   the relevant containers to their original order (provided via the change-order in the initial
+   launch transition).
+
+#### Finishing the transient-launch transition
+
+When restoring the transient order in the 3rd flow above, it is recommended to do it in a new 
+transition and <span style="color:orange">**not**</span> via the WindowContainerTransaction in 
+`TransitionFinishCallback#onTransitionFinished()` provided when starting the transition.
+
+Changes to the window hierarchy via the finish transaction are not applied in sync with other 
+transitions that are collecting and aplying, and are also not observable in Shell in any way.  
+Starting a new transition instead ensures both.  (The finish transaction can still be used if there
+are non-transition affecting properties (ie. container properties) that need to be updated as a part
+of finishing the transient-launch transition).
+
+So the general idea is when restoring is:
+
+1) Start transient-launch transition START_T
+2) ...
+3) All done, start bookend transition END_T
+4) Handler receives END_T, merges it and then finishes START_T
+
+In practice it's not quite that simple, due to the ordering of transitions and extra care must be
+taken when using a new transition to prevent deadlocking when merging transitions.
+
+When a new transition arrives while a transient-launch transition is playing, the handler can
+choose to handle/merge the transition into the ongoing one, or skip merging to queue it up to be
+played after.  In the above flow, we can see how this might result in a deadlock:
+
+Queueing END during merge:
+1) Start transient-launch transition START_T
+2) ...
+3) Incoming transition OTHER_T, choose to cancel START_T -> start bookend transition END_T, but don't merge OTHER_T
+3) Waiting for END_T... <span style="color:red">Deadlock!</span>
+
+Interrupt while pending END:
+1) Start transient-launch transition START_T
+2) ...
+3) All done, start bookend transition END_T
+3) Incoming transition OTHER_T occurs before END_T, but don't merge OTHER_T
+3) Waiting for END_T... <span style="color:red">Deadlock!</span>
+
+This means that when using transient-launch transitions with a bookend transition
+<span style="color:orange">requires</span> you to handle any incoming transitions if the bookend is 
+ever queued (or already posted) after it.  You can do so by preempting the bookend transition
+(finishing the transient-launch transition), or handling the merge of the new transition (so it 
+doesn't queue). 
\ No newline at end of file
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/FreeformTaskTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/FreeformTaskTransitionHandler.java
index b60fb5e..16e411e 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/FreeformTaskTransitionHandler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/freeform/FreeformTaskTransitionHandler.java
@@ -25,10 +25,12 @@
 import android.animation.ValueAnimator;
 import android.app.ActivityManager;
 import android.app.WindowConfiguration;
+import android.content.Context;
 import android.graphics.Rect;
+import android.os.Handler;
 import android.os.IBinder;
 import android.util.ArrayMap;
-import android.util.DisplayMetrics;
+import android.util.Log;
 import android.view.SurfaceControl;
 import android.view.WindowManager;
 import android.window.TransitionInfo;
@@ -38,6 +40,7 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
+import com.android.internal.jank.InteractionJankMonitor;
 import com.android.wm.shell.common.DisplayController;
 import com.android.wm.shell.common.ShellExecutor;
 import com.android.wm.shell.shared.animation.MinimizeAnimator;
@@ -52,11 +55,13 @@
  */
 public class FreeformTaskTransitionHandler
         implements Transitions.TransitionHandler, FreeformTaskTransitionStarter {
+    private static final String TAG = "FreeformTaskTransitionHandler";
     private static final int CLOSE_ANIM_DURATION = 400;
     private final Transitions mTransitions;
     private final DisplayController mDisplayController;
     private final ShellExecutor mMainExecutor;
     private final ShellExecutor mAnimExecutor;
+    private final Handler mAnimHandler;
 
     private final List<IBinder> mPendingTransitionTokens = new ArrayList<>();
 
@@ -66,11 +71,13 @@
             Transitions transitions,
             DisplayController displayController,
             ShellExecutor mainExecutor,
-            ShellExecutor animExecutor) {
+            ShellExecutor animExecutor,
+            Handler animHandler) {
         mTransitions = transitions;
         mDisplayController = displayController;
         mMainExecutor = mainExecutor;
         mAnimExecutor = animExecutor;
+        mAnimHandler = animHandler;
     }
 
     @Override
@@ -123,13 +130,11 @@
             @NonNull Transitions.TransitionFinishCallback finishCallback) {
         boolean transitionHandled = false;
         final ArrayList<Animator> animations = new ArrayList<>();
-        final Runnable onAnimFinish = () -> {
+        final Runnable onAnimFinish = () -> mMainExecutor.execute(() -> {
             if (!animations.isEmpty()) return;
-            mMainExecutor.execute(() -> {
-                mAnimations.remove(transition);
-                finishCallback.onTransitionFinished(null /* wct */);
-            });
-        };
+            mAnimations.remove(transition);
+            finishCallback.onTransitionFinished(null /* wct */);
+        });
         for (TransitionInfo.Change change : info.getChanges()) {
             if ((change.getFlags() & TransitionInfo.FLAG_IS_WALLPAPER) != 0) {
                 continue;
@@ -234,18 +239,25 @@
         SurfaceControl.Transaction t = new SurfaceControl.Transaction();
         SurfaceControl sc = change.getLeash();
         finishT.hide(sc);
-        final DisplayMetrics displayMetrics =
-                mDisplayController
-                        .getDisplayContext(taskInfo.displayId).getResources().getDisplayMetrics();
+        final Context displayContext =
+                mDisplayController.getDisplayContext(taskInfo.displayId);
+        if (displayContext == null) {
+            Log.w(TAG, "No displayContext for displayId=" + taskInfo.displayId);
+            return false;
+        }
         final Animator animator = MinimizeAnimator.create(
-                displayMetrics,
+                displayContext,
                 change,
                 t,
                 (anim) -> {
-                    animations.remove(anim);
-                    onAnimFinish.run();
+                    mMainExecutor.execute(() -> {
+                        animations.remove(anim);
+                        onAnimFinish.run();
+                    });
                     return null;
-                });
+                },
+                InteractionJankMonitor.getInstance(),
+                mAnimHandler);
         animations.add(animator);
         return true;
     }
@@ -277,8 +289,10 @@
                 new AnimatorListenerAdapter() {
                     @Override
                     public void onAnimationEnd(Animator animation) {
-                        animations.remove(animator);
-                        onAnimFinish.run();
+                        mMainExecutor.execute(() -> {
+                            animations.remove(animator);
+                            onAnimFinish.run();
+                        });
                     }
                 });
         animations.add(animator);
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/PipSurfaceTransactionHelper.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/PipSurfaceTransactionHelper.java
index c4d065f..e0cae81 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/PipSurfaceTransactionHelper.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/PipSurfaceTransactionHelper.java
@@ -134,6 +134,18 @@
     }
 
     /**
+     * Operates the round corner radius on a given transaction and leash, scaled by bounds
+     * @return same {@link PipSurfaceTransactionHelper} instance for method chaining
+     */
+    public PipSurfaceTransactionHelper round(SurfaceControl.Transaction tx, SurfaceControl leash,
+            Rect fromBounds, Rect toBounds) {
+        final float scale = (float) (Math.hypot(fromBounds.width(), fromBounds.height())
+                / Math.hypot(toBounds.width(), toBounds.height()));
+        tx.setCornerRadius(leash, mCornerRadius * scale);
+        return this;
+    }
+
+    /**
      * Operates the shadow radius on a given transaction and leash
      * @return same {@link PipSurfaceTransactionHelper} instance for method chaining
      */
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/animation/PipResizeAnimator.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/animation/PipResizeAnimator.java
index 06e8349..eb5fe88 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/animation/PipResizeAnimator.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/animation/PipResizeAnimator.java
@@ -173,7 +173,7 @@
         transformTensor.postRotate(degrees, targetBounds.centerX(), targetBounds.centerY());
 
         tx.setMatrix(leash, transformTensor, mMatrixTmp)
-                .setCornerRadius(leash, cornerRadius)
+                .setCornerRadius(leash, cornerRadius / scaleX)
                 .setShadowRadius(leash, shadowRadius);
     }
 
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipController.java
index 99c9302..1ce24f7 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipController.java
@@ -404,6 +404,10 @@
 
         mPipBoundsState.setBoundsStateForEntry(componentName, activityInfo, pictureInPictureParams,
                 mPipBoundsAlgorithm);
+
+        // Update the size spec in case aspect ratio is invariant, but display has changed
+        // since the last PiP session, or this is the first PiP session altogether.
+        mPipBoundsState.updateMinMaxSize(mPipBoundsState.getAspectRatio());
         return mPipBoundsAlgorithm.getEntryDestinationBounds();
     }
 
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipScheduler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipScheduler.java
index df7a25a..7805ec3 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipScheduler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipScheduler.java
@@ -55,6 +55,7 @@
     private PipTransitionController mPipTransitionController;
     private PipSurfaceTransactionHelper.SurfaceControlTransactionFactory
             mSurfaceControlTransactionFactory;
+    private final PipSurfaceTransactionHelper mPipSurfaceTransactionHelper;
 
     @Nullable private Runnable mUpdateMovementBoundsRunnable;
 
@@ -75,6 +76,7 @@
 
         mSurfaceControlTransactionFactory =
                 new PipSurfaceTransactionHelper.VsyncSurfaceControlTransactionFactory();
+        mPipSurfaceTransactionHelper = new PipSurfaceTransactionHelper(mContext);
         mPipAlphaAnimatorSupplier = PipAlphaAnimator::new;
     }
 
@@ -214,6 +216,8 @@
         transformTensor.postTranslate(toBounds.left, toBounds.top);
         transformTensor.postRotate(degrees, toBounds.centerX(), toBounds.centerY());
 
+        mPipSurfaceTransactionHelper.round(tx, leash, mPipBoundsState.getBounds(), toBounds);
+
         tx.setMatrix(leash, transformTensor, mMatrixTmp);
         tx.apply();
     }
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTransition.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTransition.java
index 035c93d..0cfab11 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTransition.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip2/phone/PipTransition.java
@@ -50,6 +50,7 @@
 import android.graphics.Rect;
 import android.os.Bundle;
 import android.os.IBinder;
+import android.os.SystemProperties;
 import android.view.SurfaceControl;
 import android.view.WindowManager;
 import android.window.TransitionInfo;
@@ -105,7 +106,10 @@
      * The fixed start delay in ms when fading out the content overlay from bounds animation.
      * The fadeout animation is guaranteed to start after the client has drawn under the new config.
      */
-    private static final int CONTENT_OVERLAY_FADE_OUT_DELAY_MS = 500;
+    private static final int EXTRA_CONTENT_OVERLAY_FADE_OUT_DELAY_MS =
+            SystemProperties.getInt(
+                    "persist.wm.debug.extra_content_overlay_fade_out_delay_ms", 400);
+    private static final int CONTENT_OVERLAY_FADE_OUT_DURATION_MS = 500;
 
     //
     // Dependencies
@@ -551,7 +555,8 @@
             @NonNull Runnable onAnimationEnd) {
         PipAlphaAnimator animator = new PipAlphaAnimator(mContext, overlayLeash,
                 null /* startTx */, null /* finishTx */, PipAlphaAnimator.FADE_OUT);
-        animator.setDuration(CONTENT_OVERLAY_FADE_OUT_DELAY_MS);
+        animator.setDuration(CONTENT_OVERLAY_FADE_OUT_DURATION_MS);
+        animator.setStartDelay(EXTRA_CONTENT_OVERLAY_FADE_OUT_DELAY_MS);
         animator.setAnimationEndCallback(onAnimationEnd);
         animator.start();
     }
@@ -738,6 +743,13 @@
             }
         }
 
+        if (!mPipTransitionState.isInSwipePipToHomeTransition()) {
+            // Update the size spec in case aspect ratio is invariant, but display has changed
+            // since the last PiP session, or this is the first PiP session altogether.
+            // Skip the update if in swipe PiP to home, as this has already been done.
+            mPipBoundsState.updateMinMaxSize(mPipBoundsState.getAspectRatio());
+        }
+
         // calculate the entry bounds and notify core to move task to pinned with final bounds
         final Rect entryBounds = mPipBoundsAlgorithm.getEntryDestinationBounds();
         mPipBoundsState.setBounds(entryBounds);
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentTasksController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentTasksController.java
index 2fa0966..bb5b5ce 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentTasksController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentTasksController.java
@@ -44,6 +44,7 @@
 import android.os.RemoteException;
 import android.util.Slog;
 import android.util.SparseIntArray;
+import android.window.DesktopExperienceFlags;
 import android.window.DesktopModeFlags;
 import android.window.WindowContainerToken;
 
@@ -92,6 +93,11 @@
         TaskStackTransitionObserver.TaskStackTransitionObserverListener, UserChangeListener {
     private static final String TAG = RecentTasksController.class.getSimpleName();
 
+    // When the multiple desktops feature is disabled, all freeform tasks are lumped together into
+    // a single `GroupedTaskInfo` whose type is `TYPE_DESK`, and its `mDeskId` doesn't matter, so
+    // we pick the below arbitrary value.
+    private static final int INVALID_DESK_ID = -1;
+
     private final Context mContext;
     private final ShellController mShellController;
     private final ShellCommandHandler mShellCommandHandler;
@@ -128,6 +134,7 @@
 
     // Temporary vars used in `generateList()`
     private final Map<Integer, TaskInfo> mTmpRemaining = new HashMap<>();
+    private final Map<Integer, Desk> mTmpDesks = new HashMap<>();
 
     /**
      * Creates {@link RecentTasksController}, returns {@code null} if the feature is not
@@ -529,6 +536,78 @@
     }
 
     /**
+     * Represents a desk whose ID is `mDeskId` and contains the tasks in `mDeskTasks`. Some of these
+     * tasks are minimized and their IDs are contained in the `mMinimizedDeskTasks` set.
+     */
+    private static class Desk {
+        final int mDeskId;
+        boolean mHasVisibleTasks = false;
+        final ArrayList<TaskInfo> mDeskTasks = new ArrayList<>();
+        final Set<Integer> mMinimizedDeskTasks = new HashSet<>();
+
+        Desk(int deskId) {
+            mDeskId = deskId;
+        }
+
+        void addTask(TaskInfo taskInfo, boolean isMinimized, boolean isVisible) {
+            mDeskTasks.add(taskInfo);
+            if (isMinimized) {
+                mMinimizedDeskTasks.add(taskInfo.taskId);
+            }
+            mHasVisibleTasks |= isVisible;
+        }
+
+        boolean hasTasks() {
+            return !mDeskTasks.isEmpty();
+        }
+
+        GroupedTaskInfo createDeskTaskInfo() {
+            return GroupedTaskInfo.forDeskTasks(mDeskId, mDeskTasks, mMinimizedDeskTasks);
+        }
+    }
+
+    /**
+     * Clears the `mTmpDesks` map, and re-initializes it with the current state of desks from all
+     * displays, without adding any desk tasks. This is a preparation step so that tasks can be
+     * added to these desks in `generateList()`.
+     *
+     * This is needed since with the `ENABLE_MULTIPLE_DESKTOPS_BACKEND` flag, we want to include
+     * desk even if they're empty (i.e. have no tasks).
+     *
+     * @param multipleDesktopsEnabled whether the multiple desktops backend feature is enabled.
+     */
+    private void initializeDesksMap(boolean multipleDesktopsEnabled) {
+        mTmpDesks.clear();
+
+        if (DesktopModeStatus.canEnterDesktopMode(mContext)
+                && mDesktopUserRepositories.isPresent()) {
+            if (multipleDesktopsEnabled) {
+                for (var deskId : mDesktopUserRepositories.get().getCurrent().getAllDeskIds()) {
+                    getOrCreateDesk(deskId);
+                }
+            } else {
+                // When the multiple desks feature is disabled, we lump all freeform windows in a
+                // single `GroupedTaskInfo` regardless of their display. The `deskId` in this case
+                // doesn't matter and can be any arbitrary value.
+                getOrCreateDesk(/* deskId = */ INVALID_DESK_ID);
+            }
+        }
+    }
+
+    /**
+     * Returns the `Desk` whose ID is `deskId` from the `mTmpDesks` map if it exists, or it creates
+     * one and adds it to the map and then returns it.
+     */
+    private Desk getOrCreateDesk(int deskId) {
+        var desk = mTmpDesks.get(deskId);
+        if (desk == null) {
+            desk = new Desk(deskId);
+            mTmpDesks.put(deskId, desk);
+        }
+        return desk;
+    }
+
+    /**
      * Generates a list of GroupedTaskInfos for the given raw list of tasks (either recents or
      * running tasks).
      *
@@ -555,6 +634,14 @@
             ProtoLog.v(WM_SHELL_TASK_OBSERVER, "RecentTasksController.generateList(%s)", reason);
         }
 
+        final boolean multipleDesktopsEnabled =
+                DesktopExperienceFlags.ENABLE_MULTIPLE_DESKTOPS_BACKEND.isTrue();
+        initializeDesksMap(multipleDesktopsEnabled);
+
+        // When the multiple desktops feature is enabled, we include all desks even if they're
+        // empty.
+        final boolean shouldIncludeEmptyDesktops = multipleDesktopsEnabled;
+
         // Make a mapping of task id -> task info for the remaining tasks to be processed, this
         // mapping is used to keep track of split tasks that may exist later in the task list that
         // should be ignored because they've already been grouped
@@ -566,11 +653,7 @@
         ArrayList<GroupedTaskInfo> groupedTasks = new ArrayList<>(tasks.size());
         ArrayList<GroupedTaskInfo> visibleGroupedTasks = new ArrayList<>();
 
-        // Phase 1: Extract the desktop and visible fullscreen/split tasks. We make new collections
-        // here as the GroupedTaskInfo can store them without copying
-        ArrayList<TaskInfo> desktopTasks = new ArrayList<>();
-        Set<Integer> minimizedDesktopTasks = new HashSet<>();
-        boolean desktopTasksVisible = false;
+        // Phase 1: Extract the desktops and visible fullscreen/split tasks.
         for (int i = 0; i < tasks.size(); i++) {
             final TaskInfo taskInfo = tasks.get(i);
             final int taskId = taskInfo.taskId;
@@ -600,11 +683,15 @@
                     taskInfo.positionInParent = new Point(taskInfo.lastNonFullscreenBounds.left,
                             taskInfo.lastNonFullscreenBounds.top);
                 }
-                desktopTasks.add(taskInfo);
-                if (mDesktopUserRepositories.get().getCurrent().isMinimizedTask(taskId)) {
-                    minimizedDesktopTasks.add(taskId);
-                }
-                desktopTasksVisible |= mVisibleTasksMap.containsKey(taskId);
+                // Lump all freeform tasks together as if they were all in a single desk whose ID is
+                // `INVALID_DESK_ID` when the multiple desktops feature is disabled.
+                final int deskId = multipleDesktopsEnabled
+                        ? mDesktopUserRepositories.get().getCurrent().getDeskIdForTask(taskId)
+                        : INVALID_DESK_ID;
+                final Desk desk = getOrCreateDesk(deskId);
+                desk.addTask(taskInfo,
+                        mDesktopUserRepositories.get().getCurrent().isMinimizedTask(taskId),
+                        mVisibleTasksMap.containsKey(taskId));
                 mTmpRemaining.remove(taskId);
                 continue;
             }
@@ -636,9 +723,10 @@
         if (enableShellTopTaskTracking()) {
             // Phase 2: If there were desktop tasks and they are visible, add them to the visible
             //          list as well (the actual order doesn't matter for Overview)
-            if (!desktopTasks.isEmpty() && desktopTasksVisible) {
-                visibleGroupedTasks.add(
-                        GroupedTaskInfo.forFreeformTasks(desktopTasks, minimizedDesktopTasks));
+            for (var desk : mTmpDesks.values()) {
+                if (desk.mHasVisibleTasks) {
+                    visibleGroupedTasks.add(desk.createDeskTaskInfo());
+                }
             }
 
             if (!visibleGroupedTasks.isEmpty()) {
@@ -674,16 +762,18 @@
             // Phase 5: If there were desktop tasks and they are not visible (ie. weren't added
             //          above), add them to the end of the final list (the actual order doesn't
             //          matter for Overview)
-            if (!desktopTasks.isEmpty() && !desktopTasksVisible) {
-                groupedTasks.add(
-                        GroupedTaskInfo.forFreeformTasks(desktopTasks, minimizedDesktopTasks));
+            for (var desk : mTmpDesks.values()) {
+                if (!desk.mHasVisibleTasks && (desk.hasTasks() || shouldIncludeEmptyDesktops)) {
+                    groupedTasks.add(desk.createDeskTaskInfo());
+                }
             }
             dumpGroupedTasks(groupedTasks, "Phase 5");
         } else {
             // Add the desktop tasks at the end of the list
-            if (!desktopTasks.isEmpty()) {
-                groupedTasks.add(
-                        GroupedTaskInfo.forFreeformTasks(desktopTasks, minimizedDesktopTasks));
+            for (var desk : mTmpDesks.values()) {
+                if (desk.hasTasks() || shouldIncludeEmptyDesktops) {
+                    groupedTasks.add(desk.createDeskTaskInfo());
+                }
             }
         }
 
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java
index d6182e9..3e03e00 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java
@@ -47,6 +47,7 @@
 import android.app.ActivityTaskManager;
 import android.app.IApplicationThread;
 import android.app.PendingIntent;
+import android.app.WindowConfiguration;
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.Color;
@@ -320,7 +321,7 @@
                     "RecentsTransitionHandler.mergeAnimation: no controller found");
             return;
         }
-        controller.merge(info, startT, finishT, mergeTarget, finishCallback);
+        controller.merge(info, startT, finishT, finishCallback);
     }
 
     @Override
@@ -408,7 +409,8 @@
         // next called.
         private Pair<int[], TaskSnapshot[]> mPendingPauseSnapshotsForCancel;
 
-        // Used to track a pending finish transition
+        // Used to track a pending finish transition, this is only non-null if
+        // enableRecentsBookendTransition() is enabled
         private IBinder mPendingFinishTransition;
         private IResultReceiver mPendingRunnerFinishCb;
 
@@ -917,7 +919,7 @@
          */
         @SuppressLint("NewApi")
         void merge(TransitionInfo info, SurfaceControl.Transaction startT,
-                SurfaceControl.Transaction finishT, IBinder mergeTarget,
+                SurfaceControl.Transaction finishT,
                 Transitions.TransitionFinishCallback finishCallback) {
             if (mFinishCB == null) {
                 ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION,
@@ -927,16 +929,25 @@
                 return;
             }
 
-            if (Flags.enableRecentsBookendTransition()
-                    && info.getType() == TRANSIT_END_RECENTS_TRANSITION
-                    && mergeTarget == mTransition) {
-                // This is a pending finish, so merge the end transition to trigger completing the
-                // cleanup of the recents transition
-                ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION,
-                        "[%d] RecentsController.merge: TRANSIT_END_RECENTS_TRANSITION",
-                        mInstanceId);
-                finishCallback.onTransitionFinished(null /* wct */);
-                return;
+            if (Flags.enableRecentsBookendTransition()) {
+                if (info.getType() == TRANSIT_END_RECENTS_TRANSITION) {
+                    // This is a pending finish, so merge the end transition to trigger completing
+                    // the cleanup of the recents transition
+                    ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION,
+                            "[%d] RecentsController.merge: TRANSIT_END_RECENTS_TRANSITION",
+                            mInstanceId);
+                    consumeMerge(info, startT, finishT, finishCallback);
+                    return;
+                } else if (mPendingFinishTransition != null) {
+                    // This transition is interrupting a pending finish that was already sent, so
+                    // pre-empt the pending finish transition since the state has already changed
+                    // in the core
+                    ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION,
+                            "[%d] RecentsController.merge: Awaiting TRANSIT_END_RECENTS_TRANSITION",
+                            mInstanceId);
+                    onFinishInner(null /* wct */);
+                    return;
+                }
             }
 
             if (info.getType() == TRANSIT_SLEEP) {
@@ -1210,16 +1221,12 @@
                 }
                 return;
             }
+
             // At this point, we are accepting the merge.
-            startT.apply();
-            // Since we're accepting the merge, update the finish transaction so that changes via
-            // that transaction will be applied on top of those of the merged transitions
-            mFinishTransaction = finishT;
+            consumeMerge(info, startT, finishT, finishCallback);
+
+            // Notify Launcher of the new opening tasks if necessary
             boolean passTransitionInfo = ENABLE_DESKTOP_RECENTS_TRANSITIONS_CORNERS_BUGFIX.isTrue();
-            if (!passTransitionInfo) {
-                // not using the incoming anim-only surfaces
-                info.releaseAnimSurfaces();
-            }
             if (appearedTargets != null) {
                 try {
                     ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION,
@@ -1229,6 +1236,27 @@
                     Slog.e(TAG, "Error sending appeared tasks to recents animation", e);
                 }
             }
+        }
+
+        /**
+         * Consumes the merge of the other given transition.
+         */
+        private void consumeMerge(TransitionInfo info, SurfaceControl.Transaction startT,
+                SurfaceControl.Transaction finishT,
+                Transitions.TransitionFinishCallback finishCallback) {
+            ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION,
+                    "[%d] RecentsController.merge: consuming merge",
+                    mInstanceId);
+
+            startT.apply();
+            // Since we're accepting the merge, update the finish transaction so that changes via
+            // that transaction will be applied on top of those of the merged transitions
+            mFinishTransaction = finishT;
+            boolean passTransitionInfo = ENABLE_DESKTOP_RECENTS_TRANSITIONS_CORNERS_BUGFIX.isTrue();
+            if (!passTransitionInfo) {
+                // not using the incoming anim-only surfaces
+                info.releaseAnimSurfaces();
+            }
             finishCallback.onTransitionFinished(null /* wct */);
         }
 
@@ -1346,9 +1374,16 @@
             final SurfaceControl.Transaction t = mFinishTransaction;
             final WindowContainerTransaction wct = new WindowContainerTransaction();
 
+            // The following code must set this if it is changing anything in core that might affect
+            // transitions as a part of finishing the recents transition
+            boolean requiresBookendTransition = false;
+
             if (mKeyguardLocked && mRecentsTask != null) {
                 if (toHome) wct.reorder(mRecentsTask, true /* toTop */);
                 else wct.restoreTransientOrder(mRecentsTask);
+                // We are manipulating the window hierarchy, which should only be done with the
+                // bookend transition
+                requiresBookendTransition = true;
             }
             if (returningToApp) {
                 ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION, "  returning to app");
@@ -1365,6 +1400,9 @@
                 if (!mKeyguardLocked && mRecentsTask != null) {
                     wct.restoreTransientOrder(mRecentsTask);
                 }
+                // We are manipulating the window hierarchy, which should only be done with the
+                // bookend transition
+                requiresBookendTransition = true;
             } else if (toHome && mOpeningSeparateHome && mPausingTasks != null) {
                 ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION, "  3p launching home");
                 // Special situation where 3p launcher was changed during recents (this happens
@@ -1384,6 +1422,9 @@
                 if (!mKeyguardLocked && mRecentsTask != null) {
                     wct.restoreTransientOrder(mRecentsTask);
                 }
+                // We are manipulating the window hierarchy, which should only be done with the
+                // bookend transition
+                requiresBookendTransition = true;
             } else {
                 if (mPausingSeparateHome) {
                     if (mOpeningTasks.isEmpty()) {
@@ -1484,13 +1525,21 @@
 
             if (Flags.enableRecentsBookendTransition()) {
                 if (!wct.isEmpty()) {
-                    ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION,
-                            "[%d] RecentsController.finishInner: "
-                                    + "Queuing TRANSIT_END_RECENTS_TRANSITION", mInstanceId);
-                    mPendingRunnerFinishCb = runnerFinishCb;
-                    mPendingFinishTransition = mTransitions.startTransition(
-                            TRANSIT_END_RECENTS_TRANSITION, wct,
-                            new PendingFinishTransitionHandler());
+                    if (requiresBookendTransition) {
+                        ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION,
+                                "[%d] RecentsController.finishInner: "
+                                        + "Queuing TRANSIT_END_RECENTS_TRANSITION", mInstanceId);
+                        mPendingRunnerFinishCb = runnerFinishCb;
+                        mPendingFinishTransition = mTransitions.startTransition(
+                                TRANSIT_END_RECENTS_TRANSITION, wct,
+                                new PendingFinishTransitionHandler());
+                    } else {
+                        ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION,
+                                "[%d] RecentsController.finishInner: Non-transition affecting wct",
+                                mInstanceId);
+                        mPendingRunnerFinishCb = runnerFinishCb;
+                        onFinishInner(wct);
+                    }
                 } else {
                     // If there's no work to do, just go ahead and clean up
                     mPendingRunnerFinishCb = runnerFinishCb;
@@ -1631,6 +1680,9 @@
                     @NonNull SurfaceControl.Transaction startTransaction,
                     @NonNull SurfaceControl.Transaction finishTransaction,
                     @NonNull Transitions.TransitionFinishCallback finishCallback) {
+                ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION,
+                        "[%d] PendingFinishTransitionHandler.startAnimation: "
+                                + "Started pending finish transition", mInstanceId);
                 return false;
             }
 
@@ -1644,10 +1696,15 @@
             @Override
             public void onTransitionConsumed(@NonNull IBinder transition, boolean aborted,
                     @Nullable SurfaceControl.Transaction finishTransaction) {
+                if (mPendingFinishTransition == null) {
+                    // The cleanup was pre-empted by an earlier transition, nothing there is nothing
+                    // to do here
+                    return;
+                }
                 // Once we have merged (or not if the WCT didn't result in any changes), then we can
                 // run the pending finish logic
                 ProtoLog.v(ShellProtoLogGroup.WM_SHELL_RECENTS_TRANSITION,
-                        "[%d] RecentsController.onTransitionConsumed: "
+                        "[%d] PendingFinishTransitionHandler.onTransitionConsumed: "
                                 + "Consumed pending finish transition", mInstanceId);
                 onFinishInner(null /* wct */);
             }
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultMixedHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultMixedHandler.java
index 743bd05..347dcff 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultMixedHandler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultMixedHandler.java
@@ -40,7 +40,6 @@
 import android.window.WindowContainerTransaction;
 
 import com.android.internal.protolog.ProtoLog;
-import com.android.window.flags.Flags;
 import com.android.wm.shell.ShellTaskOrganizer;
 import com.android.wm.shell.activityembedding.ActivityEmbeddingController;
 import com.android.wm.shell.common.ComponentUtils;
@@ -439,9 +438,6 @@
         for (int i = 0; i < info.getRootCount(); ++i) {
             out.addRoot(info.getRoot(i));
         }
-        if (!Flags.moveAnimationOptionsToChange()) {
-            out.setAnimationOptions(info.getAnimationOptions());
-        }
         return out;
     }
 
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java
index 01428e6..e9c6ade 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultTransitionHandler.java
@@ -539,7 +539,7 @@
                     cornerRadius = 0;
                 }
 
-                backgroundColorForTransition = getTransitionBackgroundColorIfSet(info, change, a,
+                backgroundColorForTransition = getTransitionBackgroundColorIfSet(change, a,
                         backgroundColorForTransition);
 
                 if (!isTask && a.getExtensionEdges() != 0x0) {
@@ -606,12 +606,7 @@
                         mTransactionPool, mMainExecutor, animRelOffset, cornerRadius,
                         clipRect);
 
-                final TransitionInfo.AnimationOptions options;
-                if (Flags.moveAnimationOptionsToChange()) {
-                    options = change.getAnimationOptions();
-                } else {
-                    options = info.getAnimationOptions();
-                }
+                final TransitionInfo.AnimationOptions options = change.getAnimationOptions();
                 if (options != null) {
                     attachThumbnail(animations, onAnimFinish, change, options, cornerRadius);
                 }
@@ -834,12 +829,7 @@
         final boolean isOpeningType = TransitionUtil.isOpeningType(type);
         final boolean enter = TransitionUtil.isOpeningType(changeMode);
         final boolean isTask = change.getTaskInfo() != null;
-        final TransitionInfo.AnimationOptions options;
-        if (Flags.moveAnimationOptionsToChange()) {
-            options = change.getAnimationOptions();
-        } else {
-            options = info.getAnimationOptions();
-        }
+        final TransitionInfo.AnimationOptions options = change.getAnimationOptions();
         final int overrideType = options != null ? options.getType() : ANIM_NONE;
         final int userId = options != null ? options.getUserId() : UserHandle.USER_CURRENT;
         final Rect endBounds = TransitionUtil.isClosingType(changeMode)
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/HomeTransitionObserver.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/HomeTransitionObserver.java
index 1917996..938885c 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/HomeTransitionObserver.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/HomeTransitionObserver.java
@@ -21,6 +21,7 @@
 import static android.window.TransitionInfo.FLAG_BACK_GESTURE_ANIMATED;
 
 import static com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_DESKTOP_MODE_START_DRAG_TO_DESKTOP;
+import static com.android.wm.shell.transition.Transitions.TRANSIT_CONVERT_TO_BUBBLE;
 import static com.android.wm.shell.transition.Transitions.TransitionObserver;
 
 import android.annotation.NonNull;
@@ -35,6 +36,7 @@
 import com.android.wm.shell.common.SingleInstanceRemoteListener;
 import com.android.wm.shell.shared.IHomeTransitionListener;
 import com.android.wm.shell.shared.TransitionUtil;
+import com.android.wm.shell.shared.bubbles.BubbleAnythingFlagHelper;
 
 /**
  * The {@link TransitionObserver} that observes for transitions involving the home
@@ -48,6 +50,8 @@
 
     private @NonNull final Context mContext;
     private @NonNull final ShellExecutor mMainExecutor;
+    private Boolean mPendingHomeVisibilityUpdate;
+
     public HomeTransitionObserver(@NonNull Context context,
             @NonNull ShellExecutor mainExecutor) {
         mContext = context;
@@ -59,28 +63,78 @@
             @NonNull TransitionInfo info,
             @NonNull SurfaceControl.Transaction startTransaction,
             @NonNull SurfaceControl.Transaction finishTransaction) {
+        if (BubbleAnythingFlagHelper.enableBubbleToFullscreen()) {
+            handleTransitionReadyWithBubbleAnything(info);
+        } else {
+            handleTransitionReady(info);
+        }
+    }
+
+    private void handleTransitionReady(@NonNull TransitionInfo info) {
         for (TransitionInfo.Change change : info.getChanges()) {
             final ActivityManager.RunningTaskInfo taskInfo = change.getTaskInfo();
-            if (info.getType() == TRANSIT_DESKTOP_MODE_START_DRAG_TO_DESKTOP
-                    || taskInfo == null
+            if (taskInfo == null
+                    || info.getType() == TRANSIT_DESKTOP_MODE_START_DRAG_TO_DESKTOP
+                    || taskInfo.displayId != DEFAULT_DISPLAY
+                    || taskInfo.taskId == -1
+                    || !taskInfo.isRunning) {
+                continue;
+            }
+            Boolean homeVisibilityUpdate = getHomeVisibilityUpdate(info, change, taskInfo);
+            if (homeVisibilityUpdate != null) {
+                notifyHomeVisibilityChanged(homeVisibilityUpdate);
+            }
+        }
+    }
+
+    private void handleTransitionReadyWithBubbleAnything(@NonNull TransitionInfo info) {
+        Boolean homeVisibilityUpdate = null;
+        for (TransitionInfo.Change change : info.getChanges()) {
+            final ActivityManager.RunningTaskInfo taskInfo = change.getTaskInfo();
+            if (taskInfo == null
                     || taskInfo.displayId != DEFAULT_DISPLAY
                     || taskInfo.taskId == -1
                     || !taskInfo.isRunning) {
                 continue;
             }
 
-            final int mode = change.getMode();
-            final boolean isBackGesture = change.hasFlags(FLAG_BACK_GESTURE_ANIMATED);
-            if (taskInfo.getActivityType() == ACTIVITY_TYPE_HOME) {
-                final boolean gestureToHomeTransition = isBackGesture
-                        && TransitionUtil.isClosingType(info.getType());
-                if (gestureToHomeTransition || TransitionUtil.isClosingMode(mode)
-                        || (!isBackGesture && TransitionUtil.isOpeningMode(mode))) {
-                    notifyHomeVisibilityChanged(gestureToHomeTransition
-                            || TransitionUtil.isOpeningType(mode));
-                }
+            Boolean update = getHomeVisibilityUpdate(info, change, taskInfo);
+            if (update != null) {
+                homeVisibilityUpdate = update;
             }
         }
+
+        if (info.getType() == TRANSIT_DESKTOP_MODE_START_DRAG_TO_DESKTOP) {
+            // Do not apply at the start of desktop drag as that updates launcher UI visibility.
+            // Store the value and apply with a next transition if needed.
+            mPendingHomeVisibilityUpdate = homeVisibilityUpdate;
+            return;
+        }
+
+        if (info.getType() == TRANSIT_CONVERT_TO_BUBBLE && homeVisibilityUpdate == null) {
+            // We are converting to bubble and we did not get a change to home visibility in this
+            // transition. Apply the value from start of drag.
+            homeVisibilityUpdate = mPendingHomeVisibilityUpdate;
+        }
+        if (homeVisibilityUpdate != null) {
+            mPendingHomeVisibilityUpdate = null;
+            notifyHomeVisibilityChanged(homeVisibilityUpdate);
+        }
+    }
+
+    private Boolean getHomeVisibilityUpdate(TransitionInfo info,
+            TransitionInfo.Change change, ActivityManager.RunningTaskInfo taskInfo) {
+        final int mode = change.getMode();
+        final boolean isBackGesture = change.hasFlags(FLAG_BACK_GESTURE_ANIMATED);
+        if (taskInfo.getActivityType() == ACTIVITY_TYPE_HOME) {
+            final boolean gestureToHomeTransition = isBackGesture
+                    && TransitionUtil.isClosingType(info.getType());
+            if (gestureToHomeTransition || TransitionUtil.isClosingMode(mode)
+                    || (!isBackGesture && TransitionUtil.isOpeningMode(mode))) {
+                return gestureToHomeTransition || TransitionUtil.isOpeningType(mode);
+            }
+        }
+        return null;
     }
 
     @Override
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/TransitionAnimationHelper.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/TransitionAnimationHelper.java
index 4feb475..7984bce 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/TransitionAnimationHelper.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/TransitionAnimationHelper.java
@@ -58,7 +58,6 @@
 import com.android.internal.R;
 import com.android.internal.policy.TransitionAnimation;
 import com.android.internal.protolog.ProtoLog;
-import com.android.window.flags.Flags;
 import com.android.wm.shell.protolog.ShellProtoLogGroup;
 import com.android.wm.shell.shared.TransitionUtil;
 
@@ -78,12 +77,7 @@
         final boolean isFreeform = isTask && change.getTaskInfo().isFreeform();
         final boolean isCoveredByOpaqueFullscreenChange =
                 isCoveredByOpaqueFullscreenChange(info, change);
-        final TransitionInfo.AnimationOptions options;
-        if (Flags.moveAnimationOptionsToChange()) {
-            options = change.getAnimationOptions();
-        } else {
-            options = info.getAnimationOptions();
-        }
+        final TransitionInfo.AnimationOptions options = change.getAnimationOptions();
         final int overrideType = options != null ? options.getType() : ANIM_NONE;
         int animAttr = 0;
         boolean translucent = false;
@@ -279,16 +273,10 @@
      *                      the given transition animation.
      */
     @ColorInt
-    public static int getTransitionBackgroundColorIfSet(@NonNull TransitionInfo info,
-            @NonNull TransitionInfo.Change change, @NonNull Animation a,
-            @ColorInt int defaultColor) {
+    public static int getTransitionBackgroundColorIfSet(@NonNull TransitionInfo.Change change,
+            @NonNull Animation a, @ColorInt int defaultColor) {
         if (!a.getShowBackdrop()) {
             return defaultColor;
-        }
-        if (!Flags.moveAnimationOptionsToChange() && info.getAnimationOptions() != null
-                && info.getAnimationOptions().getBackgroundColor() != 0) {
-            // If available use the background color provided through AnimationOptions
-            return info.getAnimationOptions().getBackgroundColor();
         } else if (a.getBackdropColor() != 0) {
             // Otherwise fallback on the background color provided through the animation
             // definition.
diff --git a/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/functional/AltTabSwitchInDesktopModeTest.kt b/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/functional/AltTabSwitchInDesktopModeTest.kt
new file mode 100644
index 0000000..617b3c5
--- /dev/null
+++ b/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/functional/AltTabSwitchInDesktopModeTest.kt
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2025 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.wm.shell.functional
+
+import com.android.wm.shell.scenarios.AltTabSwitchInDesktopMode
+import org.junit.Ignore
+import org.junit.runner.RunWith
+import org.junit.runners.BlockJUnit4ClassRunner
+
+/* Functional test for [AltTabSwitchInDesktopMode]. */
+@RunWith(BlockJUnit4ClassRunner::class)
+@Ignore("Blocked by b/392820286, include in Postsubmit, when the issue is resolved")
+class AltTabSwitchInDesktopModeTest : AltTabSwitchInDesktopMode()
\ No newline at end of file
diff --git a/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/scenarios/AltTabSwitchInDesktopMode.kt b/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/scenarios/AltTabSwitchInDesktopMode.kt
new file mode 100644
index 0000000..cf6d5a8
--- /dev/null
+++ b/libs/WindowManager/Shell/tests/e2e/desktopmode/scenarios/src/com/android/wm/shell/scenarios/AltTabSwitchInDesktopMode.kt
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2025 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.wm.shell.scenarios
+
+import android.app.Instrumentation
+import android.tools.flicker.rules.ChangeDisplayOrientationRule
+import android.tools.NavBar
+import android.tools.Rotation
+import android.tools.traces.parsers.WindowManagerStateHelper
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.UiDevice
+import com.android.launcher3.tapl.LauncherInstrumentation
+import com.android.server.wm.flicker.helpers.DesktopModeAppHelper
+import com.android.server.wm.flicker.helpers.MailAppHelper
+import com.android.server.wm.flicker.helpers.NewTasksAppHelper
+import com.android.server.wm.flicker.helpers.SimpleAppHelper
+import com.android.window.flags.Flags
+import com.android.wm.shell.Utils
+import org.junit.After
+import org.junit.Assume
+import org.junit.Before
+import org.junit.Ignore
+import org.junit.Rule
+import org.junit.Test
+
+@Ignore("Test Base Class")
+abstract class AltTabSwitchInDesktopMode(val rotation: Rotation = Rotation.ROTATION_0) {
+
+    private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation()
+    private val tapl = LauncherInstrumentation()
+    private val wmHelper = WindowManagerStateHelper(instrumentation)
+    private val device = UiDevice.getInstance(instrumentation)
+    private val firstApp = DesktopModeAppHelper(SimpleAppHelper(instrumentation))
+    private val secondApp = MailAppHelper(instrumentation)
+    private val thirdApp = NewTasksAppHelper(instrumentation)
+
+    @Rule
+    @JvmField val testSetupRule = Utils.testSetupRule(NavBar.MODE_GESTURAL, rotation)
+
+    @Before
+    fun setup() {
+        Assume.assumeTrue(Flags.enableDesktopWindowingMode() && tapl.isTablet)
+        tapl.setEnableRotation(true)
+        tapl.setExpectedRotation(rotation.value)
+        tapl.enableTransientTaskbar(false)
+        ChangeDisplayOrientationRule.setRotation(rotation)
+        firstApp.enterDesktopMode(wmHelper, device)
+        secondApp.launchViaIntent(wmHelper)
+        thirdApp.launchViaIntent(wmHelper)
+    }
+
+    @Test
+    open fun switchApp() {
+        tapl.launchedAppState
+            .showQuickSwitchView()
+            .moveFocusForward()
+            .launchFocusedAppTask(firstApp.packageName)
+    }
+
+    @After
+    fun teardown() {
+        thirdApp.exit(wmHelper)
+        secondApp.exit(wmHelper)
+        firstApp.exit(wmHelper)
+    }
+}
\ No newline at end of file
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationRunnerTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationRunnerTests.java
index 94dc774..d4d8d93 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationRunnerTests.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/activityembedding/ActivityEmbeddingAnimationRunnerTests.java
@@ -39,7 +39,6 @@
 import android.annotation.NonNull;
 import android.graphics.Point;
 import android.graphics.Rect;
-import android.platform.test.annotations.DisableFlags;
 import android.platform.test.annotations.EnableFlags;
 import android.view.animation.AlphaAnimation;
 import android.view.animation.Animation;
@@ -77,7 +76,6 @@
         doNothing().when(mController).onAnimationFinished(any());
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testStartAnimation() {
         final TransitionInfo info = new TransitionInfoBuilder(TRANSIT_OPEN, 0)
@@ -103,7 +101,6 @@
         verify(mController).onAnimationFinished(mTransition);
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testChangesBehindStartingWindow() {
         final TransitionInfo info = new TransitionInfoBuilder(TRANSIT_OPEN, 0)
@@ -118,7 +115,6 @@
         assertEquals(0, animator.getDuration());
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testTransitionTypeDragResize() {
         final TransitionInfo info = new TransitionInfoBuilder(TRANSIT_TASK_FRAGMENT_DRAG_RESIZE, 0)
@@ -133,25 +129,6 @@
         assertEquals(0, animator.getDuration());
     }
 
-    @DisableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
-    @Test
-    public void testInvalidCustomAnimation_disableAnimationOptionsPerChange() {
-        final TransitionInfo info = new TransitionInfoBuilder(TRANSIT_OPEN, 0)
-                .addChange(createChange(FLAG_IN_TASK_WITH_EMBEDDED_ACTIVITY, TRANSIT_OPEN))
-                .build();
-        info.setAnimationOptions(TransitionInfo.AnimationOptions
-                .makeCustomAnimOptions("packageName", 0 /* enterResId */, 0 /* exitResId */,
-                        0 /* backgroundColor */, false /* overrideTaskTransition */));
-        final Animator animator = mAnimRunner.createAnimator(
-                info, mStartTransaction, mFinishTransaction,
-                () -> mFinishCallback.onTransitionFinished(null /* wct */),
-                new ArrayList<>());
-
-        // An invalid custom animation is equivalent to jump-cut.
-        assertEquals(0, animator.getDuration());
-    }
-
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testInvalidCustomAnimation_enableAnimationOptionsPerChange() {
         final TransitionInfo info = new TransitionInfoBuilder(TRANSIT_OPEN, 0)
@@ -169,36 +146,6 @@
         assertEquals(0, animator.getDuration());
     }
 
-    @DisableFlags(Flags.FLAG_ACTIVITY_EMBEDDING_OVERLAY_PRESENTATION_FLAG)
-    @Test
-    public void testCalculateParentBounds_flagDisabled() {
-        final Rect parentBounds = new Rect(0, 0, 2000, 2000);
-        final Rect primaryBounds = new Rect();
-        final Rect secondaryBounds = new Rect();
-        parentBounds.splitVertically(primaryBounds, secondaryBounds);
-
-        final TransitionInfo.Change change = createChange(0 /* flags */);
-        change.setStartAbsBounds(secondaryBounds);
-
-        final TransitionInfo.Change boundsAnimationChange = createChange(0 /* flags */);
-        boundsAnimationChange.setStartAbsBounds(primaryBounds);
-        boundsAnimationChange.setEndAbsBounds(primaryBounds);
-        final Rect actualParentBounds = new Rect();
-
-        calculateParentBounds(change, boundsAnimationChange, actualParentBounds);
-
-        assertEquals(parentBounds, actualParentBounds);
-
-        actualParentBounds.setEmpty();
-
-        boundsAnimationChange.setStartAbsBounds(secondaryBounds);
-        boundsAnimationChange.setEndAbsBounds(primaryBounds);
-
-        calculateParentBounds(boundsAnimationChange, boundsAnimationChange, actualParentBounds);
-
-        assertEquals(parentBounds, actualParentBounds);
-    }
-
     // TODO(b/243518738): Rewrite with TestParameter
     @EnableFlags(Flags.FLAG_ACTIVITY_EMBEDDING_OVERLAY_PRESENTATION_FLAG)
     @Test
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/activityembedding/ActivityEmbeddingControllerTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/activityembedding/ActivityEmbeddingControllerTests.java
index 9f29ef7..53a13d0 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/activityembedding/ActivityEmbeddingControllerTests.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/activityembedding/ActivityEmbeddingControllerTests.java
@@ -32,8 +32,6 @@
 import android.animation.Animator;
 import android.animation.ValueAnimator;
 import android.graphics.Rect;
-import android.platform.test.annotations.DisableFlags;
-import android.platform.test.annotations.EnableFlags;
 import android.view.SurfaceControl;
 import android.window.TransitionInfo;
 
@@ -41,7 +39,6 @@
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
 
-import com.android.window.flags.Flags;
 import com.android.wm.shell.transition.TransitionInfoBuilder;
 
 import org.junit.Before;
@@ -69,13 +66,11 @@
                 any());
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testInstantiate() {
         verify(mShellInit).addInitCallback(any(), any());
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testOnInit() {
         mController.onInit();
@@ -83,7 +78,6 @@
         verify(mTransitions).addHandler(mController);
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testSetAnimScaleSetting() {
         mController.setAnimScaleSetting(1.0f);
@@ -92,7 +86,6 @@
         verify(mAnimSpec).setAnimScaleSetting(1.0f);
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testStartAnimation_containsNonActivityEmbeddingChange() {
         final TransitionInfo.Change nonEmbeddedOpen = createChange(0 /* flags */);
@@ -129,7 +122,6 @@
         assertFalse(info2.getChanges().contains(nonEmbeddedClose));
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testStartAnimation_containsOnlyFillTaskActivityEmbeddingChange() {
         final TransitionInfo info = new TransitionInfoBuilder(TRANSIT_OPEN, 0)
@@ -146,7 +138,6 @@
         verifyNoMoreInteractions(mFinishCallback);
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testStartAnimation_containsActivityEmbeddingSplitChange() {
         // Change that occupies only part of the Task.
@@ -164,7 +155,6 @@
         verifyNoMoreInteractions(mFinishTransaction);
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testStartAnimation_containsChangeEnterActivityEmbeddingSplit() {
         // Change that is entering ActivityEmbedding split.
@@ -181,7 +171,6 @@
         verifyNoMoreInteractions(mFinishTransaction);
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testStartAnimation_containsChangeExitActivityEmbeddingSplit() {
         // Change that is exiting ActivityEmbedding split.
@@ -198,27 +187,6 @@
         verifyNoMoreInteractions(mFinishTransaction);
     }
 
-    @DisableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
-    @Test
-    public void testShouldAnimate_containsAnimationOptions_disableAnimOptionsPerChange() {
-        final TransitionInfo info = new TransitionInfoBuilder(TRANSIT_CLOSE, 0)
-                .addChange(createEmbeddedChange(EMBEDDED_RIGHT_BOUNDS, TASK_BOUNDS, TASK_BOUNDS))
-                .build();
-
-        info.setAnimationOptions(TransitionInfo.AnimationOptions
-                .makeCustomAnimOptions("packageName", 0 /* enterResId */, 0 /* exitResId */,
-                        0 /* backgroundColor */, false /* overrideTaskTransition */));
-        assertTrue(mController.shouldAnimate(info));
-
-        info.setAnimationOptions(TransitionInfo.AnimationOptions
-                .makeSceneTransitionAnimOptions());
-        assertFalse(mController.shouldAnimate(info));
-
-        info.setAnimationOptions(TransitionInfo.AnimationOptions.makeCrossProfileAnimOptions());
-        assertFalse(mController.shouldAnimate(info));
-    }
-
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testShouldAnimate_containsAnimationOptions_enableAnimOptionsPerChange() {
         final TransitionInfo info = new TransitionInfoBuilder(TRANSIT_CLOSE, 0)
@@ -239,7 +207,6 @@
         assertFalse(mController.shouldAnimate(info));
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @UiThreadTest
     @Test
     public void testMergeAnimation() {
@@ -278,7 +245,6 @@
         verify(mFinishCallback).onTransitionFinished(any());
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testOnAnimationFinished() {
         // Should not call finish when there is no transition.
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopMinimizationTransitionHandlerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopMinimizationTransitionHandlerTest.kt
index 4c3325d..0d1c5722 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopMinimizationTransitionHandlerTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopMinimizationTransitionHandlerTest.kt
@@ -21,6 +21,7 @@
 import android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM
 import android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN
 import android.app.WindowConfiguration.WindowingMode
+import android.os.Handler
 import android.testing.AndroidTestingRunner
 import android.testing.TestableLooper.RunWithLooper
 import android.view.SurfaceControl
@@ -56,7 +57,12 @@
     @Before
     fun setUp() {
         handler =
-            DesktopMinimizationTransitionHandler(testExecutor, testExecutor, displayController)
+            DesktopMinimizationTransitionHandler(
+                testExecutor,
+                testExecutor,
+                displayController,
+                mock<Handler>(),
+            )
         whenever(displayController.getDisplayContext(any())).thenReturn(mContext)
     }
 
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt
index e00bdca..ff9fdd4 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksControllerTest.kt
@@ -2478,8 +2478,7 @@
         controller.moveTaskToFront(task.taskId, unminimizeReason = UnminimizeReason.UNKNOWN)
 
         val wct = getLatestDesktopMixedTaskWct(type = TRANSIT_OPEN)
-        assertThat(wct.hierarchyOps).hasSize(1)
-        wct.assertLaunchTaskAt(0, task.taskId, WINDOWING_MODE_FREEFORM)
+        wct.assertLaunchTask(task.taskId, WINDOWING_MODE_FREEFORM)
     }
 
     @Test
@@ -2811,6 +2810,7 @@
 
         // Should launch home
         wct.assertPendingIntentAt(0, launchHomeIntent(DEFAULT_DISPLAY))
+        wct.assertPendingIntentActivityOptionsLaunchDisplayIdAt(0, DEFAULT_DISPLAY)
     }
 
     @Test
@@ -2971,9 +2971,13 @@
         val captor = argumentCaptor<WindowContainerTransaction>()
         verify(freeformTaskTransitionStarter)
             .startMinimizedModeTransition(captor.capture(), eq(task.taskId), eq(false))
-        captor.firstValue.hierarchyOps.none { hop ->
-            hop.type == HIERARCHY_OP_TYPE_REMOVE_TASK && hop.container == wallpaperToken.asBinder()
-        }
+        assertThat(
+                captor.firstValue.hierarchyOps.none { hop ->
+                    hop.type == HIERARCHY_OP_TYPE_REMOVE_TASK &&
+                        hop.container == wallpaperToken.asBinder()
+                }
+            )
+            .isTrue()
     }
 
     @Test
@@ -3062,9 +3066,13 @@
 
         val captor = argumentCaptor<WindowContainerTransaction>()
         verify(freeformTaskTransitionStarter).startPipTransition(captor.capture())
-        captor.firstValue.hierarchyOps.none { hop ->
-            hop.type == HIERARCHY_OP_TYPE_REMOVE_TASK && hop.container == wallpaperToken.asBinder()
-        }
+        assertThat(
+                captor.firstValue.hierarchyOps.none { hop ->
+                    hop.type == HIERARCHY_OP_TYPE_REMOVE_TASK &&
+                        hop.container == wallpaperToken.asBinder()
+                }
+            )
+            .isTrue()
     }
 
     @Test
@@ -3085,7 +3093,12 @@
         val captor = argumentCaptor<WindowContainerTransaction>()
         verify(freeformTaskTransitionStarter)
             .startMinimizedModeTransition(captor.capture(), eq(task.taskId), eq(true))
-        captor.firstValue.hierarchyOps.none { hop -> hop.type == HIERARCHY_OP_TYPE_REMOVE_TASK }
+        assertThat(
+                captor.firstValue.hierarchyOps.none { hop ->
+                    hop.type == HIERARCHY_OP_TYPE_REMOVE_TASK
+                }
+            )
+            .isTrue()
     }
 
     @Test
@@ -3132,9 +3145,13 @@
         val captor = argumentCaptor<WindowContainerTransaction>()
         verify(freeformTaskTransitionStarter)
             .startMinimizedModeTransition(captor.capture(), eq(task.taskId), eq(false))
-        captor.firstValue.hierarchyOps.none { hop ->
-            hop.type == HIERARCHY_OP_TYPE_REMOVE_TASK && hop.container == wallpaperToken.asBinder()
-        }
+        assertThat(
+                captor.firstValue.hierarchyOps.none { hop ->
+                    hop.type == HIERARCHY_OP_TYPE_REMOVE_TASK &&
+                        hop.container == wallpaperToken.asBinder()
+                }
+            )
+            .isTrue()
     }
 
     @Test
@@ -3156,9 +3173,13 @@
         val captor = argumentCaptor<WindowContainerTransaction>()
         verify(freeformTaskTransitionStarter)
             .startMinimizedModeTransition(captor.capture(), eq(task1.taskId), eq(false))
-        captor.firstValue.hierarchyOps.none { hop ->
-            hop.type == HIERARCHY_OP_TYPE_REMOVE_TASK && hop.container == wallpaperToken.asBinder()
-        }
+        assertThat(
+                captor.firstValue.hierarchyOps.none { hop ->
+                    hop.type == HIERARCHY_OP_TYPE_REMOVE_TASK &&
+                        hop.container == wallpaperToken.asBinder()
+                }
+            )
+            .isTrue()
     }
 
     @Test
@@ -3915,6 +3936,7 @@
         // Should launch home
         assertNotNull(result, "Should handle request")
             .assertPendingIntentAt(0, launchHomeIntent(DEFAULT_DISPLAY))
+        result!!.assertPendingIntentActivityOptionsLaunchDisplayIdAt(0, DEFAULT_DISPLAY)
     }
 
     @Test
@@ -3941,6 +3963,7 @@
         // Should launch home
         assertNotNull(result, "Should handle request")
             .assertPendingIntentAt(0, launchHomeIntent(DEFAULT_DISPLAY))
+        result!!.assertPendingIntentActivityOptionsLaunchDisplayIdAt(0, DEFAULT_DISPLAY)
     }
 
     @Test
@@ -4073,6 +4096,7 @@
         // Should launch home
         assertNotNull(result, "Should handle request")
             .assertPendingIntentAt(0, launchHomeIntent(DEFAULT_DISPLAY))
+        result!!.assertPendingIntentActivityOptionsLaunchDisplayIdAt(0, DEFAULT_DISPLAY)
     }
 
     @Test
@@ -4089,6 +4113,7 @@
         // Should launch home
         assertNotNull(result, "Should handle request")
             .assertPendingIntentAt(0, launchHomeIntent(SECOND_DISPLAY))
+        result!!.assertPendingIntentActivityOptionsLaunchDisplayIdAt(0, SECOND_DISPLAY)
     }
 
     @Test
@@ -6310,6 +6335,61 @@
         assertThat(taskRepository.getNumberOfDesks(DEFAULT_DISPLAY)).isEqualTo(currentDeskCount + 1)
     }
 
+    @Test
+    @EnableFlags(
+        Flags.FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY,
+        Flags.FLAG_ENABLE_DESKTOP_WALLPAPER_ACTIVITY_FOR_SYSTEM_USER,
+    )
+    fun startLaunchTransition_desktopNotShowing_movesWallpaperToFront() {
+        val launchingTask = createFreeformTask()
+        val wct = WindowContainerTransaction()
+        wct.reorder(launchingTask.token, /* onTop= */ true)
+        whenever(
+                desktopMixedTransitionHandler.startLaunchTransition(
+                    eq(TRANSIT_OPEN),
+                    any(),
+                    anyOrNull(),
+                    anyOrNull(),
+                    anyOrNull(),
+                )
+            )
+            .thenReturn(Binder())
+
+        controller.startLaunchTransition(TRANSIT_OPEN, wct, launchingTaskId = null)
+
+        val latestWct = getLatestDesktopMixedTaskWct(type = TRANSIT_OPEN)
+        val launchingTaskReorderIndex = latestWct.indexOfReorder(launchingTask, toTop = true)
+        val wallpaperReorderIndex = latestWct.indexOfReorder(wallpaperToken, toTop = true)
+        assertThat(launchingTaskReorderIndex).isNotEqualTo(-1)
+        assertThat(wallpaperReorderIndex).isNotEqualTo(-1)
+        assertThat(launchingTaskReorderIndex).isGreaterThan(wallpaperReorderIndex)
+    }
+
+    @Test
+    @EnableFlags(
+        Flags.FLAG_ENABLE_DESKTOP_WINDOWING_WALLPAPER_ACTIVITY,
+        Flags.FLAG_ENABLE_DESKTOP_WALLPAPER_ACTIVITY_FOR_SYSTEM_USER,
+    )
+    fun startLaunchTransition_desktopShowing_doesNotReorderWallpaper() {
+        val wct = WindowContainerTransaction()
+        whenever(
+                desktopMixedTransitionHandler.startLaunchTransition(
+                    eq(TRANSIT_OPEN),
+                    any(),
+                    anyOrNull(),
+                    anyOrNull(),
+                    anyOrNull(),
+                )
+            )
+            .thenReturn(Binder())
+
+        setUpFreeformTask()
+        controller.startLaunchTransition(TRANSIT_OPEN, wct, launchingTaskId = null)
+
+        val latestWct = getLatestDesktopMixedTaskWct(type = TRANSIT_OPEN)
+        assertNull(latestWct.hierarchyOps.find { op -> op.container == wallpaperToken.asBinder() })
+    }
+
     private class RunOnStartTransitionCallback : ((IBinder) -> Unit) {
         var invocations = 0
             private set
@@ -6696,11 +6776,18 @@
 }
 
 private fun WindowContainerTransaction.indexOfReorder(
+    token: WindowContainerToken,
+    toTop: Boolean? = null,
+): Int {
+    val hop = hierarchyOps.singleOrNull(ReorderPredicate(token, toTop)) ?: return -1
+    return hierarchyOps.indexOf(hop)
+}
+
+private fun WindowContainerTransaction.indexOfReorder(
     task: RunningTaskInfo,
     toTop: Boolean? = null,
 ): Int {
-    val hop = hierarchyOps.singleOrNull(ReorderPredicate(task.token, toTop)) ?: return -1
-    return hierarchyOps.indexOf(hop)
+    return indexOfReorder(task.token, toTop)
 }
 
 private class ReorderPredicate(val token: WindowContainerToken, val toTop: Boolean? = null) :
@@ -6820,6 +6907,29 @@
     assertThat(op.pendingIntent?.intent?.categories).isEqualTo(intent.categories)
 }
 
+private fun WindowContainerTransaction.assertPendingIntentActivityOptionsLaunchDisplayIdAt(
+    index: Int,
+    displayId: Int,
+) {
+    assertIndexInBounds(index)
+    val op = hierarchyOps[index]
+    if (op.launchOptions != null) {
+        val options = ActivityOptions(op.launchOptions)
+        assertThat(options.launchDisplayId).isEqualTo(displayId)
+    }
+}
+
+private fun WindowContainerTransaction.assertLaunchTask(taskId: Int, windowingMode: Int) {
+    val keyLaunchWindowingMode = "android.activity.windowingMode"
+
+    assertHop { hop ->
+        hop.type == HIERARCHY_OP_TYPE_LAUNCH_TASK &&
+            hop.launchOptions?.getInt(LAUNCH_KEY_TASK_ID) == taskId &&
+            hop.launchOptions?.getInt(keyLaunchWindowingMode, WINDOWING_MODE_UNDEFINED) ==
+                windowingMode
+    }
+}
+
 private fun WindowContainerTransaction.assertLaunchTaskAt(
     index: Int,
     taskId: Int,
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt
index d33209d..62e3c54 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/desktopmode/DesktopTasksLimiterTest.kt
@@ -37,7 +37,6 @@
 import com.android.dx.mockito.inline.extended.ExtendedMockito
 import com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn
 import com.android.dx.mockito.inline.extended.StaticMockitoSession
-import com.android.internal.jank.Cuj.CUJ_DESKTOP_MODE_MINIMIZE_WINDOW
 import com.android.internal.jank.InteractionJankMonitor
 import com.android.window.flags.Flags.FLAG_ENABLE_DESKTOP_WINDOWING_BACK_NAVIGATION
 import com.android.wm.shell.ShellTaskOrganizer
@@ -72,8 +71,6 @@
 import org.mockito.Mockito.mock
 import org.mockito.Mockito.spy
 import org.mockito.Mockito.`when`
-import org.mockito.kotlin.eq
-import org.mockito.kotlin.verify
 import org.mockito.quality.Strictness
 
 /**
@@ -521,85 +518,6 @@
     }
 
     @Test
-    fun minimizeTransitionReadyAndFinished_logsJankInstrumentationBeginAndEnd() {
-        desktopTaskRepo.addDesk(displayId = DEFAULT_DISPLAY, deskId = 0)
-        desktopTaskRepo.setActiveDesk(displayId = DEFAULT_DISPLAY, deskId = 0)
-        (1..<MAX_TASK_LIMIT).forEach { _ -> setUpFreeformTask() }
-        val transition = Binder()
-        val task = setUpFreeformTask()
-        addPendingMinimizeChange(transition, taskId = task.taskId)
-
-        callOnTransitionReady(
-            transition,
-            TransitionInfoBuilder(TRANSIT_OPEN).addChange(TRANSIT_TO_BACK, task).build(),
-        )
-
-        desktopTasksLimiter.getTransitionObserver().onTransitionStarting(transition)
-
-        verify(interactionJankMonitor)
-            .begin(any(), eq(mContext), eq(handler), eq(CUJ_DESKTOP_MODE_MINIMIZE_WINDOW))
-
-        desktopTasksLimiter
-            .getTransitionObserver()
-            .onTransitionFinished(transition, /* aborted= */ false)
-
-        verify(interactionJankMonitor).end(eq(CUJ_DESKTOP_MODE_MINIMIZE_WINDOW))
-    }
-
-    @Test
-    fun minimizeTransitionReadyAndAborted_logsJankInstrumentationBeginAndCancel() {
-        desktopTaskRepo.addDesk(displayId = DEFAULT_DISPLAY, deskId = 0)
-        desktopTaskRepo.setActiveDesk(displayId = DEFAULT_DISPLAY, deskId = 0)
-        (1..<MAX_TASK_LIMIT).forEach { _ -> setUpFreeformTask() }
-        val transition = Binder()
-        val task = setUpFreeformTask()
-        addPendingMinimizeChange(transition, taskId = task.taskId)
-
-        callOnTransitionReady(
-            transition,
-            TransitionInfoBuilder(TRANSIT_OPEN).addChange(TRANSIT_TO_BACK, task).build(),
-        )
-
-        desktopTasksLimiter.getTransitionObserver().onTransitionStarting(transition)
-
-        verify(interactionJankMonitor)
-            .begin(any(), eq(mContext), eq(handler), eq(CUJ_DESKTOP_MODE_MINIMIZE_WINDOW))
-
-        desktopTasksLimiter
-            .getTransitionObserver()
-            .onTransitionFinished(transition, /* aborted= */ true)
-
-        verify(interactionJankMonitor).cancel(eq(CUJ_DESKTOP_MODE_MINIMIZE_WINDOW))
-    }
-
-    @Test
-    fun minimizeTransitionReadyAndMerged_logsJankInstrumentationBeginAndEnd() {
-        desktopTaskRepo.addDesk(displayId = DEFAULT_DISPLAY, deskId = 0)
-        desktopTaskRepo.setActiveDesk(displayId = DEFAULT_DISPLAY, deskId = 0)
-        (1..<MAX_TASK_LIMIT).forEach { _ -> setUpFreeformTask() }
-        val mergedTransition = Binder()
-        val newTransition = Binder()
-        val task = setUpFreeformTask()
-        addPendingMinimizeChange(mergedTransition, taskId = task.taskId)
-
-        callOnTransitionReady(
-            mergedTransition,
-            TransitionInfoBuilder(TRANSIT_OPEN).addChange(TRANSIT_TO_BACK, task).build(),
-        )
-
-        desktopTasksLimiter.getTransitionObserver().onTransitionStarting(mergedTransition)
-
-        verify(interactionJankMonitor)
-            .begin(any(), eq(mContext), eq(handler), eq(CUJ_DESKTOP_MODE_MINIMIZE_WINDOW))
-
-        desktopTasksLimiter
-            .getTransitionObserver()
-            .onTransitionMerged(mergedTransition, newTransition)
-
-        verify(interactionJankMonitor).end(eq(CUJ_DESKTOP_MODE_MINIMIZE_WINDOW))
-    }
-
-    @Test
     fun getMinimizingTask_noPendingTransition_returnsNull() {
         val transition = Binder()
 
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/GroupedTaskInfoTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/GroupedTaskInfoTest.kt
index 3209664..6ecebd7 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/GroupedTaskInfoTest.kt
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/GroupedTaskInfoTest.kt
@@ -26,7 +26,7 @@
 import androidx.test.filters.SmallTest
 import com.android.wm.shell.ShellTestCase
 import com.android.wm.shell.shared.GroupedTaskInfo
-import com.android.wm.shell.shared.GroupedTaskInfo.TYPE_FREEFORM
+import com.android.wm.shell.shared.GroupedTaskInfo.TYPE_DESK
 import com.android.wm.shell.shared.GroupedTaskInfo.TYPE_FULLSCREEN
 import com.android.wm.shell.shared.GroupedTaskInfo.TYPE_SPLIT
 import com.android.wm.shell.shared.split.SplitBounds
@@ -87,14 +87,14 @@
     }
 
     @Test
-    fun testFreeformTasks_hasCorrectType() {
-        assertThat(freeformTasksGroupInfo(freeformTaskIds = arrayOf(1)).isBaseType(TYPE_FREEFORM))
+    fun testDeskTasks_hasCorrectType() {
+        assertThat(deskTasksGroupInfo(deskId = 0, freeformTaskIds = arrayOf(1)).isBaseType(TYPE_DESK))
             .isTrue()
     }
 
     @Test
-    fun testCreateFreeformTasks_hasCorrectNumberOfTasks() {
-        val list = freeformTasksGroupInfo(freeformTaskIds = arrayOf(1, 2, 3)).taskInfoList
+    fun testCreateDeskTasks_hasCorrectNumberOfTasks() {
+        val list = deskTasksGroupInfo(deskId = 0, freeformTaskIds = arrayOf(1, 2, 3)).taskInfoList
         assertThat(list).hasSize(3)
         assertThat(list[0].taskId).isEqualTo(1)
         assertThat(list[1].taskId).isEqualTo(2)
@@ -102,9 +102,9 @@
     }
 
     @Test
-    fun testCreateFreeformTasks_nonExistentMinimizedTaskId_throwsException() {
+    fun testCreateDeskTasks_nonExistentMinimizedTaskId_throwsException() {
         assertThrows(IllegalArgumentException::class.java) {
-            freeformTasksGroupInfo(
+            deskTasksGroupInfo(deskId = 0,
                 freeformTaskIds = arrayOf(1, 2, 3),
                 minimizedTaskIds = arrayOf(1, 4)
             )
@@ -122,8 +122,8 @@
     }
 
     @Test
-    fun testMixedWithFreeformBase_hasCorrectType() {
-        assertThat(mixedTaskGroupInfoWithFreeformBase().isBaseType(TYPE_FREEFORM)).isTrue()
+    fun testMixedWithDeskBase_hasCorrectType() {
+        assertThat(mixedTaskGroupInfoWithDeskBase().isBaseType(TYPE_DESK)).isTrue()
     }
 
     @Test
@@ -190,15 +190,16 @@
     }
 
     @Test
-    fun testParcelling_freeformTasks() {
-        val taskInfo = freeformTasksGroupInfo(freeformTaskIds = arrayOf(1, 2, 3))
+    fun testParcelling_DeskTasks() {
+        val taskInfo = deskTasksGroupInfo(deskId = 50, freeformTaskIds = arrayOf(1, 2, 3))
         val parcel = Parcel.obtain()
         taskInfo.writeToParcel(parcel, 0)
         parcel.setDataPosition(0)
         // Read the object back from the parcel
         val taskInfoFromParcel: GroupedTaskInfo =
             GroupedTaskInfo.CREATOR.createFromParcel(parcel)
-        assertThat(taskInfoFromParcel.isBaseType(TYPE_FREEFORM)).isTrue()
+        assertThat(taskInfoFromParcel.deskId).isEqualTo(taskInfo.deskId)
+        assertThat(taskInfoFromParcel.isBaseType(TYPE_DESK)).isTrue()
         assertThat(taskInfoFromParcel.taskInfoList).hasSize(3)
         // Only compare task ids
         val taskIdComparator = Correspondence.transforming<TaskInfo, Int>(
@@ -209,8 +210,8 @@
     }
 
     @Test
-    fun testParcelling_freeformTasks_minimizedTasks() {
-        val taskInfo = freeformTasksGroupInfo(
+    fun testParcelling_DeskTasks_minimizedTasks() {
+        val taskInfo = deskTasksGroupInfo(deskId = 0,
             freeformTaskIds = arrayOf(1, 2, 3), minimizedTaskIds = arrayOf(2))
 
         val parcel = Parcel.obtain()
@@ -220,14 +221,14 @@
         // Read the object back from the parcel
         val taskInfoFromParcel: GroupedTaskInfo =
             GroupedTaskInfo.CREATOR.createFromParcel(parcel)
-        assertThat(taskInfoFromParcel.isBaseType(TYPE_FREEFORM)).isTrue()
+        assertThat(taskInfoFromParcel.isBaseType(TYPE_DESK)).isTrue()
         assertThat(taskInfoFromParcel.minimizedTaskIds).isEqualTo(arrayOf(2).toIntArray())
     }
 
     @Test
     fun testParcelling_mixedTasks() {
         val taskInfo = GroupedTaskInfo.forMixed(listOf(
-                freeformTasksGroupInfo(freeformTaskIds = arrayOf(4, 5, 6),
+                deskTasksGroupInfo(deskId = 0, freeformTaskIds = arrayOf(4, 5, 6),
                     minimizedTaskIds = arrayOf(5)),
                 splitTasksGroupInfo(firstId = 2, secondId = 3),
                 singleTaskGroupInfo(id = 1)))
@@ -239,7 +240,7 @@
         // Read the object back from the parcel
         val taskInfoFromParcel: GroupedTaskInfo =
             GroupedTaskInfo.CREATOR.createFromParcel(parcel)
-        assertThat(taskInfoFromParcel.isBaseType(TYPE_FREEFORM)).isTrue()
+        assertThat(taskInfoFromParcel.isBaseType(TYPE_DESK)).isTrue()
         assertThat(taskInfoFromParcel.baseGroupedTask.minimizedTaskIds).isEqualTo(
             arrayOf(5).toIntArray())
         for (i in 1..6) {
@@ -275,12 +276,14 @@
     }
 
     @Test
-    fun testTaskProperties_freeformTasks() {
+    fun testTaskProperties_DeskTasks() {
         val task1 = createTaskInfo(id = 1)
         val task2 = createTaskInfo(id = 2)
 
-        val taskInfo = GroupedTaskInfo.forFreeformTasks(listOf(task1, task2), setOf())
+        val taskInfo = GroupedTaskInfo.forDeskTasks(
+            /* deskId = */ 500, listOf(task1, task2), setOf())
 
+        assertThat(taskInfo.deskId).isEqualTo(500)
         assertThat(taskInfo.getTaskById(1)).isEqualTo(task1)
         assertThat(taskInfo.getTaskById(2)).isEqualTo(task2)
         assertThat(taskInfo.containsTask(1)).isTrue()
@@ -325,11 +328,13 @@
         return GroupedTaskInfo.forSplitTasks(task1, task2, splitBounds)
     }
 
-    private fun freeformTasksGroupInfo(
+    private fun deskTasksGroupInfo(
+        deskId: Int,
         freeformTaskIds: Array<Int>,
         minimizedTaskIds: Array<Int> = emptyArray()
     ): GroupedTaskInfo {
-        return GroupedTaskInfo.forFreeformTasks(
+        return GroupedTaskInfo.forDeskTasks(
+            deskId,
             freeformTaskIds.map { createTaskInfo(it) }.toList(),
             minimizedTaskIds.toSet())
     }
@@ -346,9 +351,9 @@
             singleTaskGroupInfo(id = 1)))
     }
 
-    private fun mixedTaskGroupInfoWithFreeformBase(): GroupedTaskInfo {
+    private fun mixedTaskGroupInfoWithDeskBase(): GroupedTaskInfo {
         return GroupedTaskInfo.forMixed(listOf(
-            freeformTasksGroupInfo(freeformTaskIds = arrayOf(2, 3, 4)),
+            deskTasksGroupInfo(deskId = 0, freeformTaskIds = arrayOf(2, 3, 4)),
             singleTaskGroupInfo(id = 1)))
     }
 }
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentTasksControllerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentTasksControllerTest.java
index a546b3e..bf65cae 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentTasksControllerTest.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentTasksControllerTest.java
@@ -24,7 +24,7 @@
 
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession;
 import static com.android.window.flags.Flags.FLAG_ENABLE_DESKTOP_WINDOWING_PERSISTENCE;
-import static com.android.wm.shell.shared.GroupedTaskInfo.TYPE_FREEFORM;
+import static com.android.wm.shell.shared.GroupedTaskInfo.TYPE_DESK;
 import static com.android.wm.shell.shared.GroupedTaskInfo.TYPE_FULLSCREEN;
 import static com.android.wm.shell.shared.GroupedTaskInfo.TYPE_SPLIT;
 import static com.android.wm.shell.shared.split.SplitScreenConstants.SNAP_TO_2_50_50;
@@ -349,7 +349,7 @@
         GroupedTaskInfo freeformGroup = recentTasks.get(2);
 
         // Check that groups have expected types
-        assertTrue(freeformGroup.isBaseType(TYPE_FREEFORM));
+        assertTrue(freeformGroup.isBaseType(TYPE_DESK));
         assertTrue(singleGroup1.isBaseType(TYPE_FULLSCREEN));
         assertTrue(singleGroup2.isBaseType(TYPE_FULLSCREEN));
 
@@ -389,7 +389,7 @@
 
         // Check that groups have expected types
         assertTrue(splitGroup.isBaseType(TYPE_SPLIT));
-        assertTrue(freeformGroup.isBaseType(TYPE_FREEFORM));
+        assertTrue(freeformGroup.isBaseType(TYPE_DESK));
         assertTrue(singleGroup.isBaseType(TYPE_FULLSCREEN));
 
         // Check freeform group entries
@@ -460,7 +460,7 @@
         GroupedTaskInfo freeformGroup = recentTasks.get(2);
 
         // Check that groups have expected types
-        assertTrue(freeformGroup.isBaseType(TYPE_FREEFORM));
+        assertTrue(freeformGroup.isBaseType(TYPE_DESK));
         assertTrue(singleGroup1.isBaseType(TYPE_FULLSCREEN));
         assertTrue(singleGroup2.isBaseType(TYPE_FULLSCREEN));
 
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentsTransitionHandlerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentsTransitionHandlerTest.java
index c8025a9..93dd345 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentsTransitionHandlerTest.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentsTransitionHandlerTest.java
@@ -17,16 +17,20 @@
 package com.android.wm.shell.recents;
 
 import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
+import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
 import static android.view.WindowManager.TRANSIT_CLOSE;
 import static android.view.WindowManager.TRANSIT_OPEN;
+import static android.view.WindowManager.TRANSIT_SLEEP;
 import static android.view.WindowManager.TRANSIT_TO_FRONT;
 
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession;
 import static com.android.window.flags.Flags.FLAG_ENABLE_DESKTOP_RECENTS_TRANSITIONS_CORNERS_BUGFIX;
+import static com.android.wm.shell.Flags.FLAG_ENABLE_RECENTS_BOOKEND_TRANSITION;
 import static com.android.wm.shell.recents.RecentsTransitionStateListener.TRANSITION_STATE_ANIMATING;
 import static com.android.wm.shell.recents.RecentsTransitionStateListener.TRANSITION_STATE_NOT_RUNNING;
 import static com.android.wm.shell.recents.RecentsTransitionStateListener.TRANSITION_STATE_REQUESTED;
+import static com.android.wm.shell.transition.Transitions.TRANSIT_END_RECENTS_TRANSITION;
 import static com.android.wm.shell.transition.Transitions.TRANSIT_START_RECENTS_TRANSITION;
 
 import static com.google.common.truth.Truth.assertThat;
@@ -308,8 +312,7 @@
         mRecentsTransitionHandler.findController(transition).merge(
                 mergeTransitionInfo,
                 new StubTransaction(),
-                finishT,
-                transition,
+                new StubTransaction(),
                 mock(Transitions.TransitionFinishCallback.class));
         mMainExecutor.flushAll();
 
@@ -318,6 +321,69 @@
     }
 
     @Test
+    @EnableFlags(FLAG_ENABLE_RECENTS_BOOKEND_TRANSITION)
+    public void testMerge_consumeBookendTransition() throws Exception {
+        // Start and finish the transition
+        final IRecentsAnimationRunner animationRunner = mock(IRecentsAnimationRunner.class);
+        final IBinder transition = startRecentsTransition(/* synthetic= */ false, animationRunner);
+        mRecentsTransitionHandler.startAnimation(
+                transition, createTransitionInfo(), new StubTransaction(), new StubTransaction(),
+                mock(Transitions.TransitionFinishCallback.class));
+        mRecentsTransitionHandler.findController(transition).finish(/* toHome= */ false,
+                false /* sendUserLeaveHint */, mock(IResultReceiver.class));
+        mMainExecutor.flushAll();
+
+        // Merge the bookend transition
+        TransitionInfo mergeTransitionInfo =
+                new TransitionInfoBuilder(TRANSIT_END_RECENTS_TRANSITION)
+                        .addChange(TRANSIT_OPEN, new TestRunningTaskInfoBuilder().build())
+                        .build();
+        SurfaceControl.Transaction finishT = mock(SurfaceControl.Transaction.class);
+        Transitions.TransitionFinishCallback finishCallback
+                = mock(Transitions.TransitionFinishCallback.class);
+        mRecentsTransitionHandler.findController(transition).merge(
+                mergeTransitionInfo,
+                new StubTransaction(),
+                finishT,
+                finishCallback);
+        mMainExecutor.flushAll();
+
+        // Verify that we've merged
+        verify(finishCallback).onTransitionFinished(any());
+    }
+
+    @Test
+    @EnableFlags(FLAG_ENABLE_RECENTS_BOOKEND_TRANSITION)
+    public void testMerge_pendingBookendTransition_mergesTransition() throws Exception {
+        // Start and finish the transition
+        final IRecentsAnimationRunner animationRunner = mock(IRecentsAnimationRunner.class);
+        final IBinder transition = startRecentsTransition(/* synthetic= */ false, animationRunner);
+        mRecentsTransitionHandler.startAnimation(
+                transition, createTransitionInfo(), new StubTransaction(), new StubTransaction(),
+                mock(Transitions.TransitionFinishCallback.class));
+        mRecentsTransitionHandler.findController(transition).finish(/* toHome= */ false,
+                false /* sendUserLeaveHint */, mock(IResultReceiver.class));
+        mMainExecutor.flushAll();
+
+        // Merge a new transition while we have a pending finish
+        TransitionInfo mergeTransitionInfo = new TransitionInfoBuilder(TRANSIT_OPEN)
+                .addChange(TRANSIT_OPEN, new TestRunningTaskInfoBuilder().build())
+                .build();
+        SurfaceControl.Transaction finishT = mock(SurfaceControl.Transaction.class);
+        Transitions.TransitionFinishCallback finishCallback
+                = mock(Transitions.TransitionFinishCallback.class);
+        mRecentsTransitionHandler.findController(transition).merge(
+                mergeTransitionInfo,
+                new StubTransaction(),
+                finishT,
+                finishCallback);
+        mMainExecutor.flushAll();
+
+        // Verify that we've cleaned up the original transition
+        assertNull(mRecentsTransitionHandler.findController(transition));
+    }
+
+    @Test
     @EnableFlags(FLAG_ENABLE_DESKTOP_RECENTS_TRANSITIONS_CORNERS_BUGFIX)
     public void testMergeAndFinish_openingFreeformTasks_setsCornerRadius() {
         ActivityManager.RunningTaskInfo freeformTask =
@@ -336,7 +402,6 @@
                 mergeTransitionInfo,
                 new StubTransaction(),
                 finishT,
-                transition,
                 mock(Transitions.TransitionFinishCallback.class));
         mRecentsTransitionHandler.findController(transition).finish(/* toHome= */ false,
                 false /* sendUserLeaveHint */, mock(IResultReceiver.class));
@@ -385,15 +450,23 @@
     }
 
     private TransitionInfo createTransitionInfo() {
-        final ActivityManager.RunningTaskInfo task = new TestRunningTaskInfoBuilder()
+        final ActivityManager.RunningTaskInfo homeTask = new TestRunningTaskInfoBuilder()
                 .setTopActivityType(ACTIVITY_TYPE_HOME)
                 .build();
+        final ActivityManager.RunningTaskInfo appTask = new TestRunningTaskInfoBuilder()
+                .setTopActivityType(ACTIVITY_TYPE_STANDARD)
+                .build();
         final TransitionInfo.Change homeChange = new TransitionInfo.Change(
-                task.token, new SurfaceControl());
+                homeTask.token, new SurfaceControl());
         homeChange.setMode(TRANSIT_TO_FRONT);
-        homeChange.setTaskInfo(task);
+        homeChange.setTaskInfo(homeTask);
+        final TransitionInfo.Change appChange = new TransitionInfo.Change(
+                appTask.token, new SurfaceControl());
+        appChange.setMode(TRANSIT_TO_FRONT);
+        appChange.setTaskInfo(appTask);
         return new TransitionInfoBuilder(TRANSIT_START_RECENTS_TRANSITION)
                 .addChange(homeChange)
+                .addChange(appChange)
                 .build();
     }
 
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/animation/MinimizeAnimatorTest.kt b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/animation/MinimizeAnimatorTest.kt
new file mode 100644
index 0000000..ba609d4
--- /dev/null
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/shared/animation/MinimizeAnimatorTest.kt
@@ -0,0 +1,118 @@
+/*
+ * Copyright (C) 2025 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.wm.shell.shared.animation
+
+import android.animation.Animator
+import android.animation.AnimatorSet
+import android.animation.ValueAnimator
+import android.content.Context
+import android.content.res.Resources
+import android.os.Handler
+import android.util.DisplayMetrics
+import android.view.SurfaceControl
+import android.view.SurfaceControl.Transaction
+import android.window.TransitionInfo
+import android.window.WindowContainerToken
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import androidx.test.internal.runner.junit4.statement.UiThreadStatement.runOnUiThread
+import com.android.internal.jank.Cuj.CUJ_DESKTOP_MODE_MINIMIZE_WINDOW
+import com.android.internal.jank.InteractionJankMonitor
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.ArgumentMatchers.any
+import org.mockito.ArgumentMatchers.anyFloat
+import org.mockito.ArgumentMatchers.anyLong
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.never
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
+
+@SmallTest
+@RunWith(AndroidJUnit4::class)
+class MinimizeAnimatorTest {
+    private val context = mock<Context>()
+    private val resources = mock<Resources>()
+    private val transaction = mock<Transaction>()
+    private val leash = mock<SurfaceControl>()
+    private val interactionJankMonitor = mock<InteractionJankMonitor>()
+    private val animationHandler = mock<Handler>()
+
+    private val displayMetrics = DisplayMetrics().apply { density = 1f }
+
+    @Before
+    fun setup() {
+        whenever(context.resources).thenReturn(resources)
+        whenever(resources.displayMetrics).thenReturn(displayMetrics)
+        whenever(transaction.setAlpha(any(), anyFloat())).thenReturn(transaction)
+        whenever(transaction.setPosition(any(), anyFloat(), anyFloat())).thenReturn(transaction)
+        whenever(transaction.setScale(any(), anyFloat(), anyFloat())).thenReturn(transaction)
+        whenever(transaction.setFrameTimeline(anyLong())).thenReturn(transaction)
+    }
+
+    @Test
+    fun create_returnsBoundsAndAlphaAnimators() {
+        val change = TransitionInfo.Change(mock<WindowContainerToken>(), leash)
+
+        val animator = createAnimator(change)
+
+        assertThat(animator).isInstanceOf(AnimatorSet::class.java)
+        val animatorSet = animator as AnimatorSet
+        assertThat(animatorSet.childAnimations).hasSize(2)
+        assertIsBoundsAnimator(animatorSet.childAnimations[0])
+        assertIsAlphaAnimator(animatorSet.childAnimations[1])
+    }
+
+    @Test
+    fun create_doesNotlogJankInstrumentation() = runOnUiThread {
+        val change = TransitionInfo.Change(mock<WindowContainerToken>(), leash)
+
+        createAnimator(change)
+
+        verify(interactionJankMonitor, never()).begin(
+            leash, context, animationHandler, CUJ_DESKTOP_MODE_MINIMIZE_WINDOW)
+    }
+
+    @Test
+    fun onAnimationStart_logsJankInstrumentation() = runOnUiThread {
+        val change = TransitionInfo.Change(mock<WindowContainerToken>(), leash)
+
+        createAnimator(change).start()
+
+        verify(interactionJankMonitor).begin(
+            leash, context, animationHandler, CUJ_DESKTOP_MODE_MINIMIZE_WINDOW)
+    }
+
+    private fun createAnimator(change: TransitionInfo.Change): Animator =
+        MinimizeAnimator.create(context, change, transaction, {}, interactionJankMonitor,
+            animationHandler)
+
+    private fun assertIsBoundsAnimator(animator: Animator) {
+        assertThat(animator).isInstanceOf(ValueAnimator::class.java)
+        assertThat(animator.duration).isEqualTo(200)
+        assertThat(animator.interpolator).isEqualTo(Interpolators.STANDARD_ACCELERATE)
+    }
+
+    private fun assertIsAlphaAnimator(animator: Animator) {
+        assertThat(animator).isInstanceOf(ValueAnimator::class.java)
+        assertThat(animator.duration).isEqualTo(100)
+        assertThat(animator.interpolator).isEqualTo(Interpolators.LINEAR)
+    }
+}
+
diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/HomeTransitionObserverTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/HomeTransitionObserverTest.java
index 6f28e656..3099b0f 100644
--- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/HomeTransitionObserverTest.java
+++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/transition/HomeTransitionObserverTest.java
@@ -17,36 +17,44 @@
 package com.android.wm.shell.transition;
 
 import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
+import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
 import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED;
 import static android.view.WindowManager.TRANSIT_CHANGE;
 import static android.view.WindowManager.TRANSIT_OPEN;
 import static android.view.WindowManager.TRANSIT_PREPARE_BACK_NAVIGATION;
 import static android.view.WindowManager.TRANSIT_TO_BACK;
+import static android.view.WindowManager.TRANSIT_TO_FRONT;
 import static android.window.TransitionInfo.FLAG_BACK_GESTURE_ANIMATED;
 
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
 import static com.android.wm.shell.desktopmode.DesktopModeTransitionTypes.TRANSIT_DESKTOP_MODE_START_DRAG_TO_DESKTOP;
+import static com.android.wm.shell.transition.Transitions.TRANSIT_CONVERT_TO_BUBBLE;
 
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.when;
 
 import android.app.ActivityManager;
 import android.app.WindowConfiguration.ActivityType;
 import android.content.Context;
+import android.os.Binder;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Looper;
 import android.os.RemoteException;
+import android.platform.test.annotations.EnableFlags;
 import android.view.SurfaceControl;
 import android.window.TransitionInfo;
 import android.window.TransitionInfo.TransitionMode;
+import android.window.WindowContainerToken;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.SmallTest;
 import androidx.test.platform.app.InstrumentationRegistry;
 
+import com.android.wm.shell.Flags;
 import com.android.wm.shell.ShellTaskOrganizer;
 import com.android.wm.shell.ShellTestCase;
 import com.android.wm.shell.TestShellExecutor;
@@ -188,6 +196,72 @@
     }
 
     @Test
+    @EnableFlags({Flags.FLAG_ENABLE_BUBBLE_TO_FULLSCREEN, Flags.FLAG_ENABLE_CREATE_ANY_BUBBLE})
+    public void testDragTaskToBubbleOverHome_notifiesHomeIsVisible() throws RemoteException {
+        ActivityManager.RunningTaskInfo homeTask = createTaskInfo(1, ACTIVITY_TYPE_HOME);
+        ActivityManager.RunningTaskInfo bubbleTask = createTaskInfo(2, ACTIVITY_TYPE_STANDARD);
+
+        TransitionInfo startDragTransition =
+                new TransitionInfoBuilder(TRANSIT_DESKTOP_MODE_START_DRAG_TO_DESKTOP)
+                        .addChange(TRANSIT_TO_FRONT, homeTask)
+                        .addChange(TRANSIT_TO_BACK, bubbleTask)
+                        .build();
+
+        // Start drag to desktop which brings home to front
+        mHomeTransitionObserver.onTransitionReady(new Binder(), startDragTransition,
+                MockTransactionPool.create(), MockTransactionPool.create());
+        // Does not notify home visibility yet
+        verify(mListener, never()).onHomeVisibilityChanged(anyBoolean());
+
+        TransitionInfo convertToBubbleTransition =
+                new TransitionInfoBuilder(TRANSIT_CONVERT_TO_BUBBLE)
+                        .addChange(TRANSIT_TO_FRONT, bubbleTask)
+                        .build();
+
+        // Convert to bubble. Transition does not include changes for home task
+        mHomeTransitionObserver.onTransitionReady(new Binder(), convertToBubbleTransition,
+                MockTransactionPool.create(), MockTransactionPool.create());
+
+        // Notifies home visibility change that was pending from the start of drag
+        verify(mListener).onHomeVisibilityChanged(true);
+    }
+
+    @Test
+    @EnableFlags({Flags.FLAG_ENABLE_BUBBLE_TO_FULLSCREEN, Flags.FLAG_ENABLE_CREATE_ANY_BUBBLE})
+    public void testDragTaskToBubbleOverOtherTask_notifiesHomeIsNotVisible()
+            throws RemoteException {
+        ActivityManager.RunningTaskInfo homeTask = createTaskInfo(1, ACTIVITY_TYPE_HOME);
+        ActivityManager.RunningTaskInfo bubbleTask = createTaskInfo(2, ACTIVITY_TYPE_STANDARD);
+        ActivityManager.RunningTaskInfo otherTask = createTaskInfo(3, ACTIVITY_TYPE_STANDARD);
+
+        TransitionInfo startDragTransition =
+                new TransitionInfoBuilder(TRANSIT_DESKTOP_MODE_START_DRAG_TO_DESKTOP)
+                        .addChange(TRANSIT_TO_FRONT, homeTask)
+                        .addChange(TRANSIT_TO_BACK, bubbleTask)
+                        .build();
+
+        // Start drag to desktop which brings home to front
+        mHomeTransitionObserver.onTransitionReady(new Binder(), startDragTransition,
+                MockTransactionPool.create(), MockTransactionPool.create());
+        // Does not notify home visibility yet
+        verify(mListener, never()).onHomeVisibilityChanged(anyBoolean());
+
+        TransitionInfo convertToBubbleTransition =
+                new TransitionInfoBuilder(TRANSIT_CONVERT_TO_BUBBLE)
+                        .addChange(TRANSIT_TO_FRONT, bubbleTask)
+                        .addChange(TRANSIT_TO_FRONT, otherTask)
+                        .addChange(TRANSIT_TO_BACK, homeTask)
+                        .build();
+
+        // Convert to bubble. Transition includes home task to back which updates home visibility
+        mHomeTransitionObserver.onTransitionReady(new Binder(), convertToBubbleTransition,
+                MockTransactionPool.create(), MockTransactionPool.create());
+
+        // Notifies home visibility change due to home moving to back in the second transition
+        verify(mListener).onHomeVisibilityChanged(false);
+    }
+
+    @Test
     public void testHomeActivityWithBackGestureNotifiesHomeIsVisibleAfterClose()
             throws RemoteException {
         TransitionInfo info = mock(TransitionInfo.class);
@@ -227,4 +301,14 @@
         when(change.getMode()).thenReturn(mode);
         taskInfo.isRunning = isRunning;
     }
+
+    private static ActivityManager.RunningTaskInfo createTaskInfo(int taskId, int activityType) {
+        ActivityManager.RunningTaskInfo taskInfo = new ActivityManager.RunningTaskInfo();
+        taskInfo.taskId = taskId;
+        taskInfo.topActivityType = activityType;
+        taskInfo.configuration.windowConfiguration.setActivityType(activityType);
+        taskInfo.token = mock(WindowContainerToken.class);
+        taskInfo.isRunning = true;
+        return taskInfo;
+    }
 }
diff --git a/libs/hostgraphics/Fence.cpp b/libs/hostgraphics/Fence.cpp
index 4383bf0..938a938 100644
--- a/libs/hostgraphics/Fence.cpp
+++ b/libs/hostgraphics/Fence.cpp
@@ -18,6 +18,6 @@
 
 namespace android {
 
-const sp<Fence> Fence::NO_FENCE = sp<Fence>(new Fence);
+const sp<Fence> Fence::NO_FENCE = sp<Fence>::make();
 
 } // namespace android
diff --git a/libs/hostgraphics/include/gui/BufferItemConsumer.h b/libs/hostgraphics/include/gui/BufferItemConsumer.h
index c259411..5c96c82 100644
--- a/libs/hostgraphics/include/gui/BufferItemConsumer.h
+++ b/libs/hostgraphics/include/gui/BufferItemConsumer.h
@@ -17,6 +17,8 @@
 #ifndef ANDROID_GUI_BUFFERITEMCONSUMER_H
 #define ANDROID_GUI_BUFFERITEMCONSUMER_H
 
+#include <com_android_graphics_libgui_flags.h>
+#include <gui/BufferQueue.h>
 #include <gui/ConsumerBase.h>
 #include <gui/IGraphicBufferConsumer.h>
 #include <utils/RefBase.h>
@@ -26,9 +28,22 @@
 class BufferItemConsumer : public ConsumerBase {
 public:
     BufferItemConsumer(const sp<IGraphicBufferConsumer>& consumer, uint64_t consumerUsage,
-                       int bufferCount, bool controlledByApp)
+                       int bufferCount = -1, bool controlledByApp = false)
           : mConsumer(consumer) {}
 
+#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
+    BufferItemConsumer(uint64_t consumerUsage, int bufferCount = -1,
+                       bool controlledByApp = false, bool isConsumerSurfaceFlinger = false) {
+        sp<IGraphicBufferProducer> producer;
+        BufferQueue::createBufferQueue(&producer, &mConsumer);
+        mSurface = sp<Surface>::make(producer, controlledByApp);
+    }
+
+    status_t setConsumerIsProtected(bool isProtected) {
+        return OK;
+    }
+#endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
+
     status_t acquireBuffer(BufferItem* item, nsecs_t presentWhen, bool waitForFence = true) {
         return mConsumer->acquireBuffer(item, presentWhen, 0);
     }
@@ -71,8 +86,20 @@
         return OK;
     }
 
+#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
+// Returns a Surface that can be used as the producer for this consumer.
+    sp<Surface> getSurface() const {
+        return mSurface;
+    }
+#endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
+
 private:
     sp<IGraphicBufferConsumer> mConsumer;
+#if COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
+        // This Surface wraps the IGraphicBufferConsumer created for this
+    // ConsumerBase.
+    sp<Surface> mSurface;
+#endif // COM_ANDROID_GRAPHICS_LIBGUI_FLAGS(WB_CONSUMER_BASE_OWNS_BQ)
 };
 
 } // namespace android
diff --git a/libs/hostgraphics/include/gui/Surface.h b/libs/hostgraphics/include/gui/Surface.h
index 2774f89..e268ce6 100644
--- a/libs/hostgraphics/include/gui/Surface.h
+++ b/libs/hostgraphics/include/gui/Surface.h
@@ -34,6 +34,10 @@
         ANativeWindow::query = hook_query;
     }
 
+    sp<IGraphicBufferProducer> getIGraphicBufferProducer() const {
+        return mBufferProducer;
+    }
+
     static bool isValid(const sp<Surface>& surface) {
         return surface != nullptr;
     }
diff --git a/libs/hostgraphics/include/ui/Fence.h b/libs/hostgraphics/include/ui/Fence.h
index 187c311..3364b8ae 100644
--- a/libs/hostgraphics/include/ui/Fence.h
+++ b/libs/hostgraphics/include/ui/Fence.h
@@ -60,6 +60,10 @@
         return 0;
     }
 
+    int get() const {
+        return 0;
+    }
+
     inline Status getStatus() {
         // The sync_wait call underlying wait() has been measured to be
         // significantly faster than the sync_fence_info call underlying
diff --git a/libs/hwui/Android.bp b/libs/hwui/Android.bp
index bb2a53b..38ac8ab 100644
--- a/libs/hwui/Android.bp
+++ b/libs/hwui/Android.bp
@@ -233,6 +233,14 @@
 }
 
 filegroup {
+    name: "framework-graphics-ravenwood-policies",
+    srcs: [
+        "framework-graphics-ravenwood-policies.txt",
+    ],
+    visibility: ["//frameworks/base/ravenwood"],
+}
+
+filegroup {
     name: "framework-graphics-srcs",
     srcs: [
         "apex/java/**/*.java",
@@ -461,6 +469,10 @@
         },
         linux: {
             srcs: ["platform/linux/utils/SharedLib.cpp"],
+            shared_libs: [
+                "libbinder",
+                "libbinder_ndk",
+            ],
         },
         darwin: {
             srcs: ["platform/darwin/utils/SharedLib.cpp"],
diff --git a/libs/hwui/framework-graphics-ravenwood-policies.txt b/libs/hwui/framework-graphics-ravenwood-policies.txt
new file mode 100644
index 0000000..7296225
--- /dev/null
+++ b/libs/hwui/framework-graphics-ravenwood-policies.txt
@@ -0,0 +1 @@
+class android.graphics.ColorMatrix keepclass
diff --git a/libs/hwui/jni/Bitmap.cpp b/libs/hwui/jni/Bitmap.cpp
index cfde0b2..27d4ac7 100644
--- a/libs/hwui/jni/Bitmap.cpp
+++ b/libs/hwui/jni/Bitmap.cpp
@@ -613,7 +613,7 @@
 ///////////////////////////////////////////////////////////////////////////////
 
 // TODO: Move somewhere else
-#ifdef __ANDROID__  // Layoutlib does not support parcel
+#ifdef __linux__  // Only Linux support parcel
 #define ON_ERROR_RETURN(X) \
     if ((error = (X)) != STATUS_OK) return error
 
@@ -717,7 +717,7 @@
 
 #undef ON_ERROR_RETURN
 
-#endif // __ANDROID__ // Layoutlib does not support parcel
+#endif // __linux__ // Only Linux support parcel
 
 // This is the maximum possible size because the SkColorSpace must be
 // representable (and therefore serializable) using a matrix and numerical
@@ -733,7 +733,7 @@
 }
 
 static jobject Bitmap_createFromParcel(JNIEnv* env, jobject, jobject parcel) {
-#ifdef __ANDROID__ // Layoutlib does not support parcel
+#ifdef __linux__ // Only Linux support parcel
     if (parcel == NULL) {
         jniThrowNullPointerException(env, "parcel cannot be null");
         return NULL;
@@ -836,14 +836,14 @@
     return createBitmap(env, nativeBitmap.release(), getPremulBitmapCreateFlags(isMutable), nullptr,
                         nullptr, density, sourceId);
 #else
-    jniThrowRuntimeException(env, "Cannot use parcels outside of Android");
+    jniThrowRuntimeException(env, "Cannot use parcels outside of Linux");
     return NULL;
 #endif
 }
 
 static jboolean Bitmap_writeToParcel(JNIEnv* env, jobject, jlong bitmapHandle, jint density,
                                      jobject parcel) {
-#ifdef __ANDROID__ // Layoutlib does not support parcel
+#ifdef __linux__ // Only Linux support parcel
     if (parcel == NULL) {
         ALOGD("------- writeToParcel null parcel\n");
         return JNI_FALSE;
@@ -901,7 +901,7 @@
     }
     return JNI_TRUE;
 #else
-    doThrowRE(env, "Cannot use parcels outside of Android");
+    doThrowRE(env, "Cannot use parcels outside of Linux");
     return JNI_FALSE;
 #endif
 }
diff --git a/libs/hwui/jni/Region.cpp b/libs/hwui/jni/Region.cpp
index 1e064b8..76986eeb 100644
--- a/libs/hwui/jni/Region.cpp
+++ b/libs/hwui/jni/Region.cpp
@@ -18,7 +18,7 @@
 #include "SkPath.h"
 #include "GraphicsJNI.h"
 
-#ifdef __ANDROID__ // Layoutlib does not support parcel
+#ifdef __linux__ // Only Linux support parcel
 #include <android/binder_parcel.h>
 #include <android/binder_parcel_jni.h>
 #include <android/binder_parcel_utils.h>
@@ -202,7 +202,7 @@
 
 static jlong Region_createFromParcel(JNIEnv* env, jobject clazz, jobject parcel)
 {
-#ifdef __ANDROID__ // Layoutlib does not support parcel
+#ifdef __linux__ // Only Linux support parcel
     if (parcel == nullptr) {
         return 0;
     }
@@ -230,7 +230,7 @@
 
 static jboolean Region_writeToParcel(JNIEnv* env, jobject clazz, jlong regionHandle, jobject parcel)
 {
-#ifdef __ANDROID__ // Layoutlib does not support parcel
+#ifdef __linux__ // Only Linux support parcel
     const SkRegion* region = reinterpret_cast<SkRegion*>(regionHandle);
     if (parcel == nullptr) {
         return JNI_FALSE;
diff --git a/libs/hwui/jni/ScopedParcel.cpp b/libs/hwui/jni/ScopedParcel.cpp
index 95e4e01..52cd988 100644
--- a/libs/hwui/jni/ScopedParcel.cpp
+++ b/libs/hwui/jni/ScopedParcel.cpp
@@ -15,7 +15,7 @@
  */
 #include "ScopedParcel.h"
 
-#ifdef __ANDROID__  // Layoutlib does not support parcel
+#ifdef __linux__  // Only Linux support parcel
 
 using namespace android;
 
@@ -92,4 +92,4 @@
         AParcel_writeByteArray(mParcel, nullptr, -1);
     }
 }
-#endif  // __ANDROID__ // Layoutlib does not support parcel
+#endif  // __linux__  // Only Linux support parcel
diff --git a/libs/hwui/jni/ScopedParcel.h b/libs/hwui/jni/ScopedParcel.h
index f2f138f..f2b793a 100644
--- a/libs/hwui/jni/ScopedParcel.h
+++ b/libs/hwui/jni/ScopedParcel.h
@@ -15,7 +15,7 @@
  */
 #include "SkData.h"
 
-#ifdef __ANDROID__  // Layoutlib does not support parcel
+#ifdef __linux__  // Only Linux support parcel
 #include <android-base/unique_fd.h>
 #include <android/binder_parcel.h>
 #include <android/binder_parcel_jni.h>
@@ -64,4 +64,4 @@
     ASHMEM,
 };
 
-#endif  // __ANDROID__ // Layoutlib does not support parcel
\ No newline at end of file
+#endif  // __linux__ // Only Linux support parcel
diff --git a/libs/hwui/jni/graphics_jni_helpers.h b/libs/hwui/jni/graphics_jni_helpers.h
index 91db134..ff26ec1 100644
--- a/libs/hwui/jni/graphics_jni_helpers.h
+++ b/libs/hwui/jni/graphics_jni_helpers.h
@@ -21,6 +21,7 @@
 #include <nativehelper/JNIPlatformHelp.h>
 #include <nativehelper/scoped_local_ref.h>
 #include <nativehelper/scoped_utf_chars.h>
+#include <nativehelper/scoped_primitive_array.h>
 #include <string>
 
 // Host targets (layoutlib) do not differentiate between regular and critical native methods,
diff --git a/media/java/android/media/AudioDeviceVolumeManager.java b/media/java/android/media/AudioDeviceVolumeManager.java
index 892a861..56d3df3 100644
--- a/media/java/android/media/AudioDeviceVolumeManager.java
+++ b/media/java/android/media/AudioDeviceVolumeManager.java
@@ -16,6 +16,9 @@
 
 package android.media;
 
+import static android.annotation.SystemApi.Client.MODULE_LIBRARIES;
+import static android.media.audio.Flags.FLAG_UNIFY_ABSOLUTE_VOLUME_MANAGEMENT;
+
 import static com.android.media.flags.Flags.FLAG_ENABLE_AUDIO_INPUT_DEVICE_ROUTING_AND_VOLUME_CONTROL;
 
 import android.Manifest;
@@ -91,6 +94,8 @@
      * @see #setDeviceAbsoluteVolumeBehavior(AudioDeviceAttributes, VolumeInfo, boolean, Executor,
      *          OnAudioDeviceVolumeChangedListener)
      */
+    @SystemApi(client = MODULE_LIBRARIES)
+    @FlaggedApi(FLAG_UNIFY_ABSOLUTE_VOLUME_MANAGEMENT)
     public interface OnAudioDeviceVolumeChangedListener {
         /**
          * Called the device for the given audio device has changed.
@@ -203,6 +208,30 @@
      * volume updates to apply on that device
      * @param device the audio device set to absolute volume mode
      * @param volume the type of volume this device responds to
+     * @param executor the Executor used for receiving volume updates through the listener
+     * @param vclistener the callback for volume updates
+     */
+    @SystemApi(client = MODULE_LIBRARIES)
+    @RequiresPermission(anyOf = { android.Manifest.permission.MODIFY_AUDIO_ROUTING,
+            android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED,
+            android.Manifest.permission.BLUETOOTH_PRIVILEGED,
+            android.Manifest.permission.BLUETOOTH_STACK})
+    @FlaggedApi(FLAG_UNIFY_ABSOLUTE_VOLUME_MANAGEMENT)
+    public void setDeviceAbsoluteVolumeBehavior(
+            @NonNull AudioDeviceAttributes device,
+            @NonNull VolumeInfo volume,
+            @NonNull @CallbackExecutor Executor executor,
+            @NonNull OnAudioDeviceVolumeChangedListener vclistener) {
+        setDeviceAbsoluteVolumeBehavior(device, volume, /*handlesVolumeAdjustment=*/false, executor,
+                vclistener);
+    }
+
+    /**
+     * @hide
+     * Configures a device to use absolute volume model, and registers a listener for receiving
+     * volume updates to apply on that device
+     * @param device the audio device set to absolute volume mode
+     * @param volume the type of volume this device responds to
      * @param handlesVolumeAdjustment whether the controller handles volume adjustments separately
      * from volume changes. If true, adjustments from {@link AudioManager#adjustStreamVolume}
      * will be sent via {@link OnAudioDeviceVolumeChangedListener#onAudioDeviceVolumeAdjusted}.
@@ -210,7 +239,7 @@
      * @param vclistener the callback for volume updates
      */
     @RequiresPermission(anyOf = { android.Manifest.permission.MODIFY_AUDIO_ROUTING,
-            android.Manifest.permission.BLUETOOTH_PRIVILEGED })
+            android.Manifest.permission.BLUETOOTH_PRIVILEGED})
     public void setDeviceAbsoluteVolumeBehavior(
             @NonNull AudioDeviceAttributes device,
             @NonNull VolumeInfo volume,
@@ -229,6 +258,30 @@
      * registers a listener for receiving volume updates to apply on that device
      * @param device the audio device set to absolute multi-volume mode
      * @param volumes the list of volumes the given device responds to
+     * @param executor the Executor used for receiving volume updates through the listener
+     * @param vclistener the callback for volume updates
+     */
+    @SystemApi(client = MODULE_LIBRARIES)
+    @RequiresPermission(anyOf = { android.Manifest.permission.MODIFY_AUDIO_ROUTING,
+            android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED,
+            android.Manifest.permission.BLUETOOTH_PRIVILEGED,
+            android.Manifest.permission.BLUETOOTH_STACK})
+    @FlaggedApi(FLAG_UNIFY_ABSOLUTE_VOLUME_MANAGEMENT)
+    public void setDeviceAbsoluteMultiVolumeBehavior(
+            @NonNull AudioDeviceAttributes device,
+            @NonNull List<VolumeInfo> volumes,
+            @NonNull @CallbackExecutor Executor executor,
+            @NonNull OnAudioDeviceVolumeChangedListener vclistener) {
+        setDeviceAbsoluteMultiVolumeBehavior(device, volumes, /*handlesVolumeAdjustment=*/false,
+                executor, vclistener);
+    }
+
+    /**
+     * @hide
+     * Configures a device to use absolute volume model applied to different volume types, and
+     * registers a listener for receiving volume updates to apply on that device
+     * @param device the audio device set to absolute multi-volume mode
+     * @param volumes the list of volumes the given device responds to
      * @param handlesVolumeAdjustment whether the controller handles volume adjustments separately
      * from volume changes. If true, adjustments from {@link AudioManager#adjustStreamVolume}
      * will be sent via {@link OnAudioDeviceVolumeChangedListener#onAudioDeviceVolumeAdjusted}.
@@ -236,7 +289,7 @@
      * @param vclistener the callback for volume updates
      */
     @RequiresPermission(anyOf = { android.Manifest.permission.MODIFY_AUDIO_ROUTING,
-            android.Manifest.permission.BLUETOOTH_PRIVILEGED })
+            android.Manifest.permission.BLUETOOTH_PRIVILEGED})
     public void setDeviceAbsoluteMultiVolumeBehavior(
             @NonNull AudioDeviceAttributes device,
             @NonNull List<VolumeInfo> volumes,
diff --git a/packages/InputDevices/res/values-af/strings.xml b/packages/InputDevices/res/values-af/strings.xml
index 273cfa0..0fc0c05 100644
--- a/packages/InputDevices/res/values-af/strings.xml
+++ b/packages/InputDevices/res/values-af/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serwies (Cyrillies)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegryns (Cyrillies)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Roemeens"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Engels (Indië)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-am/strings.xml b/packages/InputDevices/res/values-am/strings.xml
index 8593253..722d949 100644
--- a/packages/InputDevices/res/values-am/strings.xml
+++ b/packages/InputDevices/res/values-am/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"ሰርቢያኛ (ሲሪሊክኛ)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"ሞንቴኔግሮኛ (ሲሪሊክኛ)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"ሮማኒያኛ"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"እንግሊዝኛ (ሕንድ)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-as/strings.xml b/packages/InputDevices/res/values-as/strings.xml
index e6540e4..acff29d 100644
--- a/packages/InputDevices/res/values-as/strings.xml
+++ b/packages/InputDevices/res/values-as/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"ছাৰ্বিয়ান (চিৰিলিক)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"মণ্টেনেগ্ৰিণ (চিৰিলিক)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"ৰোমানিয়ান"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"ইংৰাজী (ভাৰত)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-az/strings.xml b/packages/InputDevices/res/values-az/strings.xml
index aa93a92..c0fe764 100644
--- a/packages/InputDevices/res/values-az/strings.xml
+++ b/packages/InputDevices/res/values-az/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serb dili (Kiril)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Monteneqro dili (Kiril)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Rumın dili"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"İngilis dili (Hindistan)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-bg/strings.xml b/packages/InputDevices/res/values-bg/strings.xml
index ceb7e37..78b93da 100644
--- a/packages/InputDevices/res/values-bg/strings.xml
+++ b/packages/InputDevices/res/values-bg/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"сръбски (кирилица)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"черногорски (кирилица)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"румънски"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"английски (Индия)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-bn/strings.xml b/packages/InputDevices/res/values-bn/strings.xml
index 369a803..da529e1 100644
--- a/packages/InputDevices/res/values-bn/strings.xml
+++ b/packages/InputDevices/res/values-bn/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"সার্বিয়ান (সিরিলিক)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"মন্টেনেগ্রিন (সিরিলিক)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"রোমানিয়ান"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"ইংরাজি (ভারত)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-ca/strings.xml b/packages/InputDevices/res/values-ca/strings.xml
index bbf3946..8b05b49 100644
--- a/packages/InputDevices/res/values-ca/strings.xml
+++ b/packages/InputDevices/res/values-ca/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbi (ciríl·lic)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegrí (ciríl·lic)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Romanès"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Anglès (Índia)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-da/strings.xml b/packages/InputDevices/res/values-da/strings.xml
index 00a2a620..a9925ad 100644
--- a/packages/InputDevices/res/values-da/strings.xml
+++ b/packages/InputDevices/res/values-da/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbisk (kyrillisk)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegrinsk (kyrillisk)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Rumænsk"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Engelsk (Indien)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-de/strings.xml b/packages/InputDevices/res/values-de/strings.xml
index 717c597..9bd23eb 100644
--- a/packages/InputDevices/res/values-de/strings.xml
+++ b/packages/InputDevices/res/values-de/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbisch (kyrillisch)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegrinisch (kyrillisch)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Rumänisch"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Englisch (Indien)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-el/strings.xml b/packages/InputDevices/res/values-el/strings.xml
index 02b7f1f..cf49339 100644
--- a/packages/InputDevices/res/values-el/strings.xml
+++ b/packages/InputDevices/res/values-el/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Σερβικά (Κυριλλικά)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Μαυροβουνιακά (Κυριλλικά)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Ρουμανικά"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Αγγλικά (Ινδίας)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-en-rAU/strings.xml b/packages/InputDevices/res/values-en-rAU/strings.xml
index 1cdcc55..3b8c50d 100644
--- a/packages/InputDevices/res/values-en-rAU/strings.xml
+++ b/packages/InputDevices/res/values-en-rAU/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbian (Cyrillic)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegrin (Cyrillic)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Romanian"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"English (India)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-en-rGB/strings.xml b/packages/InputDevices/res/values-en-rGB/strings.xml
index 1cdcc55..3b8c50d 100644
--- a/packages/InputDevices/res/values-en-rGB/strings.xml
+++ b/packages/InputDevices/res/values-en-rGB/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbian (Cyrillic)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegrin (Cyrillic)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Romanian"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"English (India)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-en-rIN/strings.xml b/packages/InputDevices/res/values-en-rIN/strings.xml
index 1cdcc55..3b8c50d 100644
--- a/packages/InputDevices/res/values-en-rIN/strings.xml
+++ b/packages/InputDevices/res/values-en-rIN/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbian (Cyrillic)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegrin (Cyrillic)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Romanian"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"English (India)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-es-rUS/strings.xml b/packages/InputDevices/res/values-es-rUS/strings.xml
index edd7657..48ccb8de 100644
--- a/packages/InputDevices/res/values-es-rUS/strings.xml
+++ b/packages/InputDevices/res/values-es-rUS/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbio (cirílico)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegrino (cirílico)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Rumano"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Inglés (India)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-es/strings.xml b/packages/InputDevices/res/values-es/strings.xml
index b522845..ef73625 100644
--- a/packages/InputDevices/res/values-es/strings.xml
+++ b/packages/InputDevices/res/values-es/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbio (cirílico)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegrino (cirílico)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Rumano"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Inglés (India)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-et/strings.xml b/packages/InputDevices/res/values-et/strings.xml
index 82670dd..2289197 100644
--- a/packages/InputDevices/res/values-et/strings.xml
+++ b/packages/InputDevices/res/values-et/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"serbia (kirillitsa)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"montenegro (kirillitsa)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"rumeenia"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"inglise (India)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-eu/strings.xml b/packages/InputDevices/res/values-eu/strings.xml
index b777b8c..0fe3b57 100644
--- a/packages/InputDevices/res/values-eu/strings.xml
+++ b/packages/InputDevices/res/values-eu/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbiarra (zirilikoa)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegroarra (zirilikoa)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Errumaniera"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Ingelesa (India)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-fa/strings.xml b/packages/InputDevices/res/values-fa/strings.xml
index 9ec7a34..16b9ad4 100644
--- a/packages/InputDevices/res/values-fa/strings.xml
+++ b/packages/InputDevices/res/values-fa/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"صربی (سیریلیک)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"مونته‌نگرویی (سیریلیک)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"رومانیایی"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"انگلیسی (هند)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-fi/strings.xml b/packages/InputDevices/res/values-fi/strings.xml
index 6825ea9..0d8bd06 100644
--- a/packages/InputDevices/res/values-fi/strings.xml
+++ b/packages/InputDevices/res/values-fi/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"serbia (kyrillinen)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"montenegro (kyrillinen)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"romania"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"englanti (Intia)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-fr/strings.xml b/packages/InputDevices/res/values-fr/strings.xml
index fb4d144..bdb0d02 100644
--- a/packages/InputDevices/res/values-fr/strings.xml
+++ b/packages/InputDevices/res/values-fr/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbe (cyrillique)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Monténégrin (cyrillique)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Roumain"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Anglais (Inde)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-gl/strings.xml b/packages/InputDevices/res/values-gl/strings.xml
index 925adf9..c62abba 100644
--- a/packages/InputDevices/res/values-gl/strings.xml
+++ b/packages/InputDevices/res/values-gl/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbio (cirílico)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegrino (cirílico)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Romanés"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Inglés (India)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-hi/strings.xml b/packages/InputDevices/res/values-hi/strings.xml
index 1751979..bf3bd9a 100644
--- a/packages/InputDevices/res/values-hi/strings.xml
+++ b/packages/InputDevices/res/values-hi/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"सर्बियन (सिरिलिक)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"मोंटेनेग्रिन (सिरिलिक)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"रोमेनियन"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"अंग्रेज़ी (भारत)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-hu/strings.xml b/packages/InputDevices/res/values-hu/strings.xml
index c83ba84..6b4259a 100644
--- a/packages/InputDevices/res/values-hu/strings.xml
+++ b/packages/InputDevices/res/values-hu/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"szerb (cirill betűs)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"montenegrói (cirill betűs)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"román"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"angol (India)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-hy/strings.xml b/packages/InputDevices/res/values-hy/strings.xml
index 718f8d1..43153fa 100644
--- a/packages/InputDevices/res/values-hy/strings.xml
+++ b/packages/InputDevices/res/values-hy/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"սերբերեն (կյուրեղատառ)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"չեռնոգորերեն (կյուրեղատառ)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Ռումիներեն"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"անգլերեն (Հնդկաստան)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-in/strings.xml b/packages/InputDevices/res/values-in/strings.xml
index ba2e5bd3..1aa1b2b 100644
--- a/packages/InputDevices/res/values-in/strings.xml
+++ b/packages/InputDevices/res/values-in/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbia (Sirilik)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegro (Sirilik)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Rumania"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Inggris (India)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-is/strings.xml b/packages/InputDevices/res/values-is/strings.xml
index 842119d..9547882 100644
--- a/packages/InputDevices/res/values-is/strings.xml
+++ b/packages/InputDevices/res/values-is/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbneska (kyrillískt)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Svartfellska (kyrillískt)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"rúmenska"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Enska (Indland)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-it/strings.xml b/packages/InputDevices/res/values-it/strings.xml
index f7f76e0..090397d 100644
--- a/packages/InputDevices/res/values-it/strings.xml
+++ b/packages/InputDevices/res/values-it/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbo (cirillico)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegrino (cirillico)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Rumeno"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Inglese (India)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-iw/strings.xml b/packages/InputDevices/res/values-iw/strings.xml
index 0df5d20..b0faa6e 100644
--- a/packages/InputDevices/res/values-iw/strings.xml
+++ b/packages/InputDevices/res/values-iw/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"סרבית (אותיות קיריליות)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"מונטנגרית (אותיות קיריליות)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"רומנית"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"אנגלית (הודו)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-kk/strings.xml b/packages/InputDevices/res/values-kk/strings.xml
index 60ad838..05f9243 100644
--- a/packages/InputDevices/res/values-kk/strings.xml
+++ b/packages/InputDevices/res/values-kk/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Сербия (кириллица)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Черногория (кириллица)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Румын"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Ағылшын (Үндістан)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-km/strings.xml b/packages/InputDevices/res/values-km/strings.xml
index 936c925..03a3a43 100644
--- a/packages/InputDevices/res/values-km/strings.xml
+++ b/packages/InputDevices/res/values-km/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"សែប៊ី (ស៊ីរីលីក)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"ម៉ុងតេណេហ្គ្រោ (ស៊ីរីលីក)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"រ៉ូម៉ានី"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"អង់គ្លេស (ឥណ្ឌា)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-kn/strings.xml b/packages/InputDevices/res/values-kn/strings.xml
index 2453951..f4f4fa4 100644
--- a/packages/InputDevices/res/values-kn/strings.xml
+++ b/packages/InputDevices/res/values-kn/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"ಸೆರ್ಬಿಯನ್ (ಸಿರಿಲಿಕ್)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"ಮೊಂಟೆನೆಗ್ರಿನ್ (ಸಿರಿಲಿಕ್)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"ರೊಮೇನಿಯನ್"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"ಇಂಗ್ಲಿಷ್ (ಭಾರತ)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-ky/strings.xml b/packages/InputDevices/res/values-ky/strings.xml
index f6d018e..2222900 100644
--- a/packages/InputDevices/res/values-ky/strings.xml
+++ b/packages/InputDevices/res/values-ky/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Сербче (Кирилл)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Черногориялыкча (Кирилл)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Румынча"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Англисче (Индия)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-lo/strings.xml b/packages/InputDevices/res/values-lo/strings.xml
index 61f8f71..44380b0 100644
--- a/packages/InputDevices/res/values-lo/strings.xml
+++ b/packages/InputDevices/res/values-lo/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"ເຊີບຽນ (ຊີຣິວລິກ)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"ມອນເທເນກຣິນ (ຊີຣິວລິກ)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"ໂຣມານຽນ"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"ອັງກິດ (ອິນເດຍ)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-lv/strings.xml b/packages/InputDevices/res/values-lv/strings.xml
index cc2c94c..3a55b6a 100644
--- a/packages/InputDevices/res/values-lv/strings.xml
+++ b/packages/InputDevices/res/values-lv/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbu (kirilica)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Melnkalniešu (kirilica)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Rumāņu"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Angļu (Indija)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-mk/strings.xml b/packages/InputDevices/res/values-mk/strings.xml
index 60981d6..351ac94 100644
--- a/packages/InputDevices/res/values-mk/strings.xml
+++ b/packages/InputDevices/res/values-mk/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"српски (кирилица)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"црногорски (кирилица)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"романски"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"англиски (Индија)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-ml/strings.xml b/packages/InputDevices/res/values-ml/strings.xml
index 8064c74..ed6cb8b7 100644
--- a/packages/InputDevices/res/values-ml/strings.xml
+++ b/packages/InputDevices/res/values-ml/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"സെർബിയൻ (സിറിലിക്)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"മോണ്ടിനെഗ്രിൻ (സിറിലിക്)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"റൊമേനിയൻ"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"ഇംഗ്ലീഷ് (ഇന്ത്യ)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-mn/strings.xml b/packages/InputDevices/res/values-mn/strings.xml
index 547ce49..e77551e 100644
--- a/packages/InputDevices/res/values-mn/strings.xml
+++ b/packages/InputDevices/res/values-mn/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Серби (кирилл)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Монтенегро (кирилл)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Румын"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Англи хэл (Энэтхэг)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-mr/strings.xml b/packages/InputDevices/res/values-mr/strings.xml
index 25bdfab..9483a47 100644
--- a/packages/InputDevices/res/values-mr/strings.xml
+++ b/packages/InputDevices/res/values-mr/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"सर्बियन (सिरिलिक)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"मॉन्टेनेग्रिन (सिरिलिक)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"रोमानियन"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"इंग्रजी (भारत)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-my/strings.xml b/packages/InputDevices/res/values-my/strings.xml
index 4ef5aab..1325470 100644
--- a/packages/InputDevices/res/values-my/strings.xml
+++ b/packages/InputDevices/res/values-my/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"ဆားဘီးယား (စီရီလစ်)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"မွန်တီနီဂရင်း (စီရီလစ်)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"ရိုမေးနီးယား"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"အင်္ဂလိပ် (အိန္ဒိယ)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-nb/strings.xml b/packages/InputDevices/res/values-nb/strings.xml
index 837e246..e6c0826 100644
--- a/packages/InputDevices/res/values-nb/strings.xml
+++ b/packages/InputDevices/res/values-nb/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbisk (kyrillisk)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegrisk (kyrillisk)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Rumensk"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Engelsk (India)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-ne/strings.xml b/packages/InputDevices/res/values-ne/strings.xml
index 0ab1ea6..bc2d0bfa 100644
--- a/packages/InputDevices/res/values-ne/strings.xml
+++ b/packages/InputDevices/res/values-ne/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"सर्बियाली (सिरिलिक)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"मोन्टेनिग्रिन (सिरिलिक)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"रोमानियाली"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"अङ्ग्रेजी (भारत)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-or/strings.xml b/packages/InputDevices/res/values-or/strings.xml
index 97f9088..7606b6f 100644
--- a/packages/InputDevices/res/values-or/strings.xml
+++ b/packages/InputDevices/res/values-or/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"ସର୍ବିଆନ (ସିରିଲିକ)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"ମଣ୍ଟେନେଗ୍ରିନ (ସିରିଲିକ)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"ରୋମାନିଆନ"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"ଇଂରାଜୀ (ଭାରତ)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-pl/strings.xml b/packages/InputDevices/res/values-pl/strings.xml
index 0fd962b..7f4b58f 100644
--- a/packages/InputDevices/res/values-pl/strings.xml
+++ b/packages/InputDevices/res/values-pl/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"serbski (cyrylica)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"czarnogórski (cyrylica)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"rumuński"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Angielski (Indie)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-ro/strings.xml b/packages/InputDevices/res/values-ro/strings.xml
index 169378d..a416a48 100644
--- a/packages/InputDevices/res/values-ro/strings.xml
+++ b/packages/InputDevices/res/values-ro/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Sârbă (caractere chirilice)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Muntenegreană (Chirilică)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Română"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Engleză (India)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-si/strings.xml b/packages/InputDevices/res/values-si/strings.xml
index ba27136..2d5ffc3 100644
--- a/packages/InputDevices/res/values-si/strings.xml
+++ b/packages/InputDevices/res/values-si/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"සර්බියානු (සිරිලික්)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"මොන්ටෙනේග්‍රීන් (සිරිලික්)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"රුමේනියානු"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"ඉංග්‍රීසි (ඉන්දියාව)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-sq/strings.xml b/packages/InputDevices/res/values-sq/strings.xml
index c77de92..97ab5f9 100644
--- a/packages/InputDevices/res/values-sq/strings.xml
+++ b/packages/InputDevices/res/values-sq/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbisht (cirilike)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Malazisht (cirilike)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Rumanisht"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Anglisht (Indi)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-sw/strings.xml b/packages/InputDevices/res/values-sw/strings.xml
index d9ac91f8..fd8b845 100644
--- a/packages/InputDevices/res/values-sw/strings.xml
+++ b/packages/InputDevices/res/values-sw/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Kiserbia (Kisiriliki)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Kimontenegri (Kisiriliki)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Kiromania"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Kiingereza (India)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-ta/strings.xml b/packages/InputDevices/res/values-ta/strings.xml
index fc91d696..0bf41fe 100644
--- a/packages/InputDevices/res/values-ta/strings.xml
+++ b/packages/InputDevices/res/values-ta/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"செர்பியன் (சிரிலிக்)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"மாண்டினெக்ரன் (சிரிலிக்)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"ரோமானியன்"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"ஆங்கிலம் (இந்தியா)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-tl/strings.xml b/packages/InputDevices/res/values-tl/strings.xml
index ea815d5..270331d 100644
--- a/packages/InputDevices/res/values-tl/strings.xml
+++ b/packages/InputDevices/res/values-tl/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbian (Cyrillic)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegrin (Cyrillic)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Romanian"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"English (India)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-tr/strings.xml b/packages/InputDevices/res/values-tr/strings.xml
index 3a40c84..1d1d4e1 100644
--- a/packages/InputDevices/res/values-tr/strings.xml
+++ b/packages/InputDevices/res/values-tr/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Sırpça (Kiril)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Karadağca (Kiril)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Rumence"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"İngilizce (Hindistan)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-uk/strings.xml b/packages/InputDevices/res/values-uk/strings.xml
index 0e0d562..70f731d 100644
--- a/packages/InputDevices/res/values-uk/strings.xml
+++ b/packages/InputDevices/res/values-uk/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Сербська (кирилиця)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Чорногорська (кирилиця)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Румунська"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Англійська (Індія)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-ur/strings.xml b/packages/InputDevices/res/values-ur/strings.xml
index 44721b8..07e3835 100644
--- a/packages/InputDevices/res/values-ur/strings.xml
+++ b/packages/InputDevices/res/values-ur/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"سربیائی (سیریلک)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"مونٹے نیگریائی (سیریلک)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"رومانیائی"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"انگریزی (ہندوستان)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-uz/strings.xml b/packages/InputDevices/res/values-uz/strings.xml
index 776c1c7..b44820a 100644
--- a/packages/InputDevices/res/values-uz/strings.xml
+++ b/packages/InputDevices/res/values-uz/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serb (kirill)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Chernogor (kirill)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Rumin"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Ingliz (Hindiston)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-vi/strings.xml b/packages/InputDevices/res/values-vi/strings.xml
index 1fcba42..3f9de67 100644
--- a/packages/InputDevices/res/values-vi/strings.xml
+++ b/packages/InputDevices/res/values-vi/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Tiếng Serbia (Chữ Kirin)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Tiếng Montenegro (Chữ Kirin)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"Tiếng Romania"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"Tiếng Anh (Ấn Độ)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-zh-rCN/strings.xml b/packages/InputDevices/res/values-zh-rCN/strings.xml
index cb7f6cb..bf37dc5 100644
--- a/packages/InputDevices/res/values-zh-rCN/strings.xml
+++ b/packages/InputDevices/res/values-zh-rCN/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"塞尔维亚语（西里尔字母）"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"黑山语（西里尔字母）"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"罗马尼亚语"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"英语（印度）"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-zh-rHK/strings.xml b/packages/InputDevices/res/values-zh-rHK/strings.xml
index c718760..c30c972 100644
--- a/packages/InputDevices/res/values-zh-rHK/strings.xml
+++ b/packages/InputDevices/res/values-zh-rHK/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"塞爾維亞文 (西里爾字母)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"蒙特內哥羅文 (西里爾字母)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"羅馬尼亞文"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"英文 (印度)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-zh-rTW/strings.xml b/packages/InputDevices/res/values-zh-rTW/strings.xml
index 68cf9b0..b840b1c 100644
--- a/packages/InputDevices/res/values-zh-rTW/strings.xml
+++ b/packages/InputDevices/res/values-zh-rTW/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"塞爾維亞文 (西里爾字母)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"蒙特內哥羅文 (西里爾字母)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"羅馬尼亞文"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"英文 (印度)"</string>
 </resources>
diff --git a/packages/InputDevices/res/values-zu/strings.xml b/packages/InputDevices/res/values-zu/strings.xml
index 4ae9e47..bc79dbd 100644
--- a/packages/InputDevices/res/values-zu/strings.xml
+++ b/packages/InputDevices/res/values-zu/strings.xml
@@ -57,6 +57,5 @@
     <string name="keyboard_layout_serbian_cyrillic" msgid="7013541044323542196">"Serbian (Cyrillic)"</string>
     <string name="keyboard_layout_montenegrin_cyrillic" msgid="2391253952894077421">"Montenegrin (Cyrillic)"</string>
     <string name="keyboard_layout_romanian" msgid="8698989892731726903">"IsiRomanian"</string>
-    <!-- no translation found for keyboard_layout_english_india (7962353311188603367) -->
-    <skip />
+    <string name="keyboard_layout_english_india" msgid="7962353311188603367">"IsiNgisi (India)"</string>
 </resources>
diff --git a/packages/SettingsLib/ActionButtonsPreference/res/layout-v35/settingslib_expressive_action_buttons.xml b/packages/SettingsLib/ActionButtonsPreference/res/layout-v36/settingslib_expressive_action_buttons.xml
similarity index 100%
rename from packages/SettingsLib/ActionButtonsPreference/res/layout-v35/settingslib_expressive_action_buttons.xml
rename to packages/SettingsLib/ActionButtonsPreference/res/layout-v36/settingslib_expressive_action_buttons.xml
diff --git a/packages/SettingsLib/ActionButtonsPreference/res/values-v35/styles_expressive.xml b/packages/SettingsLib/ActionButtonsPreference/res/values-v36/styles_expressive.xml
similarity index 100%
rename from packages/SettingsLib/ActionButtonsPreference/res/values-v35/styles_expressive.xml
rename to packages/SettingsLib/ActionButtonsPreference/res/values-v36/styles_expressive.xml
diff --git a/packages/SettingsLib/BannerMessagePreference/res/drawable-v35/settingslib_expressive_card_background.xml b/packages/SettingsLib/BannerMessagePreference/res/drawable-v36/settingslib_expressive_card_background.xml
similarity index 100%
rename from packages/SettingsLib/BannerMessagePreference/res/drawable-v35/settingslib_expressive_card_background.xml
rename to packages/SettingsLib/BannerMessagePreference/res/drawable-v36/settingslib_expressive_card_background.xml
diff --git a/packages/SettingsLib/BannerMessagePreference/res/drawable-v35/settingslib_resolved_banner_avd.xml b/packages/SettingsLib/BannerMessagePreference/res/drawable-v36/settingslib_resolved_banner_avd.xml
similarity index 100%
rename from packages/SettingsLib/BannerMessagePreference/res/drawable-v35/settingslib_resolved_banner_avd.xml
rename to packages/SettingsLib/BannerMessagePreference/res/drawable-v36/settingslib_resolved_banner_avd.xml
diff --git a/packages/SettingsLib/BannerMessagePreference/res/layout-v35/settingslib_expressive_banner_message.xml b/packages/SettingsLib/BannerMessagePreference/res/layout-v36/settingslib_expressive_banner_message.xml
similarity index 100%
rename from packages/SettingsLib/BannerMessagePreference/res/layout-v35/settingslib_expressive_banner_message.xml
rename to packages/SettingsLib/BannerMessagePreference/res/layout-v36/settingslib_expressive_banner_message.xml
diff --git a/packages/SettingsLib/BannerMessagePreference/res/values-v35/styles_expressive.xml b/packages/SettingsLib/BannerMessagePreference/res/values-v36/styles_expressive.xml
similarity index 100%
rename from packages/SettingsLib/BannerMessagePreference/res/values-v35/styles_expressive.xml
rename to packages/SettingsLib/BannerMessagePreference/res/values-v36/styles_expressive.xml
diff --git a/packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_filled.xml b/packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_filled.xml
similarity index 100%
rename from packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_filled.xml
rename to packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_filled.xml
diff --git a/packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_filled_extra.xml b/packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_filled_extra.xml
similarity index 100%
rename from packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_filled_extra.xml
rename to packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_filled_extra.xml
diff --git a/packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_filled_large.xml b/packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_filled_large.xml
similarity index 100%
rename from packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_filled_large.xml
rename to packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_filled_large.xml
diff --git a/packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_outline.xml b/packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_outline.xml
similarity index 100%
rename from packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_outline.xml
rename to packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_outline.xml
diff --git a/packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_outline_extra.xml b/packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_outline_extra.xml
similarity index 100%
rename from packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_outline_extra.xml
rename to packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_outline_extra.xml
diff --git a/packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_outline_large.xml b/packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_outline_large.xml
similarity index 100%
rename from packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_outline_large.xml
rename to packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_outline_large.xml
diff --git a/packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_tonal.xml b/packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_tonal.xml
similarity index 100%
rename from packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_tonal.xml
rename to packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_tonal.xml
diff --git a/packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_tonal_extra.xml b/packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_tonal_extra.xml
similarity index 100%
rename from packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_tonal_extra.xml
rename to packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_tonal_extra.xml
diff --git a/packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_tonal_large.xml b/packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_tonal_large.xml
similarity index 100%
rename from packages/SettingsLib/ButtonPreference/res/layout-v35/settingslib_expressive_button_tonal_large.xml
rename to packages/SettingsLib/ButtonPreference/res/layout-v36/settingslib_expressive_button_tonal_large.xml
diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/drawable-v35/settingslib_expressive_icon_back.xml b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/drawable-v36/settingslib_expressive_icon_back.xml
similarity index 100%
rename from packages/SettingsLib/CollapsingToolbarBaseActivity/res/drawable-v35/settingslib_expressive_icon_back.xml
rename to packages/SettingsLib/CollapsingToolbarBaseActivity/res/drawable-v36/settingslib_expressive_icon_back.xml
diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v35/settingslib_expressive_collapsing_toolbar_base_layout.xml b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v36/settingslib_expressive_collapsing_toolbar_base_layout.xml
similarity index 100%
rename from packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v35/settingslib_expressive_collapsing_toolbar_base_layout.xml
rename to packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v36/settingslib_expressive_collapsing_toolbar_base_layout.xml
diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v35/settingslib_expressive_collapsing_toolbar_content_layout.xml b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v36/settingslib_expressive_collapsing_toolbar_content_layout.xml
similarity index 100%
rename from packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v35/settingslib_expressive_collapsing_toolbar_content_layout.xml
rename to packages/SettingsLib/CollapsingToolbarBaseActivity/res/layout-v36/settingslib_expressive_collapsing_toolbar_content_layout.xml
diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-night-v35/themes.xml b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-night-v36/themes.xml
similarity index 100%
rename from packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-night-v35/themes.xml
rename to packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-night-v36/themes.xml
diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v35/styles.xml b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v36/styles.xml
similarity index 100%
rename from packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v35/styles.xml
rename to packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v36/styles.xml
diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v35/styles_expressive.xml b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v36/styles_expressive.xml
similarity index 100%
rename from packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v35/styles_expressive.xml
rename to packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v36/styles_expressive.xml
diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v35/themes.xml b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v36/themes.xml
similarity index 100%
rename from packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v35/themes.xml
rename to packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v36/themes.xml
diff --git a/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v35/themes_expressive.xml b/packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v36/themes_expressive.xml
similarity index 100%
rename from packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v35/themes_expressive.xml
rename to packages/SettingsLib/CollapsingToolbarBaseActivity/res/values-v36/themes_expressive.xml
diff --git a/packages/SettingsLib/MainSwitchPreference/res/color-night-v35/settingslib_main_switch_text_color.xml b/packages/SettingsLib/MainSwitchPreference/res/color-night-v36/settingslib_main_switch_text_color.xml
similarity index 100%
rename from packages/SettingsLib/MainSwitchPreference/res/color-night-v35/settingslib_main_switch_text_color.xml
rename to packages/SettingsLib/MainSwitchPreference/res/color-night-v36/settingslib_main_switch_text_color.xml
diff --git a/packages/SettingsLib/MainSwitchPreference/res/color-v35/settingslib_main_switch_text_color.xml b/packages/SettingsLib/MainSwitchPreference/res/color-v36/settingslib_main_switch_text_color.xml
similarity index 100%
rename from packages/SettingsLib/MainSwitchPreference/res/color-v35/settingslib_main_switch_text_color.xml
rename to packages/SettingsLib/MainSwitchPreference/res/color-v36/settingslib_main_switch_text_color.xml
diff --git a/packages/SettingsLib/MainSwitchPreference/res/drawable-v35/settingslib_expressive_switch_bar_bg.xml b/packages/SettingsLib/MainSwitchPreference/res/drawable-v36/settingslib_expressive_switch_bar_bg.xml
similarity index 100%
rename from packages/SettingsLib/MainSwitchPreference/res/drawable-v35/settingslib_expressive_switch_bar_bg.xml
rename to packages/SettingsLib/MainSwitchPreference/res/drawable-v36/settingslib_expressive_switch_bar_bg.xml
diff --git a/packages/SettingsLib/MainSwitchPreference/res/layout-v35/settingslib_expressive_main_switch_bar.xml b/packages/SettingsLib/MainSwitchPreference/res/layout-v36/settingslib_expressive_main_switch_bar.xml
similarity index 100%
rename from packages/SettingsLib/MainSwitchPreference/res/layout-v35/settingslib_expressive_main_switch_bar.xml
rename to packages/SettingsLib/MainSwitchPreference/res/layout-v36/settingslib_expressive_main_switch_bar.xml
diff --git a/packages/SettingsLib/MainSwitchPreference/res/layout-v35/settingslib_expressive_main_switch_layout.xml b/packages/SettingsLib/MainSwitchPreference/res/layout-v36/settingslib_expressive_main_switch_layout.xml
similarity index 100%
rename from packages/SettingsLib/MainSwitchPreference/res/layout-v35/settingslib_expressive_main_switch_layout.xml
rename to packages/SettingsLib/MainSwitchPreference/res/layout-v36/settingslib_expressive_main_switch_layout.xml
diff --git a/packages/SettingsLib/ProfileSelector/res/color-night-v35/settingslib_tabs_indicator_color.xml b/packages/SettingsLib/ProfileSelector/res/color-night-v36/settingslib_tabs_indicator_color.xml
similarity index 100%
rename from packages/SettingsLib/ProfileSelector/res/color-night-v35/settingslib_tabs_indicator_color.xml
rename to packages/SettingsLib/ProfileSelector/res/color-night-v36/settingslib_tabs_indicator_color.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/color-night-v35/settingslib_switch_track_outline_color.xml b/packages/SettingsLib/SettingsTheme/res/color-night-v36/settingslib_switch_track_outline_color.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/color-night-v35/settingslib_switch_track_outline_color.xml
rename to packages/SettingsLib/SettingsTheme/res/color-night-v36/settingslib_switch_track_outline_color.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/color-v35/settingslib_expressive_color_main_switch_track.xml b/packages/SettingsLib/SettingsTheme/res/color-v36/settingslib_expressive_color_main_switch_track.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/color-v35/settingslib_expressive_color_main_switch_track.xml
rename to packages/SettingsLib/SettingsTheme/res/color-v36/settingslib_expressive_color_main_switch_track.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/color-v35/settingslib_preference_bg_color.xml b/packages/SettingsLib/SettingsTheme/res/color-v36/settingslib_preference_bg_color.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/color-v35/settingslib_preference_bg_color.xml
rename to packages/SettingsLib/SettingsTheme/res/color-v36/settingslib_preference_bg_color.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/color-v35/settingslib_switch_track_outline_color.xml b/packages/SettingsLib/SettingsTheme/res/color-v36/settingslib_switch_track_outline_color.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/color-v35/settingslib_switch_track_outline_color.xml
rename to packages/SettingsLib/SettingsTheme/res/color-v36/settingslib_switch_track_outline_color.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/color-v35/settingslib_text_color_primary.xml b/packages/SettingsLib/SettingsTheme/res/color-v36/settingslib_text_color_primary.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/color-v35/settingslib_text_color_primary.xml
rename to packages/SettingsLib/SettingsTheme/res/color-v36/settingslib_text_color_primary.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/color-v35/settingslib_text_color_secondary.xml b/packages/SettingsLib/SettingsTheme/res/color-v36/settingslib_text_color_secondary.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/color-v35/settingslib_text_color_secondary.xml
rename to packages/SettingsLib/SettingsTheme/res/color-v36/settingslib_text_color_secondary.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_arrow_drop_down.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_arrow_drop_down.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_arrow_drop_down.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_arrow_drop_down.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_list_divider.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_list_divider.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_list_divider.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_list_divider.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_progress_horizontal.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_progress_horizontal.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_progress_horizontal.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_progress_horizontal.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_bottom.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_bottom.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_bottom_highlighted.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom_highlighted.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_bottom_highlighted.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom_highlighted.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_bottom_selected.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom_selected.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_bottom_selected.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_bottom_selected.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_center.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_center.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_center_highlighted.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center_highlighted.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_center_highlighted.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center_highlighted.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_center_selected.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center_selected.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_center_selected.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_center_selected.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_highlighted.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_highlighted.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_highlighted.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_highlighted.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_selected.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_selected.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_selected.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_selected.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_top.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_top.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_top_highlighted.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top_highlighted.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_top_highlighted.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top_highlighted.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_top_selected.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top_selected.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_round_background_top_selected.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_round_background_top_selected.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_spinner_background.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_spinner_background.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_spinner_background.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_spinner_background.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_spinner_dropdown_background.xml b/packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_spinner_dropdown_background.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/drawable-v35/settingslib_spinner_dropdown_background.xml
rename to packages/SettingsLib/SettingsTheme/res/drawable-v36/settingslib_spinner_dropdown_background.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/layout-v35/settingslib_expressive_preference.xml b/packages/SettingsLib/SettingsTheme/res/layout-v36/settingslib_expressive_preference.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/layout-v35/settingslib_expressive_preference.xml
rename to packages/SettingsLib/SettingsTheme/res/layout-v36/settingslib_expressive_preference.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/layout-v35/settingslib_expressive_preference_icon_frame.xml b/packages/SettingsLib/SettingsTheme/res/layout-v36/settingslib_expressive_preference_icon_frame.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/layout-v35/settingslib_expressive_preference_icon_frame.xml
rename to packages/SettingsLib/SettingsTheme/res/layout-v36/settingslib_expressive_preference_icon_frame.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/layout-v35/settingslib_expressive_preference_switch.xml b/packages/SettingsLib/SettingsTheme/res/layout-v36/settingslib_expressive_preference_switch.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/layout-v35/settingslib_expressive_preference_switch.xml
rename to packages/SettingsLib/SettingsTheme/res/layout-v36/settingslib_expressive_preference_switch.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/layout-v35/settingslib_expressive_two_target_divider.xml b/packages/SettingsLib/SettingsTheme/res/layout-v36/settingslib_expressive_two_target_divider.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/layout-v35/settingslib_expressive_two_target_divider.xml
rename to packages/SettingsLib/SettingsTheme/res/layout-v36/settingslib_expressive_two_target_divider.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/values-night-v35/colors.xml b/packages/SettingsLib/SettingsTheme/res/values-night-v36/colors.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/values-night-v35/colors.xml
rename to packages/SettingsLib/SettingsTheme/res/values-night-v36/colors.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/values-v35/colors.xml b/packages/SettingsLib/SettingsTheme/res/values-v36/colors.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/values-v35/colors.xml
rename to packages/SettingsLib/SettingsTheme/res/values-v36/colors.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/values-v35/dimens.xml b/packages/SettingsLib/SettingsTheme/res/values-v36/dimens.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/values-v35/dimens.xml
rename to packages/SettingsLib/SettingsTheme/res/values-v36/dimens.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/values-v35/styles_expressive.xml b/packages/SettingsLib/SettingsTheme/res/values-v36/styles_expressive.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/values-v35/styles_expressive.xml
rename to packages/SettingsLib/SettingsTheme/res/values-v36/styles_expressive.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/values-v35/styles_preference_expressive.xml b/packages/SettingsLib/SettingsTheme/res/values-v36/styles_preference_expressive.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/values-v35/styles_preference_expressive.xml
rename to packages/SettingsLib/SettingsTheme/res/values-v36/styles_preference_expressive.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/values-v35/themes.xml b/packages/SettingsLib/SettingsTheme/res/values-v36/themes.xml
similarity index 94%
rename from packages/SettingsLib/SettingsTheme/res/values-v35/themes.xml
rename to packages/SettingsLib/SettingsTheme/res/values-v36/themes.xml
index b6e80c7..1c45ff6 100644
--- a/packages/SettingsLib/SettingsTheme/res/values-v35/themes.xml
+++ b/packages/SettingsLib/SettingsTheme/res/values-v36/themes.xml
@@ -16,7 +16,7 @@
   -->
 
 <resources>
-    <style name="Theme.SettingsBase_v35" parent="Theme.SettingsBase_v33" >
+    <style name="Theme.SettingsBase_v36" parent="Theme.SettingsBase_v33" >
         <item name="android:colorAccent">@color/settingslib_materialColorPrimary</item>
         <item name="android:colorBackground">@color/settingslib_materialColorSurfaceContainer</item>
         <item name="android:textColorPrimary">@color/settingslib_materialColorOnSurface</item>
@@ -27,5 +27,5 @@
         <item name="android:clipChildren">false</item>
     </style>
 
-    <style name="Theme.SettingsBase" parent="Theme.SettingsBase_v35" />
+    <style name="Theme.SettingsBase" parent="Theme.SettingsBase_v36" />
 </resources>
\ No newline at end of file
diff --git a/packages/SettingsLib/SettingsTheme/res/values-v35/themes_expressive.xml b/packages/SettingsLib/SettingsTheme/res/values-v36/themes_expressive.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/values-v35/themes_expressive.xml
rename to packages/SettingsLib/SettingsTheme/res/values-v36/themes_expressive.xml
diff --git a/packages/SettingsLib/SettingsTheme/res/values-v35/themes_preference_expressive.xml b/packages/SettingsLib/SettingsTheme/res/values-v36/themes_preference_expressive.xml
similarity index 100%
rename from packages/SettingsLib/SettingsTheme/res/values-v35/themes_preference_expressive.xml
rename to packages/SettingsLib/SettingsTheme/res/values-v36/themes_preference_expressive.xml
diff --git a/packages/SettingsLib/TwoTargetPreference/res/layout-v35/settingslib_expressive_preference_two_target.xml b/packages/SettingsLib/TwoTargetPreference/res/layout-v36/settingslib_expressive_preference_two_target.xml
similarity index 100%
rename from packages/SettingsLib/TwoTargetPreference/res/layout-v35/settingslib_expressive_preference_two_target.xml
rename to packages/SettingsLib/TwoTargetPreference/res/layout-v36/settingslib_expressive_preference_two_target.xml
diff --git a/packages/SettingsLib/res/values-af/strings.xml b/packages/SettingsLib/res/values-af/strings.xml
index dbc4e5a..dcad735 100644
--- a/packages/SettingsLib/res/values-af/strings.xml
+++ b/packages/SettingsLib/res/values-af/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Kon nie omgewing opdateer nie"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktief (net media). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktiewe (net media). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Gastetoestel. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Gastetoestel. L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Gastetoestel (net media). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Gastetoestel (net media). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Gekoppel (steun oudiodeling). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Gekoppel (steun oudiodeling). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Gekoppel (steun oudiodeling). Links: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Gekoppel (steun oudiodeling). Regs: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Gekoppel (steun oudiodeling)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Gastetoestel (steun oudiodeling). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Gastetoestel (steun oudiodeling). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Gastetoestel (steun oudiodeling)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktief (net media)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Gastetoestel"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Gastetoestel (net media)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Steun oudiodeling"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Gastetoestel. Steun oudiodeling"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktief (net media), net linkerkant"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktief (net media), net regterkant"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktief (net media), linker- en regterkant"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Hardeware-versnelde lewering"</string>
     <string name="media_category" msgid="8122076702526144053">"Media"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitering"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Vensterbestuur"</string>
     <string name="strict_mode" msgid="889864762140862437">"Strengmodus geaktiveer"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Flits skerm as apps lang bewerkings uitvoer op die hoofdraad"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Wyserligging"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView-implementering"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Stel WebView-implementering"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Hierdie keuse is nie meer geldig nie. Probeer weer."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Webaansig-Ontwikkelaarnutsgoed"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Webaansigpakket nie gevind nie."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Kon nie Ontwikkelaarnutsgoed begin nie."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Fotokleurmodus"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Gebruik sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Gedeaktiveer"</string>
diff --git a/packages/SettingsLib/res/values-am/strings.xml b/packages/SettingsLib/res/values-am/strings.xml
index bfe6006..dc6bd0f 100644
--- a/packages/SettingsLib/res/values-am/strings.xml
+++ b/packages/SettingsLib/res/values-am/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"በዙሪያ ያሉትን ማዘመን አልተቻለም"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"ገቢር (ሚዲያ ብቻ)። <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ባትሪ።"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"ገቢር (ሚዲያ ብቻ)። ግ፦ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>፣ ቀ፦ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ባትሪ።"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"የእንግዳ መሣሪያ። <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ባትሪ።"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"የእንግዳ መሣሪያ። ግ፦ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>፣ ቀ፦ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ባትሪ።"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"የእንግዳ መሣሪያ (ሚዲያ ብቻ)። <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ባትሪ።"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"የእንግዳ መሣሪያ (ሚዲያ ብቻ)። ግ፦ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>፣ ቀ፦ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ባትሪ።"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"ተገናኝቷል (የድምፅ ማጋራት ይደግፋል)፣ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ባትሪ።"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"ተገናኝቷል (የድምፅ ማጋራት ይደግፋል) ግ፦ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>፣ ቀ፦ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ባትሪ።"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"ተገናኝቷል (የድምፅ ማጋራት ይደግፋል)። ግራ፦<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ባትሪ።"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"ተገናኝቷል (የድምፅ ማጋራት ይደግፋል)። ቀኝ፦ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ባትሪ።"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"ተገናኝቷል (የድምፅ ማጋራት ይደግፋል)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"የእንግዳ መሣሪያ (የድምፅ ማጋራትን ይደግፋል)። <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ባትሪ።"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"የእንግዳ መሣሪያ (የድምፅ ማጋራትን ይደግፋል)። ግ፦ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>፣ ቀ፦ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ባትሪ።"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"የእንግዳ መሣሪያ (የድምፅ ማጋራትን ይደግፋል)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"ገቢር (ሚዲያ ብቻ)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"የእንግዳ መሣሪያ"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"የእንግዳ መሣሪያ (ሚዲያ ብቻ)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"ድምፅ ማጋራትን ይደግፋል"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"የእንግዳ መሣሪያ። የድምፅ ማጋራትን ይደግፋል"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"ገቢር (ሚዲያ ብቻ)፣ ግራ ብቻ"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"ገቢር (ሚዲያ ብቻ) ቀኝ ብቻ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"ገቢር (ሚዲያ ብቻ)፣ ግራ እና ቀኝ"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"የተፋጠነ የሃርድዌር አሰጣጥ"</string>
     <string name="media_category" msgid="8122076702526144053">"ማህደረመረጃ"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"ቁጥጥር"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"የመስኮት አስተዳደር"</string>
     <string name="strict_mode" msgid="889864762140862437">"ጥብቅ ሁነታ ነቅቷል"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"መተግበሪያዎች ረጅም ክንውኖች ወደ ዋና ክሮች ሲያካሂዱ ማያላይ ብልጭ አድርግ።"</string>
     <string name="pointer_location" msgid="7516929526199520173">"የአመልካች ሥፍራ"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"የWebView ትግበራ"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"የWebView ትግበራን ያዘጋጁ"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"ይህ ምርጫ ከአሁን በኋላ የሚሰራ አይደለም። እንደገና ይሞክሩ።"</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"የድር ዕይታ DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"የድር ዕይታ ጥቅል አልተገኘም።"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevToolsን ማስጀመር አልተቻለም።"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"የስዕል ቀለም ሁነታ"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB ይጠቀሙ"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"ተሰናክሏል"</string>
diff --git a/packages/SettingsLib/res/values-ar/strings.xml b/packages/SettingsLib/res/values-ar/strings.xml
index 64a021d..e2487d7 100644
--- a/packages/SettingsLib/res/values-ar/strings.xml
+++ b/packages/SettingsLib/res/values-ar/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"تعذَّر تعديل حالة الأصوات المحيطة"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"‏البلوتوث نشِط (للوسائط فقط). مستوى شحن البطارية: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"‏البلوتوث نشِط (للوسائط فقط)، مستوى الشحن في سماعة الرأس اليسرى: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>، مستوى الشحن في سماعة الرأس اليمنى: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"‏جهاز ضيف. مستوى شحن البطارية: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"‏جهاز ضيف. اليسرى: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>، اليمنى: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> من البطارية"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"‏جهاز ضيف (للوسائط فقط). مستوى شحن البطارية: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"‏جهاز ضيف (للوسائط فقط). اليسرى: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>، اليمنى: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> من البطارية"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"‏البلوتوث متصل (ميزة \"مشاركة الصوت\" متاحة). مستوى شحن البطارية: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"‏البلوتوث متصل (ميزة \"مشاركة الصوت\" متاحة). مستوى الشحن في سماعة الرأس اليسرى: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>، مستوى الشحن في سماعة الرأس اليمنى: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"‏البلوتوث متصل (ميزة \"مشاركة الصوت\" متاحة). مستوى الشحن في سماعة الرأس اليسرى: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"‏البلوتوث متصل (ميزة \"مشاركة الصوت\" متاحة). مستوى الشحن في سماعة الرأس اليمنى: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"البلوتوث متصل (ميزة \"مشاركة الصوت\" متاحة)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"‏جهاز ضيف (يوفِّر ميزة \"مشاركة الصوت\"). مستوى شحن البطارية: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"‏جهاز ضيف (يوفِّر ميزة \"مشاركة الصوت\"). اليسرى: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>، اليمنى: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> من البطارية"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"جهاز ضيف (يوفِّر ميزة \"مشاركة الصوت\")"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"البلوتوث مفعَّل (للوسائط فقط)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"جهاز ضيف"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"جهاز ضيف (للوسائط فقط)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"تتوفّر ميزة \"مشاركة الصوت\""</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"جهاز ضيف. يوفِّر ميزة \"مشاركة الصوت\""</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"السماعة اليسرى فقط مشغَّلة (للوسائط فقط)"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"السماعة اليمنى فقط مشغَّلة (للوسائط فقط)"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"السماعتان اليسرى واليمنى مشغَّلتان (للوسائط فقط)"</string>
@@ -492,12 +482,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"‏تطبيق WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"‏تعيين تطبيق WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"لم يعد هذا الاختيار صالحًا. أعد المحاولة."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"‏أدوات مطوري البرامج في WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"‏تعذَّر العثور على حزمة WebView."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"تعذَّر تشغيل \"أدوات مطوري البرامج\"."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"نمط لون الصورة"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"‏استخدام sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"غير مفعّل"</string>
diff --git a/packages/SettingsLib/res/values-as/strings.xml b/packages/SettingsLib/res/values-as/strings.xml
index 82ee7f3..f95a66b 100644
--- a/packages/SettingsLib/res/values-as/strings.xml
+++ b/packages/SettingsLib/res/values-as/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"আশ-পাশ আপডে’ট কৰিব পৰা নগ’ল"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"সক্ৰিয় হৈ আছে (কেৱল মিডিয়া)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> বেটাৰী।"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"সক্ৰিয় হৈ আছে (কেৱল মিডিয়া)। বাওঁ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, সোঁ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> বেটাৰী।"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"অতিথিৰ ডিভাইচ। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> বেটাৰী।"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"অতিথিৰ ডিভাইচ। বাওঁ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, সোঁ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> বেটাৰী।"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"অতিথিৰ ডিভাইচ (কেৱল মিডিয়া)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> বেটাৰী।"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"অতিথিৰ ডিভাইচ (কেৱল মিডিয়া)। বাওঁ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, সোঁ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> বেটাৰী।"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"সংযুক্ত হৈ আছে (অডিঅ’ শ্বেয়াৰিং সমৰ্থন কৰে), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> বেটাৰী।"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"সংযুক্ত হৈ আছে (অডিঅ’ শ্বেয়াৰিং সমৰ্থন কৰে), বাওঁ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, সোঁ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> বেটাৰী"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"সংযুক্ত হৈ আছে (অডিঅ’ শ্বেয়াৰিং সমৰ্থন কৰে)। বাকী আছে: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> বেটাৰী।"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"সংযুক্ত হৈ আছে (অডিঅ’ শ্বেয়াৰিং সমৰ্থন কৰে)। সোঁ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> বেটাৰী।"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"সংযুক্ত হৈ আছে (অডিঅ’ শ্বেয়াৰিং সমৰ্থন কৰে)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"অতিথিৰ ডিভাইচ (অডিঅ’ শ্বেয়াৰিং সমৰ্থন কৰে)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> বেটাৰী।"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"অতিথিৰ ডিভাইচ (অডিঅ’ শ্বেয়াৰিং সমৰ্থন কৰে)। বাওঁ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, সোঁ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> বেটাৰী।"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"অতিথিৰ ডিভাইচ (অডিঅ’ শ্বেয়াৰিং সমৰ্থন কৰে)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"সক্ৰিয় হৈ আছে (কেৱল মিডিয়া)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"অতিথিৰ ডিভাইচ"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"অতিথিৰ ডিভাইচ (কেৱল মিডিয়া)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"অডিঅ’ শ্বেয়াৰিং সমৰ্থন কৰে"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"অতিথিৰ ডিভাইচ। অডিঅ’ শ্বেয়াৰিং সমৰ্থন কৰে"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"সক্ৰিয় হৈ আছে (কেৱল মিডিয়া), কেৱল বাওঁ"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"সক্ৰিয় হৈ আছে (কেৱল মিডিয়া), কেৱল সোঁ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"সক্ৰিয় হৈ আছে (কেৱল মিডিয়া), বাওঁ আৰু সোঁ"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"হাৰ্ডৱেৰৰদ্বাৰা ত্বৰিত ৰেণ্ডাৰিং"</string>
     <string name="media_category" msgid="8122076702526144053">"মিডিয়া"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"নিৰীক্ষণ কৰি থকা হৈছে"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"ৱিণ্ড’ পৰিচালনা"</string>
     <string name="strict_mode" msgid="889864762140862437">"কঠোৰ ম’ড সক্ষম কৰা হৈছে"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"যেতিয়া এপ্‌সমূহে মুখ্য থ্ৰেডত দীঘলীয়া কাৰ্যকলাপ চলায়, তেতিয়া স্ক্ৰীন ফ্লাশ্ব কৰক"</string>
     <string name="pointer_location" msgid="7516929526199520173">"পইণ্টাৰৰ অৱস্থান"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"ৱেবভিউ প্ৰয়োগ"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"ৱেবভিউ প্ৰয়োগ ছেট কৰক"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"বাছনিটো এতিয়া আৰু মান্য় নহয়। আকৌ চেষ্টা কৰক।"</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView পেকেজ বিচাৰি পোৱা নগ’ল।"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools লঞ্চ কৰিব পৰা নগ’ল।"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"চিত্ৰৰ ৰং ম’ড"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"এছআৰজিবি ব্যৱহাৰ কৰক"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"নিষ্ক্ৰিয় হৈ আছে"</string>
diff --git a/packages/SettingsLib/res/values-az/strings.xml b/packages/SettingsLib/res/values-az/strings.xml
index aa93964..5e47ff9 100644
--- a/packages/SettingsLib/res/values-az/strings.xml
+++ b/packages/SettingsLib/res/values-az/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Ətraf mühit güncəllənmədi"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktiv (yalnız media). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batareya."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktiv (yalnız media). Sol: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Sağ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batareya."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Qonaq cihaz. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batareya."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Qonaq cihaz. Sol: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Sağ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batareya."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Qonaq cihaz (yalnız media). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batareya."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Qonaq cihaz (yalnız media). Sol: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Sağ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batareya."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Qoşulub (audio paylaşma dəstəklənir). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batareya."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Qoşulub (audio paylaşma dəstəklənir). Sol: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Sağ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batareya."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Qoşulub (audio paylaşma dəstəklənir). Sol: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batareya."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Qoşulub (audio paylaşma dəstəklənir). Sağ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batareya."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Qoşulub (audio paylaşma dəstəklənir)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Qonaq cihaz (auido paylaşma dəstəklənir). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batareya."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Qonaq cihaz (auido paylaşma dəstəklənir). Sol: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Sağ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batareya."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Qonaq cihaz (audio paylaşma dəstəklənir)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktiv (yalnız media)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Qonaq cihaz"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Qonaq cihaz (yalnız media)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Audio paylaşma dəstəklənir"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Qonaq cihaz. Audio paylaşma dəstəklənir"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktiv (yalnız media), yalnız sol"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktiv (yalnız media), yalnız sağ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktiv (yalnız media), sol və sağ"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Renderinq aparat sürətlənməsi"</string>
     <string name="media_category" msgid="8122076702526144053">"Media"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitorinq"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Pəncərə idarəetməsi"</string>
     <string name="strict_mode" msgid="889864762140862437">"Ciddi rejim"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Uzun əməliyyatlar ərzində ekran işıqlandırılsın"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Kursor yeri"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView servisi"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView servisini ayarlayın"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Bu seçim artıq etibarlı deyil. Yenidən cəhd edin."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebGörüntü üzrə DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebGörüntü paketi tapılmadı."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools-u başlatmaq mümkün olmadı."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Şəkil rəng rejimi"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB istifadə edin"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Deaktiv"</string>
diff --git a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
index 7f60500..cb62399 100644
--- a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
+++ b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Ažuriranje okruženja nije uspelo"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktivno (samo za medije). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktivno (samo za medije). Levo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, desno: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterije."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Uređaj gosta. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Uređaj gosta. Levo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, desno: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterije."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Uređaj gosta (samo za medije). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Uređaj gosta (samo za medije). Levo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, desno: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterije."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Povezano (podržava deljenje zvuka), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Povezano (podržava deljenje zvuka), levo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, desno: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterije."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Povezano (podržava deljenje zvuka). Levo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Povezano (podržava deljenje zvuka). Desno: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Povezano (podržava deljenje zvuka)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Uređaj gosta (podržava deljenje zvuka). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Uređaj gosta (podržava deljenje zvuka). Levo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, desno: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterije."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Uređaj gosta (podržava deljenje zvuka)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktivan (samo za medije)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Uređaj gosta"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Uređaj gosta (samo za medije)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Podržava deljenje zvuka"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Uređaj gosta. Podržava deljenje zvuka"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktivan (samo za medije), samo levo"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktivan (samo za medije), samo desno"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktivan (samo za medije), levo i desno"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Hardverski ubrzano prikazivanje"</string>
     <string name="media_category" msgid="8122076702526144053">"Mediji"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Nadgledanje"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Upravljanje prozorima"</string>
     <string name="strict_mode" msgid="889864762140862437">"Omogućen je strogi režim"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Ekran treperi kada aplikacije obavljaju duge operacije na glavnoj niti"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Lokacija pokazivača"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Primena WebView-a"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Podesite primenu WebView-a"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Ovaj izbor više nije važeći. Probajte ponovo."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView alatke za programere"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Paket za WebView nije pronađen."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Pokretanje alatki za programere nije uspelo."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Režim boja slika"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Koristi sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Onemogućeno je"</string>
diff --git a/packages/SettingsLib/res/values-be/strings.xml b/packages/SettingsLib/res/values-be/strings.xml
index 50de924..ef66fb3 100644
--- a/packages/SettingsLib/res/values-be/strings.xml
+++ b/packages/SettingsLib/res/values-be/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Не ўдалося абнавіць стан навакольных гукаў"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Выкарыстоўваецца (толькі для мультымедыя). Зарад акумулятара: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Выкарыстоўваецца (толькі для мультымедыя). Зарад акумулятара: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (левы навушнік), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (правы навушнік)."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Гасцявая прылада. Зарад акумулятара: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Гасцявая прылада. Зарад акумулятара: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (левы навушнік), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (правы навушнік)."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Гасцявая прылада (толькі мультымедыя). Зарад акумулятара: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Гасцявая прылада (толькі мультымедыя). Зарад акумулятара: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (левы навушнік), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (правы навушнік)."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Падключана (падтрымліваецца абагульванне аўдыя). Зарад акумулятара: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Падключана (падтрымліваецца абагульванне аўдыя). Зарад акумулятара: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (левы навушнік), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (правы навушнік)."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Падключана (падтрымліваецца абагульванне аўдыя). Зарад акумулятара: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> (левы навушнік)."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Падключана (падтрымліваецца абагульванне аўдыя). Зарад акумулятара: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> (правы навушнік)."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Падключана (падтрымліваецца абагульванне аўдыя)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Гасцявая прылада (падтрымлівае абагульванне аўдыя). Зарад акумулятара: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Гасцявая прылада (падтрымлівае абагульванне аўдыя). Зарад акумулятара: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (левы навушнік), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (правы навушнік)."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Гасцявая прылада (падтрымлівае абагульванне аўдыя)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Выкарыстоўваецца (толькі для мультымедыя)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Гасцявая прылада"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Гасцявая прылада (толькі мультымедыя)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Падтрымліваецца абагульванне аўдыя"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Гасцявая прылада. Падтрымлівае абагульванне аўдыя."</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Выкарыстоўваецца (толькі для мультымедыя), толькі левы навушнік"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Выкарыстоўваецца (толькі для мультымедыя), толькі правы навушнік"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Выкарыстоўваецца (толькі для мультымедыя), левы і правы навушнікі"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Апаратнае паскарэнне рэндэрынгу"</string>
     <string name="media_category" msgid="8122076702526144053">"Медыя"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Маніторынг"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Кіраванне вокнамі"</string>
     <string name="strict_mode" msgid="889864762140862437">"Уключаны строгі рэжым"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Падсвечваць экран падчас доўгіх аперацый"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Пазіцыя ўказальніка"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Рэалізацыя WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Наладзіць рэалізацыю WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Гэты варыянт больш не даступны. Паспрабуйце яшчэ раз."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Інструменты распрацоўшчыка WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Пакет WebView не знойдзены."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Не ўдалося запусціць інструменты распрацоўшчыка."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Каляровы рэжым выявы"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Выкарыстоўваць sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Выключана"</string>
diff --git a/packages/SettingsLib/res/values-bg/strings.xml b/packages/SettingsLib/res/values-bg/strings.xml
index c3c1783..69d6866 100644
--- a/packages/SettingsLib/res/values-bg/strings.xml
+++ b/packages/SettingsLib/res/values-bg/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Данните за околните звуци не бяха актуализирани"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Активно (само за мултимедия). Батерия – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Активно (само за мултимедия). Л: батерия – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Д: батерия – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Устройство на гост. Батерия – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Устройство на гост. Л: батерия – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Д: батерия – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Устройство на гост (само за мултимедия). Батерия – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Устройство на гост (само за мултимедия). Л: батерия – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Д: батерия – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Свързано (поддържа споделяне на звука). Батерия – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Свързано (поддържа споделяне на звука). Л: батерия – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Д: батерия – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Свързано (поддържа споделяне на звука). За ляво ухо. Батерия: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Свързано (поддържа споделяне на звука). За дясно ухо. Батерия: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Свързано (поддържа споделяне на звука)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Устройство на гост (поддържа споделяне на звука). Батерия – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Устройство на гост (поддържа споделяне на звука). Л: батерия – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Д: батерия – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Устройство на гост (поддържа споделяне на звука)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Активно (само за мултимедия)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Устройство на гост"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Устройство на гост (само за мултимедия)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Поддържа споделяне на звука"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Устройство на гост. Поддържа споделяне на звука"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Активно (само за мултимедия), само лявата"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Активно (само за мултимедия), само дясната"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Активно (само за мултимедия), лявата и дясната"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Хардуерно ускорено изобразяване"</string>
     <string name="media_category" msgid="8122076702526144053">"Мултимедия"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Наблюдение"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Управление на прозорците"</string>
     <string name="strict_mode" msgid="889864762140862437">"Активиран строг режим"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Примигване на екрана при дълги операции в главната нишка"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Mестопол. на показалеца"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Внедряване на WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Задаване на внедряването на WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Този избор вече не е валиден. Опитайте отново."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"DevTools за WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Пакетът на WebView не е намерен."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools не се стартира."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Цветови режим за снимките"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Използване на sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Деактивирано"</string>
diff --git a/packages/SettingsLib/res/values-bn/strings.xml b/packages/SettingsLib/res/values-bn/strings.xml
index 93b6521..7e8e3fe 100644
--- a/packages/SettingsLib/res/values-bn/strings.xml
+++ b/packages/SettingsLib/res/values-bn/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"সারাউন্ডিং আপডেট করা যায়নি"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"চালু আছে (শুধুমাত্র মিডিয়া)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ব্যাটারি।"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"চালু আছে (শুধুমাত্র মিডিয়া), বাঁদিক: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ডানদিক: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ব্যাটারি।"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"অতিথি ডিভাইস। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ব্যাটারি।"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"অতিথি ডিভাইস। বাঁদিক: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ডানদিক: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ব্যাটারি।"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"অতিথি ডিভাইস (শুধুমাত্র মিডিয়া)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ব্যাটারি।"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"অতিথি ডিভাইস (শুধুমাত্র মিডিয়া)। বাঁদিক: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ডানদিক: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ব্যাটারি।"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"কানেক্ট করা আছে (অডিও শেয়ারিংয়ে কাজ করে), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ব্যাটারি।"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"কানেক্ট করা আছে (অডিও শেয়ারিংয়ে কাজ করে), বাঁদিক: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ডানদিক: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ব্যাটারি।"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"কানেক্ট করা আছে (অডিও শেয়ারিংয়ে কাজ করে)। বাঁদিক: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ব্যাটারি।"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"কানেক্ট করা আছে (অডিও শেয়ারিংয়ে কাজ করে)। ডানদিকে: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ব্যাটারি।"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"কানেক্ট করা আছে (অডিও শেয়ারিংয়ে কাজ করে)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"অতিথি ডিভাইস (অডিও শেয়ারিং কাজ করে)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ব্যাটারি।"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"অতিথি ডিভাইস (অডিও শেয়ারিং কাজ করে)। বাঁদিক: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ডানদিক: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ব্যাটারি।"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"অতিথি ডিভাইস (অডিও শেয়ারিং কাজ করে)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"চালু আছে (শুধুমাত্র মিডিয়া)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"অতিথি ডিভাইস"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"অতিথি ডিভাইস (শুধুমাত্র মিডিয়া)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"অডিও শেয়ারিংয়ে কাজ করে"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"অতিথি ডিভাইস। অডিও শেয়ারিং কাজ করে"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"চালু আছে (শুধুমাত্র মিডিয়া), শুধুমাত্র বাঁদিক"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"চালু আছে (শুধুমাত্র মিডিয়া), শুধুমাত্র ডানদিক"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"চালু আছে (শুধুমাত্র মিডিয়া), বাঁদিক ও ডানদিক"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"হার্ডওয়্যার দ্বারা চালিত রেন্ডারিং"</string>
     <string name="media_category" msgid="8122076702526144053">"মিডিয়া"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"পর্যবেক্ষণে রাখা"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"উইন্ডো ম্যানেজমেন্ট"</string>
     <string name="strict_mode" msgid="889864762140862437">"স্ট্রিক্ট মোড চালু আছে"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"মুখ্য থ্রেডে অ্যাপগুলির দীর্ঘ কার্যকলাপের ক্ষেত্রে স্ক্রিন ফ্ল্যাশ করে"</string>
     <string name="pointer_location" msgid="7516929526199520173">"পয়েন্টারের লোকেশন"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"ওয়েবভিউ প্রয়োগ"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"ওয়েবভিউ প্রয়োগ সেট করুন"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"এই পছন্দটি আর বৈধ নেই৷ আবার চেষ্টা করুন৷"</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView প্রদানকারীর DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView প্যাকেজ পাওয়া যায়নি।"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools চালু করা যায়নি।"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"ছবি রঙ মোড"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB ব্যবহার করুন"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"অক্ষম হয়েছে"</string>
diff --git a/packages/SettingsLib/res/values-bs/strings.xml b/packages/SettingsLib/res/values-bs/strings.xml
index abb0775..d0b15d9e 100644
--- a/packages/SettingsLib/res/values-bs/strings.xml
+++ b/packages/SettingsLib/res/values-bs/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Ažuriranje okruženja nije uspjelo"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktivno (samo za medijski sadržaj). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktivno (samo za medijski sadržaj). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> baterije, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterije."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Gostujući uređaj. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Gostujući uređaj. L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> baterije, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterije."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Gostujući uređaj (samo za medijski sadržaj). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Gostujući uređaj (samo za medijski sadržaj). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> baterije, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterije."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Povezano (podržava dijeljenje zvuka). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Povezano (podržava dijeljenje zvuka). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> baterije, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterije."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Povezano (podržava dijeljenje zvuka). Lijevo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Povezano (podržava dijeljenje zvuka). Desno: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Povezano (podržava dijeljenje zvuka)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Gostujući uređaj (podržava dijeljenje zvuka). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Gostujući uređaj (podržava dijeljenje zvuka). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> baterije, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterije."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Gostujući uređaj (podržava dijeljenje zvuka)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktivno (samo za medijski sadržaj)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Gostujući uređaj"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Gostujući uređaj (samo za medijski sadržaj)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Podržava dijeljenje zvuka"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Gostujući uređaj. Podržava dijeljenje zvuka"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktivno (samo za medijski sadržaj), samo lijevo"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktivno (samo za medijski sadržaj), samo desno"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktivno (samo za medijski sadržaj), lijevo i desno"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Hardverski ubrzano prikazivanje"</string>
     <string name="media_category" msgid="8122076702526144053">"Mediji"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Praćenje"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Upravljanje prozorima"</string>
     <string name="strict_mode" msgid="889864762140862437">"Omogući strogi način rada"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Ekran bljeska kada aplikacije vrše duge operacije u glavnoj niti"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Lokacija pokazivača"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Postavljanje WebViewa"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Podesi WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Ovaj izbor više ne vrijedi. Pokušajte ponovo."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Alati za programere za WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Paket WebViewa nije pronađen."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Pokretanje alata za programere nije uspjelo."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Način rada boja slika"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Koristi sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Onemogućeno"</string>
diff --git a/packages/SettingsLib/res/values-ca/strings.xml b/packages/SettingsLib/res/values-ca/strings.xml
index ed49307c..283182c 100644
--- a/packages/SettingsLib/res/values-ca/strings.xml
+++ b/packages/SettingsLib/res/values-ca/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"No s\'ha pogut actualitzar l\'entorn"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Actiu (només contingut multimèdia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Actiu (només contingut multimèdia), E: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Dispositiu convidat. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Dispositiu convidat. E: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Dispositiu convidat (només contingut multimèdia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Dispositiu convidat (només contingut multimèdia). E: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Connectat (admet compartició d\'àudio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Connectat (admet compartició d\'àudio), E: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Connectat (admet compartició d\'àudio). Esquerre: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Connectat (admet compartició d\'àudio). Dret: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Connectat (admet compartició d\'àudio)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Dispositiu convidat (admet compartició d\'àudio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Dispositiu convidat (admet compartició d\'àudio). E: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Dispositiu convidat (admet compartició d\'àudio)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Actiu (només contingut multimèdia)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Dispositiu convidat"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Dispositiu convidat (només contingut multimèdia)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Admet compartició d\'àudio"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Dispositiu convidat. Admet compartició d\'àudio"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Actiu (només contingut multimèdia), només esquerre"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Actiu (només contingut multimèdia), només dret"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Actiu (només contingut multimèdia), esquerre i dret"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Renderització accelerada per maquinari"</string>
     <string name="media_category" msgid="8122076702526144053">"Multimèdia"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Supervisió"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Gestió de finestres"</string>
     <string name="strict_mode" msgid="889864762140862437">"Mode estricte activat"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Il·lumina la pantalla quan les aplicacions facin operacions llargues al fil principal"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Ubicació del punter"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Implementació de WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Estableix implementació de WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Aquesta opció ja no és vàlida. Torna-ho a provar."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"DevTools de WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"No s\'ha trobat el paquet de WebView."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"No s\'ha pogut iniciar DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Mode de color de la imatge"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Utilitza sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Desactivat"</string>
diff --git a/packages/SettingsLib/res/values-cs/strings.xml b/packages/SettingsLib/res/values-cs/strings.xml
index 7ea6e43..bc00d47 100644
--- a/packages/SettingsLib/res/values-cs/strings.xml
+++ b/packages/SettingsLib/res/values-cs/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Okolí se nepodařilo aktualizovat"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktivní (pouze média). Baterie: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktivní (pouze média), baterie: L <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, P <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Zařízení hosta. Baterie: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Zařízení hosta. Baterie: L <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, P <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Zařízení hosta (jen média). Baterie: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Zařízení hosta (jen média). Baterie: L <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, P <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Připojeno (podporuje sdílení zvuku), baterie: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Připojeno (podporuje sdílení zvuku), baterie: L <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, P <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Připojeno (podporuje sdílení zvuku). Levá strana: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterie"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Připojeno (podporuje sdílení zvuku). Pravá strana: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterie."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Připojeno (podporuje sdílení zvuku)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Zařízení hosta (podporuje sdílení zvuku). Baterie: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Zařízení hosta (podporuje sdílení zvuku). Baterie: L <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, P <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Zařízení hosta (podporuje sdílení zvuku)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktivní (pouze média)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Zařízení hosta"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Zařízení hosta (jen media)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Podporuje sdílení zvuku"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Zařízení hosta. Podporuje sdílení zvuku"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktivní (pouze média), pouze levé"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktivní (pouze média), pouze pravé"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktivní (pouze média), levé a pravé"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Hardwarově urychlené vykreslování"</string>
     <string name="media_category" msgid="8122076702526144053">"Média"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Sledování"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Správa oken"</string>
     <string name="strict_mode" msgid="889864762140862437">"Přísný režim aktivován"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Rozblikat obrazovku při dlouhých operacích hlavního vlákna"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Umístění ukazatele"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Implementace WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Nastavte implementaci WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Tato volba již není platná. Zkuste to znovu."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Nástroje pro vývojáře WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Balíček WebView nebyl nalezen."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Nástroje pro vývojáře nelze spustit."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Režim barev obrázku"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Použije se barevný prostor sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Vypnuto"</string>
diff --git a/packages/SettingsLib/res/values-da/strings.xml b/packages/SettingsLib/res/values-da/strings.xml
index 4aad2a2..986c40f 100644
--- a/packages/SettingsLib/res/values-da/strings.xml
+++ b/packages/SettingsLib/res/values-da/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Omgivelserne kunne ikke opdateres"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktiveret (kun for medier). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktiveret (kun for medier), V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batteri."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Gæsteenhed. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Gæsteenhed. V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batteri."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Gæsteenhed (kun medier). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Gæsteenhed (kun medier). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batteri."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Forbundet (understøtter lyddeling). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Forbundet (understøtter lyddeling), V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batteri."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Forbundet (understøtter lyddeling). Venstre: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Forbundet (understøtter lyddeling). Højre: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Forbundet (understøtter lyddeling)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Gæsteenhed (understøtter lyddeling). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Gæsteenhed (understøtter lyddeling). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batteri."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Gæsteenhed (understøtter lyddeling)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktiveret (kun for medier)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Gæsteenhed"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Gæsteenhed (kun medier)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Understøtter lyddeling"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Gæsteenhed. Understøtter lyddeling"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktiveret (kun for medier), kun venstre"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktiveret (kun for medier), kun højre"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktiveret (kun for medier), venstre og højre"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Hardware-accelereret gengivelse"</string>
     <string name="media_category" msgid="8122076702526144053">"Medie"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Overvågning"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Administration af vinduer"</string>
     <string name="strict_mode" msgid="889864762140862437">"Striks tilstand aktiveret"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Blink med skærmen, når apps foretager handlinger på hovedtråd"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Markørens lokation"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView-implementering"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Konfigurer WebView-implementering"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Dette valg er ikke længere gyldigt. Prøv igen."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Udviklerværktøjer til Webvisning"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Pakken Webvisning blev ikke fundet."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Udviklerværktøjer kunne ikke åbnes."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Farvetilstand for billeder"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Brug sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Deaktiveret"</string>
diff --git a/packages/SettingsLib/res/values-de/strings.xml b/packages/SettingsLib/res/values-de/strings.xml
index 55cae96..e7ffaa4 100644
--- a/packages/SettingsLib/res/values-de/strings.xml
+++ b/packages/SettingsLib/res/values-de/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Status der Umgebungsgeräusche konnte nicht aktualisiert werden"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktiv (nur Medien). Akku: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktiv (nur Medien). Akku links: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Akku rechts: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Gastgerät. Akku: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Gastgerät. Akku links: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Akku rechts: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Gastgerät (nur Medien). Akku: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Gastgerät (nur Medien). Akku links: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Akku rechts: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Verbunden (unterstützt Audiofreigabe). Akku: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Verbunden (unterstützt Audiofreigabe). Akku links: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Akku rechts: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Verbunden (unterstützt Audiofreigabe). Akku links: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Verbunden (unterstützt Audiofreigabe). Akku rechts: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Verbunden (unterstützt Audiofreigabe)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Gastgerät (unterstützt Audiofreigabe). Akku: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Gastgerät (unterstützt Audiofreigabe). Akku links: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Akku rechts: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Gastgerät (unterstützt Audiofreigabe)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktiv (nur Medien)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Gastgerät"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Gastgerät (nur Medien)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Unterstützt Audiofreigabe"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Gastgerät. Unterstützt Audiofreigabe."</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktiv (nur Medien), nur links"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktiv (nur Medien), nur rechts"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktiv (nur Medien), links und rechts"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Hardwarebeschleunigtes Rendering"</string>
     <string name="media_category" msgid="8122076702526144053">"Medien"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitoring"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Fensterverwaltung"</string>
     <string name="strict_mode" msgid="889864762140862437">"Strikter Modus aktiviert"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Bei langen App-Vorgängen im Hauptthread blinkt Bildschirm"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Zeigerposition"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView-Implementierung"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView-Implementierung festlegen"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Diese Auswahl ist nicht mehr gültig. Bitte versuche es noch einmal."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView-Entwicklertools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Das WebView-Paket wurde nicht gefunden."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Die Entwicklertools konnten nicht gestartet werden."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Farbmodus für Bilder"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB verwenden"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Deaktiviert"</string>
diff --git a/packages/SettingsLib/res/values-el/strings.xml b/packages/SettingsLib/res/values-el/strings.xml
index 6b6b7fb..2fc0ff2 100644
--- a/packages/SettingsLib/res/values-el/strings.xml
+++ b/packages/SettingsLib/res/values-el/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Δεν ήταν δυνατή η ενημέρωση των ήχων περιβάλλοντος"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Ενεργό (μόνο για μέσα). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> μπαταρία."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Ενεργό (μόνο για μέσα). Α: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Δ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> μπαταρία."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Συσκευή επισκέπτη. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> μπαταρία."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Συσκευή επισκέπτη. Α: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Δ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> μπαταρία."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Συσκευή επισκέπτη (μόνο για μέσα). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> μπαταρία."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Συσκευή επισκέπτη (μόνο για μέσα). Α: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Δ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> μπαταρία."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Συνδεδεμένο (υποστηρίζει κοινή χρήση ήχου). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> μπαταρία."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Συνδεδεμένο (υποστηρίζει κοινή χρήση ήχου). Α: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Δ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> μπαταρία."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Συνδεδεμένο (υποστηρίζει κοινή χρήση ήχου). Αριστερά: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> μπαταρία."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Συνδεδεμένο (υποστηρίζει κοινή χρήση ήχου). Δεξιά: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> μπαταρία."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Συνδεδεμένο (υποστηρίζει κοινή χρήση ήχου)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Συσκευή επισκέπτη (υποστηρίζει κοινή χρήση ήχου). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> μπαταρία."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Συσκευή επισκέπτη (υποστηρίζει κοινή χρήση ήχου). Α: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Δ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> μπαταρία."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Συσκευή επισκέπτη (υποστηρίζει κοινή χρήση ήχου)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Ενεργό (μόνο για μέσα)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Συσκευή επισκέπτη"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Συσκευή επισκέπτη (μόνο μέσα)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Υποστηρίζει κοινή χρήση ήχου"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Συσκευή επισκέπτη. Υποστηρίζει κοινή χρήση ήχου"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Ενεργό (μόνο για μέσα), μόνο αριστερό"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Ενεργό (μόνο για μέσα), μόνο δεξί"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Ενεργό (μόνο για μέσα), αριστερό και δεξί"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Απόδοση με επιτάχυνση από υλικό εξοπλισμό"</string>
     <string name="media_category" msgid="8122076702526144053">"Μέσα"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Παρακολούθηση"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Διαχείριση παραθύρων"</string>
     <string name="strict_mode" msgid="889864762140862437">"Ενεργ. αυστηρής λειτουργ."</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Αναβ. οθόνη σε εκτέλεση μεγάλων λειτ.σε κύριο νήμα"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Θέση δείκτη"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Υλοποίηση WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Ορισμός υλοποίησης WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Αυτή η επιλογή δεν είναι πια έγκυρη. Δοκιμάστε ξανά."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Εργαλεία για προγραμματιστές Προβολής στον ιστό"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Δεν βρέθηκε το πακέτο Προβολή στον ιστό."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Αδύνατη εκκίνηση Εργαλείων για προγραμματιστές."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Λειτουργία χρώματος εικόνας"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Χρήση sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Απενεργοποιημένο"</string>
diff --git a/packages/SettingsLib/res/values-en-rAU/strings.xml b/packages/SettingsLib/res/values-en-rAU/strings.xml
index a811960..34d6bf7 100644
--- a/packages/SettingsLib/res/values-en-rAU/strings.xml
+++ b/packages/SettingsLib/res/values-en-rAU/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Couldn\'t update surroundings"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Active (media only). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Active (media only). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Guest device. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Guest device. L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Guest device (media only). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Guest device (media only). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Connected (supports audio sharing). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Connected (supports audio sharing). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Connected (supports audio sharing). Left: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Connected (supports audio sharing). Right: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Connected (supports audio sharing)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Guest device (supports audio sharing). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Guest device (supports audio sharing). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Guest device (supports audio sharing)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Active (media only)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Guest device"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Guest device (media only)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Supports audio sharing"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Guest device. Supports audio sharing"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Active (media only), left only"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Active (media only), right only"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Active (media only), left and right"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Hardware accelerated rendering"</string>
     <string name="media_category" msgid="8122076702526144053">"Media"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitoring"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Window management"</string>
     <string name="strict_mode" msgid="889864762140862437">"Strict mode enabled"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Flash screen when apps do long operations on main thread"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Pointer location"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView implementation"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Set WebView implementation"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"This choice is no longer valid. Try again."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView package not found."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Could not launch DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Picture colour mode"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Use sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Disabled"</string>
diff --git a/packages/SettingsLib/res/values-en-rCA/strings.xml b/packages/SettingsLib/res/values-en-rCA/strings.xml
index a12b46c..1203437 100644
--- a/packages/SettingsLib/res/values-en-rCA/strings.xml
+++ b/packages/SettingsLib/res/values-en-rCA/strings.xml
@@ -386,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Hardware accelerated rendering"</string>
     <string name="media_category" msgid="8122076702526144053">"Media"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitoring"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Window Management"</string>
     <string name="strict_mode" msgid="889864762140862437">"Strict mode enabled"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Flash screen when apps do long operations on main thread"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Pointer location"</string>
diff --git a/packages/SettingsLib/res/values-en-rGB/strings.xml b/packages/SettingsLib/res/values-en-rGB/strings.xml
index a811960..34d6bf7 100644
--- a/packages/SettingsLib/res/values-en-rGB/strings.xml
+++ b/packages/SettingsLib/res/values-en-rGB/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Couldn\'t update surroundings"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Active (media only). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Active (media only). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Guest device. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Guest device. L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Guest device (media only). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Guest device (media only). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Connected (supports audio sharing). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Connected (supports audio sharing). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Connected (supports audio sharing). Left: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Connected (supports audio sharing). Right: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Connected (supports audio sharing)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Guest device (supports audio sharing). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Guest device (supports audio sharing). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Guest device (supports audio sharing)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Active (media only)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Guest device"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Guest device (media only)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Supports audio sharing"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Guest device. Supports audio sharing"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Active (media only), left only"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Active (media only), right only"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Active (media only), left and right"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Hardware accelerated rendering"</string>
     <string name="media_category" msgid="8122076702526144053">"Media"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitoring"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Window management"</string>
     <string name="strict_mode" msgid="889864762140862437">"Strict mode enabled"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Flash screen when apps do long operations on main thread"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Pointer location"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView implementation"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Set WebView implementation"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"This choice is no longer valid. Try again."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView package not found."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Could not launch DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Picture colour mode"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Use sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Disabled"</string>
diff --git a/packages/SettingsLib/res/values-en-rIN/strings.xml b/packages/SettingsLib/res/values-en-rIN/strings.xml
index a811960..34d6bf7 100644
--- a/packages/SettingsLib/res/values-en-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-en-rIN/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Couldn\'t update surroundings"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Active (media only). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Active (media only). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Guest device. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Guest device. L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Guest device (media only). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Guest device (media only). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Connected (supports audio sharing). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Connected (supports audio sharing). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Connected (supports audio sharing). Left: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Connected (supports audio sharing). Right: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Connected (supports audio sharing)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Guest device (supports audio sharing). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Guest device (supports audio sharing). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> battery."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Guest device (supports audio sharing)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Active (media only)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Guest device"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Guest device (media only)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Supports audio sharing"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Guest device. Supports audio sharing"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Active (media only), left only"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Active (media only), right only"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Active (media only), left and right"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Hardware accelerated rendering"</string>
     <string name="media_category" msgid="8122076702526144053">"Media"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitoring"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Window management"</string>
     <string name="strict_mode" msgid="889864762140862437">"Strict mode enabled"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Flash screen when apps do long operations on main thread"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Pointer location"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView implementation"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Set WebView implementation"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"This choice is no longer valid. Try again."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView package not found."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Could not launch DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Picture colour mode"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Use sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Disabled"</string>
diff --git a/packages/SettingsLib/res/values-es-rUS/strings.xml b/packages/SettingsLib/res/values-es-rUS/strings.xml
index 6c3c98a..ca17178 100644
--- a/packages/SettingsLib/res/values-es-rUS/strings.xml
+++ b/packages/SettingsLib/res/values-es-rUS/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"No se pudo actualizar el sonido envolvente"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Activado (solo para contenido multimedia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Activo (solo para contenido multimedia); I: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>; D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batería."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Dispositivo de invitado. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Dispositivo de invitado. I: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>; D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batería."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Dispositivo de invitado (solo para contenido multimedia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Dispositivo de invitado (solo para contenido multimedia). I: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>; D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batería."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Conectado (admite el uso compartido de audio); <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Conectado (admite el uso compartido de audio); I: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>; D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batería."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Conectado (admite el uso compartido de audio). Izquierdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Conectado (admite el uso compartido de audio). Derecho: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Conectado (admite el uso compartido de audio)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Dispositivo de invitado (admite el uso compartido de audio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Dispositivo de invitado (admite el uso compartido de audio). I: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>; D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batería."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Dispositivo de invitado (admite el uso compartido de audio)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Activo (solo para contenido multimedia)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Dispositivo de invitado"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Dispositivo de invitado (solo para contenido multimedia)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Admite el uso compartido de audio"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Dispositivo de invitado. Admite el uso compartido de audio"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Activo (solo para contenido multimedia); solo izquierdo"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Activo (solo para contenido multimedia); solo derecho"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Activo (solo para contenido multimedia); izquierdo y derecho"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Renderización acelerada por hardware"</string>
     <string name="media_category" msgid="8122076702526144053">"Multimedia"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Supervisión"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Administración de ventanas"</string>
     <string name="strict_mode" msgid="889864762140862437">"Modo estricto"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Parpadear si aplicaciones tardan en proceso principal"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Ubicación del puntero"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Implementación de WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Configurar la implementación de WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Esta opción ya no es válida. Vuelve a intentarlo."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Herramientas para desarrolladores de WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"No se encontró el paquete WebView."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"No se pudieron iniciar las Herramientas para desarrolladores."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Modo de color de la imagen"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Usa sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Inhabilitado"</string>
@@ -667,7 +653,7 @@
     <string name="user_grant_admin_message" msgid="1673791931033486709">"Los administradores tienen privilegios especiales que no tienen otros usuarios. Un administrador puede administrar a todos los usuarios, actualizar o restablecer el dispositivo, modificar parámetros de configuración, ver todas las apps instaladas y otorgar o revocar privilegios de administrador de otros usuarios."</string>
     <string name="user_grant_admin_button" msgid="5441486731331725756">"Convertir en administrador"</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"¿Configurar el usuario ahora?"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"Asegúrate de que la persona pueda acceder al dispositivo y configurar su espacio."</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"Asegúrate de que la persona pueda acceder al dispositivo y configurar su espacio"</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"¿Quieres configurar tu perfil ahora?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"Configurar ahora"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"Ahora no"</string>
diff --git a/packages/SettingsLib/res/values-es/strings.xml b/packages/SettingsLib/res/values-es/strings.xml
index b91c9b4..22e8b11 100644
--- a/packages/SettingsLib/res/values-es/strings.xml
+++ b/packages/SettingsLib/res/values-es/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"No se han podido actualizar los alrededores"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Activo (solo multimedia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Activo (solo multimedia). Izquierdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de batería. Derecho: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batería."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Dispositivo invitado. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Dispositivo invitado. Izquierdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de batería. Derecho: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batería."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Dispositivo invitado (solo multimedia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Dispositivo invitado (solo multimedia). Izquierdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de batería. Derecho: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batería."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Conectado (permite compartir audio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Conectado (admite Compartir audio). Izquierdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de batería. Derecho: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batería."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Conectado (admite Compartir audio). Izquierdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Conectado (admite Compartir audio). Derecho: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Conectado (admite Compartir audio)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Dispositivo invitado (admite Compartir audio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Dispositivo invitado (admite Compartir audio). Izquierdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de batería. Derecho: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batería."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Dispositivo invitado (admite Compartir audio)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Activo (solo multimedia)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Dispositivo invitado"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Dispositivo invitado (solo multimedia)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Permite compartir audio"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Dispositivo invitado. Admite Compartir audio."</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Activo (solo multimedia), solo el izquierdo"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Activo (solo multimedia), solo el derecho"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Activo (solo multimedia), izquierdo y derecho"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Renderización acelerada por hardware"</string>
     <string name="media_category" msgid="8122076702526144053">"Multimedia"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Supervisión"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Gestión de ventanas"</string>
     <string name="strict_mode" msgid="889864762140862437">"Modo Estricto habilitado"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Hace parpadear la pantalla si las aplicaciones tardan mucho en el subproceso principal"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Ubicación del puntero"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Implementación de WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Establecer implementación de WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Esta opción ya no está disponible. Vuelve a intentarlo."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"DevTools de WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"No se ha encontrado el paquete WebView."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"No se ha podido iniciar DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Modo de color de imagen"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Utiliza sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Inhabilitado"</string>
diff --git a/packages/SettingsLib/res/values-et/strings.xml b/packages/SettingsLib/res/values-et/strings.xml
index 8c5d7fe..0de0197 100644
--- a/packages/SettingsLib/res/values-et/strings.xml
+++ b/packages/SettingsLib/res/values-et/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Ümbritsevate helide seadeid ei saanud värskendada"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktiivne (ainult meedia). Aku <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktiivne (ainult meedia). Aku: V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, P: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Külalisseade. Aku: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Külalisseade. Aku: V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, P: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Külalisseade (ainult meedia). Aku: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Külalisseade (ainult meedia). Aku: V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, P: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Ühendatud (toetab heli jagamist). Aku <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Ühendatud (toetab heli jagamist). Aku: V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, P: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Ühendatud (toetab heli jagamist). Vasak: aku <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Ühendatud (toetab heli jagamist). Parem: aku <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Ühendatud (toetab heli jagamist)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Külalisseade (toetab heli jagamist). Aku: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Külalisseade (toetab heli jagamist). Aku: V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, P: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Külalisseade (toetab heli jagamist)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktiivne (ainult meedia)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Külalisseade"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Külalisseade (ainult meedia)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Toetab heli jagamist"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Külalisseade. Toetab heli jagamist."</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktiivne (ainult meedia), ainult vasak"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktiivne (ainult meedia), ainult parem"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktiivne (ainult meedia), vasak ja parem"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Riistvarakiirendusega renderdamine"</string>
     <string name="media_category" msgid="8122076702526144053">"Meedia"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Jälgimine"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Akende haldamine"</string>
     <string name="strict_mode" msgid="889864762140862437">"Range režiim on lubatud"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Ekraan vilgub, kui rakendused teevad pealõimes pikki toiminguid"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Kursori asukoht"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView\' rakendamine"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView\' rakendamise seadistamine"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"See valik ei kehti enam. Proovige uuesti."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView\' arendaja tööriistad"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView\' paketti ei leitud."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Ei saanud arendaja tööriistu käivitada."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Pildi värvirežiim"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB kasutamine"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Keelatud"</string>
diff --git a/packages/SettingsLib/res/values-eu/strings.xml b/packages/SettingsLib/res/values-eu/strings.xml
index a1e4664..7a8bf56 100644
--- a/packages/SettingsLib/res/values-eu/strings.xml
+++ b/packages/SettingsLib/res/values-eu/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Ezin izan da eguneratu ingurunea"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktibo (multimedia-edukia soilik). Bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktibo (multimedia-edukia soilik). L aldearen bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. R aldearen bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Gailu gonbidatua. Bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Gailu gonbidatua. L aldearen bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. R aldearen bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Gailu gonbidatua (multimedia-edukia soilik). Bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Gailu gonbidatua (multimedia-edukia soilik). L aldearen bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. R aldearen bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Konektatuta (audioa partekatzeko eginbidea onartzen du). Bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Konektatuta (audioa partekatzeko eginbidea onartzen du). L aldearen bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. R aldearen bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Konektatuta (audioa partekatzeko eginbidea onartzen du). Ezkerreko aldearen bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Konektatuta (audioa partekatzeko eginbidea onartzen du). Eskuineko aldearen bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Konektatuta (audioa partekatzeko eginbidea onartzen du)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Gailu gonbidatua (audioa partekatzeko eginbidea onartzen du). Bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Gailu gonbidatua (audioa partekatzeko eginbidea onartzen du). L aldearen bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. R aldearen bateria: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Gailu gonbidatua (audioa partekatzeko eginbidea onartzen du)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktibo (multimedia-edukia soilik)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Gailu gonbidatua"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Gailu gonbidatua (multimedia-edukia soilik)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Audioa partekatzeko eginbidea onartzen du"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Gailu gonbidatua. Audioa partekatzeko eginbidea onartzen du."</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktibo (multimedia-edukia soilik); ezkerreko aldea soilik"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktibo (multimedia-edukia soilik); eskuineko aldea soilik"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktibo (multimedia-edukia soilik); ezkerreko eta eskuineko aldeak"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Hardware bidez azeleratutako errendatzea"</string>
     <string name="media_category" msgid="8122076702526144053">"Multimedia-edukia"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Kontrola"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Leihoen kudeaketa"</string>
     <string name="strict_mode" msgid="889864762140862437">"Modu zorrotza gaituta"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Distirarazi hari nagusian eragiketa luzeak egitean"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Erakuslearen kokapena"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView inplementazioa"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Ezarri WebView inplementazioa"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Jada ez dago erabilgarri aukera hori. Saiatu berriro."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView-ren garatzaileentzako tresnak"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Ez da aurkitu WebView-ko paketea."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Ezin izan dira abiarazi garatzaileentzako tresnak."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Irudiaren kolore modua"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Erabili sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Desgaituta"</string>
diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml
index c939180..9ba2f35 100644
--- a/packages/SettingsLib/res/values-fa/strings.xml
+++ b/packages/SettingsLib/res/values-fa/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"پیرامون به‌روز نشد"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"فعال (فقط رسانه). باتری: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"فعال (فقط رسانه). باتری چپ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>، باتری راست: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"‏دستگاه مهمان. سطح باتری: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"‏دستگاه مهمان. سطح باتری چپ: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>، سطح باتری راست: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"‏دستگاه مهمان (فقط رسانه). سطح باتری: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"‏دستگاه مهمان (فقط رسانه). سطح باتری چپ: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>، سطح باتری راست: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"متصل (از اشتراک صدا پشتیبانی می‌کند)، باتری: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"متصل (از اشتراک صدا پشتیبانی می‌کند)، باتری چپ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>، باتری راست: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"متصل (از اشتراک صدا پشتیبانی می‌کند). باتری چپ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"متصل (از اشتراک صدا پشتیبانی می‌کند). باتری راست: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"متصل (از اشتراک صدا پشتیبانی می‌کند)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"‏دستگاه مهمان (از «اشتراک صدا» پشتیبانی می‌کند). سطح باتری: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"‏دستگاه مهمان (از «اشتراک صدا» پشتیبانی می‌کند). سطح باتری چپ: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>، سطح باتری راست: ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"دستگاه مهمان (از «اشتراک صدا» پشتیبانی می‌کند)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"فعال (فقط رسانه)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"دستگاه مهمان"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"دستگاه مهمان (فقط رسانه)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"از اشتراک صدا پشتیبانی می‌کند"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"دستگاه مهمان. از «اشتراک صدا» پشتیبانی می‌کند"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"فعال (فقط رسانه)، فقط چپ"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"فعال (فقط رسانه)، فقط راست"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"فعال (فقط رسانه)، چپ و راست"</string>
@@ -157,7 +147,7 @@
     <string name="bluetooth_profile_a2dp_high_quality_unknown_codec" msgid="2477639096903834374">"‏صدای HD"</string>
     <string name="bluetooth_profile_hearing_aid" msgid="2607867572569689732">"سمعک"</string>
     <string name="bluetooth_profile_le_audio" msgid="1725521360076451751">"صدای کم‌مصرف"</string>
-    <string name="bluetooth_hearing_aid_profile_summary_connected" msgid="5757754050938807276">"متصل به سمعک"</string>
+    <string name="bluetooth_hearing_aid_profile_summary_connected" msgid="5757754050938807276">"به سمعک وصل‌شده"</string>
     <string name="bluetooth_le_audio_profile_summary_connected" msgid="6916226974453480650">"به «صدای کم‌مصرف» وصل است"</string>
     <string name="bluetooth_a2dp_profile_summary_connected" msgid="7422607970115444153">"به رسانه صوتی متصل شد"</string>
     <string name="bluetooth_headset_profile_summary_connected" msgid="2420981566026949688">"به تلفن صوتی متصل شد"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"پردازش سخت‌افزاری سریع"</string>
     <string name="media_category" msgid="8122076702526144053">"رسانه"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"نظارت"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"مدیریت پنجره"</string>
     <string name="strict_mode" msgid="889864762140862437">"حالت شدید فعال شد"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"چشمک زدن صفحه هنگام انجام عملیات طولانی توسط برنامه‌ها در رشته اصلی"</string>
     <string name="pointer_location" msgid="7516929526199520173">"محل اشاره‌گر"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"اجرای وب‌نما"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"تنظیم اجرای وب‌نما"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"این انتخاب دیگر معتبر نیست. دوباره امتحان کنید."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"‏‫DevTools وب‌نما"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"بسته وب‌نما پیدا نشد."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"‏‫DevTools راه‌اندازی نشد."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"حالت رنگ عکس"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"‏استفاده از sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"غیر فعال"</string>
@@ -620,7 +606,7 @@
     <string name="media_transfer_this_device_name_tv" msgid="8508713779441163887">"این تلویزیون"</string>
     <string name="media_transfer_dock_speaker_device_name" msgid="2856219597113881950">"بلندگوی پایه اتصال"</string>
     <string name="media_transfer_external_device_name" msgid="2588672258721846418">"دستگاه خارجی"</string>
-    <string name="media_transfer_default_device_name" msgid="4315604017399871828">"دستگاه متصل"</string>
+    <string name="media_transfer_default_device_name" msgid="4315604017399871828">"دستگاه وصل‌شده"</string>
     <string name="media_transfer_this_phone" msgid="7194341457812151531">"این تلفن"</string>
     <string name="media_transfer_digital_line_name" msgid="312091711951124301">"S/PDIF"</string>
     <string name="media_transfer_analog_line_name" msgid="1841163866716302104">"آنالوگ"</string>
@@ -632,7 +618,7 @@
     <string name="media_output_status_device_in_low_power_mode" msgid="8184631698321758451">"برای پخش در اینجا، دستگاه را بیدار کنید"</string>
     <string name="media_output_status_unauthorized" msgid="5880222828273853838">"دستگاه برای پخش تأیید نشده است"</string>
     <string name="media_output_status_track_unsupported" msgid="5576313219317709664">"نمی‌توان این رسانه را اینجا پخش کرد"</string>
-    <string name="tv_media_transfer_connected" msgid="5145011475885290725">"متصل"</string>
+    <string name="tv_media_transfer_connected" msgid="5145011475885290725">"وصل‌شده"</string>
     <string name="tv_media_transfer_arc_fallback_title" msgid="3674360098755328601">"HDMI ARC"</string>
     <string name="tv_media_transfer_earc_fallback_title" msgid="3098685494578519940">"HDMI eARC"</string>
     <string name="tv_media_transfer_arc_subtitle" msgid="1040017851325069082">"‏متصل ازطریق ARC"</string>
@@ -667,7 +653,7 @@
     <string name="user_grant_admin_message" msgid="1673791931033486709">"سرپرستان امتیازهای ویژه‌ای دارند که کاربران دیگر ندارند. سرپرست می‌تواند همه کاربران را مدیریت کند، این دستگاه را به‌روز یا بازنشانی کند، تنظیمات را تغییر دهد، همه برنامه‌های نصب‌شده را ببیند، و امتیازهای سرپرست را به دیگران اعطا کند یا از آن‌ها بگیرد."</string>
     <string name="user_grant_admin_button" msgid="5441486731331725756">"انتخاب به‌عنوان سرپرست"</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"هم اکنون کاربر تنظیم شود؟"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"مطمئن شوید شخص در دسترس است تا دستگاه را بگیرد و فضایش را تنظیم کند"</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"مطمئن شوید آن شخص دردسترس است تا دستگاه را بگیرد و فضای خود را تنظیم کند"</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"اکنون نمایه را تنظیم می‌کنید؟"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"اکنون تنظیم شود"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"حالا نه"</string>
diff --git a/packages/SettingsLib/res/values-fi/strings.xml b/packages/SettingsLib/res/values-fi/strings.xml
index d222882..d1cc76c 100644
--- a/packages/SettingsLib/res/values-fi/strings.xml
+++ b/packages/SettingsLib/res/values-fi/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Ympäristön päivittäminen epäonnistui"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktiivinen (vain media). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> virtaa."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktiivinen (vain media). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, O: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> virtaa."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Vieraslaite. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> virtaa."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Vieraslaite. V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, O: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> virtaa."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Vieraslaite (vain media). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> virtaa."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Vieraslaite (vain media). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, O: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> virtaa."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Yhdistetty (tukee audionjakoa). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> virtaa."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Yhdistetty (tukee audionjakoa). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> virtaa, O: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> virtaa."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Yhdistetty (tukee audionjakoa). Vasen: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> virtaa."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Yhdistetty (tukee audionjakoa). Oikea: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> virtaa."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Yhdistetty (tukee audionjakoa)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Vieraslaite (tukee audionjakoa). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> virtaa."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Vieraslaite (tukee audionjakoa). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, O: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> virtaa."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Vieraslaite (tukee audionjakoa)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktiivinen (vain media)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Vieraslaite"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Vieraslaite (vain media)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Tukee audionjakoa"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Vieraslaite. Tukee audionjakoa"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktiivinen (vain media), vain vasen"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktiivinen (vain media), vain oikea"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktiivinen (vain media), vasen ja oikea"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Laitteistokiihdytetty hahmonnus"</string>
     <string name="media_category" msgid="8122076702526144053">"Media"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Valvonta"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Ikkunoiden hallinnointi"</string>
     <string name="strict_mode" msgid="889864762140862437">"Tiukka tila käytössä"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Vilkuta näyttöä sovellusten tehdessä pitkiä toimia"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Osoittimen sijainti"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView-käyttöönotto"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Määritä WebView-käyttöönotto"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Tämä valinta ei ole enää saatavilla. Yritä uudestaan."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView\'n DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView-pakettia ei löydy."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevToolsia ei voitu käynnistää."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Kuvien värit"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Ota sRGB käyttöön"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Poistettu käytöstä"</string>
diff --git a/packages/SettingsLib/res/values-fr-rCA/strings.xml b/packages/SettingsLib/res/values-fr-rCA/strings.xml
index b03e6cb..d833892 100644
--- a/packages/SettingsLib/res/values-fr-rCA/strings.xml
+++ b/packages/SettingsLib/res/values-fr-rCA/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Impossible de mettre à jour les sons de l\'environnement"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Actif (contenu multimédia uniquement). Pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Actif (contenu multimédia uniquement). G. : pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D. : pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Appareil invité. Pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Appareil invité. G. : pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D. : pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Appareil invité (contenu multimédia seulement). Pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Appareil invité (contenu multimédia seulement). G. : pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D. : pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Connecté (prise en charge du partage audio). Pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Connecté (prise en charge du partage audio). G. : pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D. : pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Connecté (prise en charge du partage audio). Gauche : pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Connecté (prise en charge du partage audio). Droite : pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Connecté (prise en charge du partage audio)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Appareil invité (prend en charge le partage audio). Pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Appareil invité (prend en charge le partage audio). G. : pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D. : pile à <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Appareil invité (prend en charge le partage audio)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Actif (contenu multimédia uniquement)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Appareil invité"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Appareil invité (contenu multimédia seulement)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Prise en charge du partage audio"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Appareil invité. Prend en charge le partage audio"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Actif (contenu multimédia uniquement), côté gauche seulement"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Actif (contenu multimédia uniquement), côté droit seulement"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Actif (contenu multimédia uniquement), côtés gauche et droit"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Accélération matérielle"</string>
     <string name="media_category" msgid="8122076702526144053">"Médias"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Surveillance"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Gestion des fenêtres"</string>
     <string name="strict_mode" msgid="889864762140862437">"Mode Strict activé"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Afficher un cadre rouge si le fil principal reste occupé"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Emplacement du curseur"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Mise en œuvre WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Définir la mise en œuvre WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Ce choix n\'est plus valide. Réessayez."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Outils pour les développeurs WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Impossible de trouver l\'ensemble WebView."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Impossible de lancer les outils pour développeurs."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Mode couleur des images"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Utiliser sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Désactivé"</string>
diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml
index 4440126..2fc946b 100644
--- a/packages/SettingsLib/res/values-fr/strings.xml
+++ b/packages/SettingsLib/res/values-fr/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Impossible de mettre à jour le mode Sons environnants"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Actif (multimédia uniquement). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batterie."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Actif (multimédia uniquement). Gauche : <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de batterie, droit : <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batterie."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Appareil invité. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batterie."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Appareil invité. Gauche : <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de batterie, droit : <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batterie."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Appareil invité (multimédia uniquement). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batterie."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Appareil invité (multimédia uniquement). Gauche : <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de batterie, droit : <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batterie."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Connecté (compatible avec le partage audio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batterie."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Connecté (compatible avec le partage audio). Gauche : <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de batterie, droit : <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batterie."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Connecté (compatible avec le partage audio). Gauche : <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batterie."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Connecté (compatible avec le partage audio). Droit : <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batterie."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Connecté (compatible avec le partage audio)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Appareil invité (compatible avec le partage audio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batterie."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Appareil invité (compatible avec le partage audio). Gauche : <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de batterie, droit : <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batterie."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Appareil invité (compatible avec le partage audio)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Activé (multimédia uniquement)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Appareil invité"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Appareil invité (multimédia uniquement)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Compatible avec le partage audio"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Appareil invité. Compatible avec le partage audio"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Activé (multimédia uniquement), gauche uniquement"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Activé (multimédia uniquement), droit uniquement"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Activé (multimédia uniquement), gauche et droit"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Rendu accéléré par le matériel"</string>
     <string name="media_category" msgid="8122076702526144053">"Multimédia"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Suivi"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Gestion des fenêtres"</string>
     <string name="strict_mode" msgid="889864762140862437">"Mode Strict activé"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Faire clignoter l\'écran si le thread principal reste occupé"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Emplacement du curseur"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Implémentation WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Définir la mise en œuvre WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Ce choix n\'est plus valide. Réessayez."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Outils de développement WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Package WebView introuvable."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Impossible de lancer les outils de développement."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Mode de couleur des images"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Utiliser sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Désactivé"</string>
diff --git a/packages/SettingsLib/res/values-gl/strings.xml b/packages/SettingsLib/res/values-gl/strings.xml
index 536b918..b6eacfc 100644
--- a/packages/SettingsLib/res/values-gl/strings.xml
+++ b/packages/SettingsLib/res/values-gl/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Non se puido actualizar o ambiente"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Activo (só contido multimedia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Activo (só contido multimedia). Esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de batería. Dereito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batería."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Dispositivo convidado. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Dispositivo convidado. Esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de batería. Dereito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batería."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Dispositivo convidado (só contido multimedia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Dispositivo convidado (só contido multimedia). Esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de batería. Dereito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batería."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Conectado (compatible con audio compartido). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Conectado (compatible con audio compartido). Esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de batería. Dereito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batería."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Conectado (compatible con audio compartido). Esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Conectado (compatible con audio compartido). Dereito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Conectado (compatible con audio compartido)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Dispositivo convidado (compatible con audio compartido). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de batería."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Dispositivo convidado (compatible con audio compartido). Esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de batería. Dereito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de batería."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Dispositivo convidado (compatible con audio compartido)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Activo (só contido multimedia)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Dispositivo convidado"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Dispositivo convidado (só contido multimedia)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Compatible con audio compartido"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Dispositivo convidado. Compatible con audio compartido"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Activo (só contido multimedia), só esquerdo"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Activo (só contido multimedia), só dereito"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Activo (só contido multimedia), esquerdo e dereito"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Procesamento acelerado mediante hardware"</string>
     <string name="media_category" msgid="8122076702526144053">"Multimedia"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Supervisión"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Xestión de ventás"</string>
     <string name="strict_mode" msgid="889864762140862437">"Modo estrito activado"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"A pantalla ilumínase se as aplicacións tardan moito no proceso principal"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Localización do punteiro"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Implementación de WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Definir implementación de WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Esta opción xa non é válida. Téntao de novo."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"DevTools de WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Non se atopou o paquete de WebView."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Non se puido activar DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Modo de cor da imaxe"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Utiliza sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Desactivado"</string>
diff --git a/packages/SettingsLib/res/values-gu/strings.xml b/packages/SettingsLib/res/values-gu/strings.xml
index 1b4bad3..57f8982 100644
--- a/packages/SettingsLib/res/values-gu/strings.xml
+++ b/packages/SettingsLib/res/values-gu/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"આસપાસના અવાજો અપડેટ કરી શક્યા નથી"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"સક્રિય (માત્ર મીડિયા માટે). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> બૅટરી."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"સક્રિય (માત્ર મીડિયા માટે). ડાબી બાજુ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, જમણી બાજુ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> બૅટરી."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"અતિથિ ડિવાઇસ. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> બૅટરી."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"અતિથિ ડિવાઇસ. ડાબી બાજુ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, જમણી બાજુ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> બૅટરી."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"અતિથિ ડિવાઇસ (માત્ર મીડિયા માટે). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> બૅટરી."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"અતિથિ ડિવાઇસ (માત્ર મીડિયા માટે). ડાબી બાજુ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, જમણી બાજુ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> બૅટરી."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"કનેક્ટેડ (ઑડિયો શેરિંગને સપોર્ટ કરે છે). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> બૅટરી."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"કનેક્ટેડ (ઑડિયો શેરિંગને સપોર્ટ કરે છે). ડાબી બાજુ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, જમણી બાજુ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> બૅટરી."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"કનેક્ટેડ (ઑડિયો શેરિંગને સપોર્ટ કરે છે). ડાબી બાજુ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> બૅટરી."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"કનેક્ટેડ (ઑડિયો શેરિંગને સપોર્ટ કરે છે). જમણી બાજુ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> બૅટરી."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"કનેક્ટેડ (ઑડિયો શેરિંગને સપોર્ટ કરે છે)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"અતિથિ ડિવાઇસ (ઑડિયો શેરિંગને સપોર્ટ કરે છે). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> બૅટરી."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"અતિથિ ડિવાઇસ (ઑડિયો શેરિંગને સપોર્ટ કરે છે). ડાબી બાજુ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, જમણી બાજુ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> બૅટરી."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"અતિથિ ડિવાઇસ (ઑડિયો શેરિંગને સપોર્ટ કરે છે)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"સક્રિય છે (માત્ર મીડિયા માટે)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"અતિથિ ડિવાઇસ"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"અતિથિ ડિવાઇસ (માત્ર મીડિયા માટે)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"ઑડિયો શેરિંગને સપોર્ટ કરે છે"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"અતિથિ ડિવાઇસ. ઑડિયો શેરિંગને સપોર્ટ કરે છે"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"સક્રિય છે (માત્ર મીડિયા માટે), માત્ર ડાબી બાજુ"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"સક્રિય છે (માત્ર મીડિયા માટે), માત્ર જમણી બાજુ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"સક્રિય છે (માત્ર મીડિયા માટે), ડાબી અને જમણી બાજુ"</string>
@@ -177,7 +167,7 @@
     <string name="bluetooth_hid_profile_summary_use_for" msgid="4289460627406490952">"ઇનપુટ માટે ઉપયોગ કરો"</string>
     <string name="bluetooth_hearing_aid_profile_summary_use_for" msgid="3374057355721486932">"સાંભળવામાં મદદ આપતા યંત્રો માટે ઉપયોગ કરો"</string>
     <string name="bluetooth_le_audio_profile_summary_use_for" msgid="2778318636027348572">"LE_AUDIO માટે ઉપયોગ કરો"</string>
-    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"જોડી કરો"</string>
+    <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"જોડાણ કરો"</string>
     <string name="bluetooth_pairing_accept_all_caps" msgid="2734383073450506220">"જોડી કરો"</string>
     <string name="bluetooth_pairing_decline" msgid="6483118841204885890">"રદ કરો"</string>
     <string name="bluetooth_pairing_will_share_phonebook" msgid="3064334458659165176">"એ કનેક્ટ કરેલ હોય ત્યારે જોડાણ બનાવવાથી તમારા સંપર્કો અને કૉલ ઇતિહાસનો અ‍ૅક્સેસ મળે છે."</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"હાર્ડવેર પ્રવેગક રેન્ડરિંગ"</string>
     <string name="media_category" msgid="8122076702526144053">"મીડિયા"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"નિરિક્ષણ કરી રહ્યું છે"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"વિન્ડો મેનેજમેન્ટ"</string>
     <string name="strict_mode" msgid="889864762140862437">"સ્ટ્રિક્ટ મોડ ચાલુ કરેલો છે"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"જ્યારે મુખ્ય થ્રેડ પર ઍપ લાંબી કામગીરીઓ કરે ત્યારે સ્ક્રીનને ફ્લેશ કરો"</string>
     <string name="pointer_location" msgid="7516929526199520173">"પૉઇન્ટર લોકેશન"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView અમલીકરણ"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView અમલીકરણ સેટ કરો"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"આ વિકલ્પ હવે માન્ય નથી. ફરી પ્રયાસ કરો."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView પૅકેજ મળ્યું નથી."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools લૉન્ચ કરી શક્યા નથી."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"ચિત્ર રંગ મોડ"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB નો ઉપયોગ કરો"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"બંધ"</string>
@@ -666,20 +652,20 @@
     <string name="user_grant_admin_title" msgid="5157031020083343984">"આ વપરાશકર્તાને ઍડમિન બનાવવા છે?"</string>
     <string name="user_grant_admin_message" msgid="1673791931033486709">"ઍડમિન પાસે વિશિષ્ટ વિશેષાધિકારો હોય છે જે અન્ય વપરાશકર્તાઓ પાસે હોતા નથી. ઍડમિન બધા વપરાશકર્તાઓને મેનેજ કરી શકે, આ ડિવાઇસને અપડેટ અથવા રીસેટ કરી શકે, સેટિંગમાં ફેરફાર કરી શકે, ઇન્સ્ટૉલ કરેલી બધી ઍપ જોઈ શકે અને અન્ય લોકોને ઍડમિનના અધિકારો આપી શકે અથવા તેમને રદબાતલ કરી શકે."</string>
     <string name="user_grant_admin_button" msgid="5441486731331725756">"ઍડમિન બનાવો"</string>
-    <string name="user_setup_dialog_title" msgid="8037342066381939995">"અત્યારે જ વપરાશકર્તાને સેટ અપ કરીએ?"</string>
+    <string name="user_setup_dialog_title" msgid="8037342066381939995">"વપરાશકર્તાને હમણાં જ સેટ અપ કરીએ?"</string>
     <string name="user_setup_dialog_message" msgid="269931619868102841">"ખાતરી કરો કે વ્યક્તિ ડિવાઇસ લેવા અને તેમના સ્થાનનું સેટ અપ કરવા માટે ઉપલબ્ધ છે"</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"હવે પ્રોફાઇલ સેટ કરીએ?"</string>
-    <string name="user_setup_button_setup_now" msgid="1708269547187760639">"હવે સેટ કરો"</string>
+    <string name="user_setup_button_setup_now" msgid="1708269547187760639">"હમણાં જ સેટ અપ કરો"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"હમણાં નહીં"</string>
     <string name="user_add_user_type_title" msgid="551279664052914497">"ઉમેરો"</string>
     <string name="user_new_user_name" msgid="60979820612818840">"નવો વપરાશકર્તા"</string>
     <string name="user_new_profile_name" msgid="2405500423304678841">"નવી પ્રોફાઇલ"</string>
-    <string name="user_info_settings_title" msgid="6351390762733279907">"વપરાશકર્તા માહિતી"</string>
+    <string name="user_info_settings_title" msgid="6351390762733279907">"વપરાશકર્તાની માહિતી"</string>
     <string name="profile_info_settings_title" msgid="105699672534365099">"પ્રોફાઇલ માહિતી"</string>
     <string name="user_need_lock_message" msgid="4311424336209509301">"તમે પ્રતિબંધિત પ્રોફાઇલ બનાવી શકો તે પહેલાં, તમારે તમારી ઍપ્લિકેશનો અને વ્યક્તિગત ડેટાની સુરક્ષા માટે એક લૉક સ્ક્રીન સેટ કરવાની જરૂર પડશે."</string>
     <string name="user_set_lock_button" msgid="1427128184982594856">"લૉક સેટ કરો"</string>
     <string name="user_switch_to_user" msgid="6975428297154968543">"<xliff:g id="USER_NAME">%s</xliff:g> પર સ્વિચ કરો"</string>
-    <string name="creating_new_user_dialog_message" msgid="7232880257538970375">"નવા વપરાશકર્તા બનાવી રહ્યાં છીએ…"</string>
+    <string name="creating_new_user_dialog_message" msgid="7232880257538970375">"નવો વપરાશકર્તા બનાવી રહ્યાં છીએ…"</string>
     <string name="creating_new_guest_dialog_message" msgid="1114905602181350690">"નવા અતિથિની પ્રોફાઇલ બનાવી રહ્યાં છીએ…"</string>
     <string name="add_user_failed" msgid="4809887794313944872">"નવો વપરાશકર્તા બનાવવામાં નિષ્ફળ"</string>
     <string name="add_guest_failed" msgid="8074548434469843443">"નવી અતિથિ બનાવવામાં નિષ્ફળ રહ્યાં"</string>
diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml
index 55d425f..02bc92b 100644
--- a/packages/SettingsLib/res/values-hi/strings.xml
+++ b/packages/SettingsLib/res/values-hi/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"वॉल्यूम को मैनेज करने की सेटिंग नहीं बदली जा सकी"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"चालू है (सिर्फ़ मीडिया के लिए). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बैटरी."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"चालू है (सिर्फ़ मीडिया के लिए). बायां हेडसेट: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, दायां हेडसेट: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> बैटरी."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"मेहमान मोड में इस्तेमाल किया जा रहा डिवाइस. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बैटरी."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"मेहमान मोड में इस्तेमाल किया जा रहा डिवाइस. बायां हेडसेट: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> बैटरी, दायां हेडसेट:<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> बैटरी."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"मेहमान मोड में इस्तेमाल किए जा रहे डिवाइस के पास सिर्फ़ मीडिया का ऐक्सेस होता है. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बैटरी."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"मेहमान मोड में इस्तेमाल किए जा रहे डिवाइस के पास सिर्फ़ मीडिया का ऐक्सेस होता है. बायां हेडसेट: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> बैटरी, दायां हेडसेट:<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> बैटरी."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"कनेक्ट हो गया (ऑडियो शेयर करने की सुविधा काम करती है). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बैटरी."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"कनेक्ट हो गया (ऑडियो शेयर करने की सुविधा काम करती है). बायां हेडसेट: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, दायां हेडसेट: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> बैटरी."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"कनेक्ट हो गया (ऑडियो शेयर करने की सुविधा काम करती है). बायां हेडसेट: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बैटरी."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"कनेक्ट हो गया (ऑडियो शेयर करने की सुविधा काम करती है). दायां हेडसेट: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बैटरी."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"कनेक्ट है (ऑडियो शेयर करने की सुविधा काम करती है)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"मेहमान मोड में इस्तेमाल किए जा रहे डिवाइस में ऑडियो शेयर करने की सुविधा काम करती है. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बैटरी."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"मेहमान मोड में इस्तेमाल किए जा रहे डिवाइस में ऑडियो शेयर करने की सुविधा काम करती है. बायां हेडसेट: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> बैटरी, दायां हेडसेट:<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> बैटरी."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"मेहमान मोड में इस्तेमाल किए जा रहे डिवाइस में ऑडियो शेयर करने की सुविधा काम करती है"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"चालू है (सिर्फ़ मीडिया के लिए)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"मेहमान मोड में इस्तेमाल किया जा रहा डिवाइस"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"मेहमान मोड में इस्तेमाल किए जा रहे डिवाइस के पास सिर्फ़ मीडिया का ऐक्सेस होता है"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"ऑडियो शेयर करने की सुविधा काम करती है"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"मेहमान मोड में इस्तेमाल किया जा रहा डिवाइस. ऑडियो शेयर करने की सुविधा काम करती है"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"चालू है (सिर्फ़ मीडिया के लिए), सिर्फ़ बाएं कान की मशीन"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"चालू है (सिर्फ़ मीडिया के लिए), सिर्फ़ दाएं कान की मशीन"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"चालू है (सिर्फ़ मीडिया के लिए), बाएं और दाएं कान की मशीन"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"हार्डवेयर ऐक्सेलरेटेड रेंडरिंग"</string>
     <string name="media_category" msgid="8122076702526144053">"मीडिया"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"निगरानी"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Window Management"</string>
     <string name="strict_mode" msgid="889864762140862437">"स्ट्रिक्ट मोड चालू रखें"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"थ्रेड पर लंबा प्रोसेस होने पर स्‍क्रीन फ़्लैश करें"</string>
     <string name="pointer_location" msgid="7516929526199520173">"पॉइंटर की जगह"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"वेबव्यू लागू करें"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"वेबव्यू सेट करें"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"यह चुनाव अब मान्य नहीं है. दोबारा कोशिश करें."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"वेबव्यू DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"वेबव्यू पैकेज नहीं मिला."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools लॉन्च नहीं किया जा सका."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"चित्र रंग मोड"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB का उपयोग करें"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"बंद"</string>
diff --git a/packages/SettingsLib/res/values-hr/strings.xml b/packages/SettingsLib/res/values-hr/strings.xml
index 97f2df6..15eb471 100644
--- a/packages/SettingsLib/res/values-hr/strings.xml
+++ b/packages/SettingsLib/res/values-hr/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Ažuriranje okruženja nije uspjelo"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktivno (samo medijski sadržaji). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktivno (samo medijski sadržaji), L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterije."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Gostujući uređaj. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Gostujući uređaj. L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterije."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Gostujući uređaj (samo medijski sadržaji). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Gostujući uređaj (samo medijski sadržaji). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterije."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Povezano (podržava zajedničko slušanje). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Povezano (podržava zajedničko slušanje), L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterije."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Povezano (podržava zajedničko slušanje). Lijeva strana: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Povezano (podržava zajedničko slušanje). Desna strana: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Povezano (podržava zajedničko slušanje)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Gostujući uređaj (podržava zajedničko slušanje). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterije."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Gostujući uređaj (podržava zajedničko slušanje). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterije."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Gostujući uređaj (podržava zajedničko slušanje)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktivno (samo medijski sadržaji)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Gostujući uređaj"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Gostujući uređaj (samo medijski sadržaji)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Podržava zajedničko slušanje"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Gostujući uređaj. Podržava zajedničko slušanje"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktivno (samo medijski sadržaji), samo lijeva"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktivno (samo medijski sadržaji), samo desna"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktivno (samo medijski sadržaji), lijeva i desna"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Hardverski ubrzano renderiranje"</string>
     <string name="media_category" msgid="8122076702526144053">"Mediji"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Nadzor"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Upravljanje prozorima"</string>
     <string name="strict_mode" msgid="889864762140862437">"Omogućen strogi način"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Zaslon bljeska kada operacije aplikacija u glavnoj niti dugo traju"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Mjesto pokazivača"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Implementacija WebViewa"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Postavi implementaciju WebViewa"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Taj izbor više nije važeći. Pokušajte ponovo."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView razvojni alati"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView paket nije pronađen."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Nije moguće pokrenuti razvojne alate."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Način boje slike"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Upotrijebi sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Onemogućeno"</string>
diff --git a/packages/SettingsLib/res/values-hu/strings.xml b/packages/SettingsLib/res/values-hu/strings.xml
index 5e97cff..08ae0f8 100644
--- a/packages/SettingsLib/res/values-hu/strings.xml
+++ b/packages/SettingsLib/res/values-hu/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Nem sikerült módosítani a környezetet"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktív (csak médiatartalom lejátszása esetén). Akkumulátor töltöttségi szintje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktív (csak médiatartalom lejátszása esetén). Akkumulátorok töltöttségi szintje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (bal) és <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (jobb)."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Vendégeszköz. Akkumulátor töltöttségi szintje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Vendégeszköz. Akkumulátorok töltöttségi szintje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (bal) és <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (jobb)."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Vendégeszköz (csak médiatartalom lejátszása esetén). Akkumulátor töltöttségi szintje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Vendégeszköz (csak médiatartalom lejátszása esetén). Akkumulátorok töltöttségi szintje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (bal) és <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (jobb)."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Csatlakoztatva (támogatja a hang megosztását). Akkumulátor töltöttségi szintje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Csatlakoztatva (támogatja a hang megosztását). Akkumulátorok töltöttségi szintje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (bal) és <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (jobb)."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Csatlakoztatva (támogatja a hang megosztását). Akkumulátor töltöttségi szintje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> (bal)."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Csatlakoztatva (támogatja a hang megosztását). Akkumulátor töltöttségi szintje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> (jobb)."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Csatlakoztatva (támogatja a hang megosztását)."</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Vendégeszköz (támogatja a hang megosztását). Akkumulátor töltöttségi szintje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Vendégeszköz (támogatja a hang megosztását). Akkumulátorok töltöttségi szintje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (bal) és <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (jobb)."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Vendégeszköz (támogatja a hang megosztását)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktív (csak médiatartalom lejátszása)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Vendégeszköz"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Vendégeszköz (csak médiatartalom lejátszása esetén)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Támogatja a hang megosztását"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Vendégeszköz. Támogatja a hang megosztását"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktív (csak médiatartalom lejátszása), csak a bal"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktív (csak médiatartalom lejátszása), csak a jobb"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktív (csak médiatartalom lejátszása), bal és jobb"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Hardveres gyorsítású megjelenítés"</string>
     <string name="media_category" msgid="8122076702526144053">"Média"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Figyelés"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Ablakkezelés"</string>
     <string name="strict_mode" msgid="889864762140862437">"Szigorú mód engedélyezve"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Képernyővillogás a fő szál hosszú műveleteinél"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Mutató helye"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView-megvalósítás"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView-megvalósítás beállítása"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Ez a választás már nem érvényes. Próbálkozzon újra."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"A WebView-csomag nem található."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Nem sikerült elindítani a DevTools eszközt."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Kép színe mód"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB használata"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Letiltva"</string>
diff --git a/packages/SettingsLib/res/values-hy/strings.xml b/packages/SettingsLib/res/values-hy/strings.xml
index d342717..3471013 100644
--- a/packages/SettingsLib/res/values-hy/strings.xml
+++ b/packages/SettingsLib/res/values-hy/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Չհաջողվեց թարմացնել շրջակայքի կարգավիճակը"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Ակտիվ է (միայն մեդիա)։ Մարտկոցի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>։"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Ակտիվ է (միայն մեդիա)։ Ձախ ականջակալի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, աջ ականջակալի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>։"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Հյուրի սարք։ Մարտկոցի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>։"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Հյուրի սարք։ Ձախ ականջակալի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, աջ ականջակալի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>։"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Հյուրի սարք (միայն մուլտիմեդիա)։ Մարտկոցի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>։"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Հյուրի սարք (միայն մուլտիմեդիա)։ Ձախ ականջակալի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, աջ ականջակալի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>։"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Միացված է (աջակցում է աուդիոյի փոխանցում)։ Մարտկոցի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>։"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Միացված է (աջակցում է աուդիոյի փոխանցում)։ Ձախ ականջակալի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, աջ ականջակալի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>։"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Միացված է (աջակցում է աուդիոյի փոխանցում)։ Ձախ ականջակալի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>։"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Միացված է (աջակցում է աուդիոյի փոխանցում)։ Աջ ականջակալի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>։"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Միացված է (աջակցում է աուդիոյի փոխանցում)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Հյուրի սարք (աջակցում է աուդիոյի փոխանցում)։ Մարտկոցի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>։"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Հյուրի սարք (աջակցում է աուդիոյի փոխանցում)։ Ձախ ականջակալի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, աջ ականջակալի լիցքը՝ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>։"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Հյուրի սարք (աջակցում է աուդիոյի փոխանցում)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Ակտիվ է (միայն մեդիա)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Հյուրի սարք"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Հյուրի սարք (միայն մուլտիմեդիա)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Աջակցում է աուդիոյի փոխանցում"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Հյուրի սարք։ Աջակցում է աուդիոյի փոխանցում։"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Ակտիվ է (միայն մեդիա), միայն ձախ"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Ակտիվ է (միայն մեդիա), միայն աջ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Ակտիվ է (միայն մեդիա), աջ և ձախ"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Սարքաշարի արագացված նյութավորում"</string>
     <string name="media_category" msgid="8122076702526144053">"Մեդիա"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Մշտադիտարկում"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Պատուհանների կառավարում"</string>
     <string name="strict_mode" msgid="889864762140862437">"Խիստ ռեժիմն ակտիվացված է"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Լուսավորել էկրանը` ծրագրի գլխավոր շղթայի վրա երկար աշխատելիս"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Նշորդի տեղադրությունը"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView ծառայություն"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Ընտրեք WebView-ի իրականացումը"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Այս ընտրանքն այլևս վավեր չէ: Փորձեք նորից:"</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView-ի ծրագրավորողի գործիքներ"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView փաթեթը չի գտնվել։"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Չհաջողվեց գործարկել ծրագրավորողի գործիքները։"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Նկարի գունային ռեժիմ"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Օգտագործել sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Կասեցված է"</string>
diff --git a/packages/SettingsLib/res/values-in/strings.xml b/packages/SettingsLib/res/values-in/strings.xml
index 649ee0bb..85109fc 100644
--- a/packages/SettingsLib/res/values-in/strings.xml
+++ b/packages/SettingsLib/res/values-in/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Tidak dapat memperbarui suara sekitar"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktif (hanya media). Baterai <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktif (hanya media). Baterai L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Perangkat tamu. Baterai <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Perangkat tamu. Baterai L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Perangkat tamu (hanya media). Baterai <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Perangkat tamu (hanya media). Baterai L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Terhubung (mendukung berbagi audio). Baterai <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Terhubung (mendukung berbagi audio). Baterai L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Terhubung (mendukung berbagi audio). Kiri: Baterai <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Terhubung (mendukung berbagi audio). Kanan: Baterai <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Terhubung (mendukung berbagi audio)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Perangkat tamu (mendukung berbagi audio). Baterai <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Perangkat tamu (mendukung berbagi audio). Baterai L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Perangkat tamu (mendukung berbagi audio)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktif (hanya media)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Perangkat tamu"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Perangkat tamu (hanya media)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Mendukung berbagi audio"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Perangkat tamu. Mendukung berbagi audio"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktif (hanya media), hanya kiri"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktif (hanya media), hanya kanan"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktif (hanya media), kiri dan kanan"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Render yang dipercepat hardware"</string>
     <string name="media_category" msgid="8122076702526144053">"Media"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Pemantauan"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Pengelolaan Jendela"</string>
     <string name="strict_mode" msgid="889864762140862437">"Mode ketat diaktifkan"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Buat layar berkedip saat aplikasi berlama-lama menjalankan operasi di thread utama"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Lokasi kursor"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Penerapan WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Setel penerapan WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Pilihan ini tidak valid lagi. Coba lagi."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"DevTools WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Paket WebView tidak ditemukan."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Tidak dapat meluncurkan DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Mode warna gambar"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Gunakan sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Dinonaktifkan"</string>
@@ -679,7 +665,7 @@
     <string name="user_need_lock_message" msgid="4311424336209509301">"Sebelum dapat membuat profil yang dibatasi, Anda perlu menyiapkan kunci layar untuk melindungi aplikasi dan data pribadi Anda."</string>
     <string name="user_set_lock_button" msgid="1427128184982594856">"Setel kunci"</string>
     <string name="user_switch_to_user" msgid="6975428297154968543">"Beralih ke <xliff:g id="USER_NAME">%s</xliff:g>"</string>
-    <string name="creating_new_user_dialog_message" msgid="7232880257538970375">"Membuat pengguna baru …"</string>
+    <string name="creating_new_user_dialog_message" msgid="7232880257538970375">"Membuat pengguna baru…"</string>
     <string name="creating_new_guest_dialog_message" msgid="1114905602181350690">"Membuat tamu baru…"</string>
     <string name="add_user_failed" msgid="4809887794313944872">"Gagal membuat pengguna baru"</string>
     <string name="add_guest_failed" msgid="8074548434469843443">"Gagal membuat tamu baru"</string>
diff --git a/packages/SettingsLib/res/values-is/strings.xml b/packages/SettingsLib/res/values-is/strings.xml
index d361157..3041151 100644
--- a/packages/SettingsLib/res/values-is/strings.xml
+++ b/packages/SettingsLib/res/values-is/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Ekki var hægt að uppfæra umhverfi"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Virkt (eingöngu margmiðlunarefni). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> rafhlöðuhleðsla."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Virkt (eingöngu margmiðlunarefni), V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> rafhlöðuhleðsla."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Gestatæki. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> rafhlöðuhleðsla."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Gestatæki. V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> rafhlöðuhleðsla."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Gestatæki (aðeins margmiðlunarefni). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> rafhlöðuhleðsla."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Gestatæki (aðeins margmiðlunarefni). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> rafhlöðuhleðsla."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Tengt (styður hljóðdeilingu), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> rafhlöðuhleðsla."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Tengt (styður hljóðdeilingu), V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> rafhlöðuhleðsla."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Tengt (styður hljóðdeilingu). Vinstri: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> rafhlöðuhleðsla."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Tengt (styður hljóðdeilingu). Hægri: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> rafhlöðuhleðsla."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Tengt (styður hljóðdeilingu)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Gestatæki (styður hljóðdeilingu). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> rafhlöðuhleðsla."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Gestatæki (styður hljóðdeilingu). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> rafhlöðuhleðsla."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Gestatæki (styður hljóðdeilingu)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Virkt (eingöngu margmiðlunarefni)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Gestatæki"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Gestatæki (aðeins margmiðlunarefni)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Styður hljóðdeilingu"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Gestatæki. Styður hljóðdeilingu"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Virkt (eingöngu margmiðlunarefni), eingöngu vinstri"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Virkt (eingöngu margmiðlunarefni), eingöngu hægri"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Virkt (eingöngu margmiðlunarefni), vinstri og hægri"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Myndþýðing með vélbúnaðarhröðun"</string>
     <string name="media_category" msgid="8122076702526144053">"Margmiðlun"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Eftirlit"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Gluggastjórnun"</string>
     <string name="strict_mode" msgid="889864762140862437">"Kveikt á strangri stillingu"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Blikka skjá ef forrit gera tímafreka hluti á aðalþræði"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Staðsetning bendils"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Innleiðing WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Stilla innleiðingu WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Þetta val er ekki lengur gilt. Reyndu aftur."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView-pakki fannst ekki."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Ekki tókst að ræsa DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Litastilling mynda"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Nota sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Óvirkt"</string>
@@ -667,7 +653,7 @@
     <string name="user_grant_admin_message" msgid="1673791931033486709">"Stjórnendur hafa tiltekin réttindi sem aðrir notendur hafa ekki. Stjórnandi getur stjórnað öllum notendum, uppfært eða endurstillt þetta tæki, breytt stillingum, séð öll uppsett forrit og veitt eða afturkallað stjórnandaheimildir annarra."</string>
     <string name="user_grant_admin_button" msgid="5441486731331725756">"Gera að stjórnanda"</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"Setja notanda upp núna?"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"Gakktu úr skugga um að notandinn geti tekið tækið og sett upp sitt svæði"</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"Sjáðu til þess að notandinn geti tekið tækið og sett upp sitt svæði"</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"Setja upp snið núna?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"Setja upp núna"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"Ekki núna"</string>
diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml
index 98e415b..c42cab3 100644
--- a/packages/SettingsLib/res/values-it/strings.xml
+++ b/packages/SettingsLib/res/values-it/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Impossibile aggiornare audio ambientale"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Attivo (solo contenuti multimediali). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> di batteria."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Attivo (solo contenuti multimediali). S: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> di batteria. D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> di batteria."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Dispositivo ospite. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> di batteria."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Dispositivo ospite. S: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> di batteria. D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> di batteria."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Dispositivo ospite (solo contenuti multimediali). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> di batteria."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Dispositivo ospite (solo contenuti multimediali). S: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> di batteria. D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> di batteria."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Connesso (supporta la condivisione audio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> di batteria."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Connesso (supporta la condivisione audio). S: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> di batteria. D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> di batteria."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Connesso (supporta la condivisione audio). Sinistro: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> di batteria."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Connesso (supporta la condivisione audio). Destro: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> di batteria."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Connesso (supporta la condivisione audio)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Dispositivo ospite (supporta la condivisione audio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> di batteria."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Dispositivo ospite (supporta la condivisione audio). S: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> di batteria. D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> di batteria."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Dispositivo ospite (supporta la condivisione audio)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Attivo (solo contenuti multimediali)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Dispositivo ospite"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Dispositivo ospite (solo contenuti multimediali)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Supporta la condivisione audio"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Dispositivo ospite. Supporta la condivisione audio"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Attivo (solo contenuti multimediali), solo sinistro"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Attivo (solo contenuti multimediali), solo destro"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Attivo (solo contenuti multimediali), sinistro e destro"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Rendering con accelerazione hardware"</string>
     <string name="media_category" msgid="8122076702526144053">"Contenuti multimediali"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitoraggio"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Gestione delle finestre"</string>
     <string name="strict_mode" msgid="889864762140862437">"Attiva StrictMode"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Fai lampeggiare lo schermo per operazioni lunghe sul thread principale"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Posizione puntatore"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Implementazione di WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Imposta l\'implementazione di WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"La selezione non è più valida. Riprova."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView di DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Pacchetto WebView non trovato."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Impossibile avviare DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Modalità colori immagini"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Usa sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Disattivato"</string>
@@ -521,7 +507,7 @@
     <string name="power_discharge_by_only_enhanced" msgid="3268796172652988877">"Ora stimata esaurimento batteria in base al tuo utilizzo: <xliff:g id="TIME">%1$s</xliff:g> circa"</string>
     <string name="power_discharge_by" msgid="4113180890060388350">"Ora stimata esaurimento batteria: <xliff:g id="TIME">%1$s</xliff:g> circa (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only" msgid="92545648425937000">"Ora stimata esaurimento batteria: <xliff:g id="TIME">%1$s</xliff:g> circa"</string>
-    <string name="power_discharge_by_only_short" msgid="5883041507426914446">"Fino a: <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="power_discharge_by_only_short" msgid="5883041507426914446">"Fino alle ore: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_suggestion_battery_run_out" msgid="6332089307827787087">"La batteria potrebbe esaurirsi entro le <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_remaining_less_than_duration_only" msgid="8956656616031395152">"Carica residua: meno di <xliff:g id="THRESHOLD">%1$s</xliff:g>"</string>
     <string name="power_remaining_less_than_duration" msgid="318215464914990578">"Carica residua: meno di <xliff:g id="THRESHOLD">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-iw/strings.xml b/packages/SettingsLib/res/values-iw/strings.xml
index b341c4d..d4c0773 100644
--- a/packages/SettingsLib/res/values-iw/strings.xml
+++ b/packages/SettingsLib/res/values-iw/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"לא ניתן לעדכן את עוצמת הרעשים בסביבה"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"פעיל (מדיה בלבד). סוללה: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"פעיל (מדיה בלבד). סוללה בצד שמאל: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, סוללה בצד ימין: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"מכשיר אורח. סוללה: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"מכשיר אורח. סוללה בצד שמאל: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. סוללה בצד ימין: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"מכשיר אורח (מדיה בלבד). סוללה: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"מכשיר אורח (מדיה בלבד). סוללה בצד שמאל: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. סוללה בצד ימין: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"מחובר (תמיכה בשיתוף אודיו). סוללה: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"מחובר (תמיכה בשיתוף אודיו). סוללה בצד שמאל: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, סוללה בצד ימין: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"מחובר (תמיכה בשיתוף אודיו). סוללה בצד שמאל: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"מחובר (תמיכה בשיתוף אודיו). סוללה בצד ימין: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"מחובר (תמיכה בשיתוף אודיו)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"מכשיר אורח (תומך בשיתוף אודיו). סוללה: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"מכשיר אורח (תומך בשיתוף אודיו). סוללה בצד שמאל: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. סוללה בצד ימין: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"מכשיר אורח (תומך בשיתוף אודיו)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"פעיל (מדיה בלבד)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"מכשיר אורח"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"מכשיר אורח (מדיה בלבד)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"תמיכה בשיתוף אודיו"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"מכשיר אורח. תומך בשיתוף אודיו."</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"פעיל (מדיה בלבד), שמאל בלבד"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"פעיל (מדיה בלבד), ימין בלבד"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"פעיל (מדיה בלבד), שמאל וימין"</string>
@@ -492,12 +482,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"‏יישום WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"‏הגדרת יישום WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"אפשרות זו כבר אינה תקפה. אפשר לנסות שוב."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"‏כלי פיתוח של WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"‏לא נמצאה חבילת WebView."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"לא ניתן היה להפעיל את כלי הפיתוח."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"מצב צבע התמונה"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"‏שימוש ב-sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"מושבת"</string>
diff --git a/packages/SettingsLib/res/values-ja/strings.xml b/packages/SettingsLib/res/values-ja/strings.xml
index 2e36d6a..bb997ff 100644
--- a/packages/SettingsLib/res/values-ja/strings.xml
+++ b/packages/SettingsLib/res/values-ja/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"周囲の音を更新できませんでした"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"有効（メディアのみ）。バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"有効（メディアのみ）。左: バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>、右: バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>。"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"ゲストデバイス。バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"ゲストデバイス。左: バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>、右: バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>。"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"ゲストデバイス（メディアのみ）。バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"ゲストデバイス（メディアのみ）。左: バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>、右: バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>。"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"接続済み（音声の共有をサポート）。バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"接続済み（音声の共有をサポート）。左: バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>、右: バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>。"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"接続済み（音声の共有をサポート）。左: バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"接続済み（音声の共有をサポート）。右: バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"接続済み（音声の共有をサポート）"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"ゲストデバイス（音声の共有をサポート）。バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"ゲストデバイス（音声の共有をサポート）。左: バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>、右: バッテリー残量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>。"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"ゲストデバイス（音声の共有をサポート）"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"有効（メディアのみ）"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"ゲストデバイス"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"ゲストデバイス（メディアのみ）"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"音声の共有をサポートしています"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"ゲストデバイス。音声の共有をサポートしています"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"有効（メディアのみ）、左のみ"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"有効（メディアのみ）、右のみ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"有効（メディアのみ）、左右"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"ハードウェアアクセラレーテッドレンダリング"</string>
     <string name="media_category" msgid="8122076702526144053">"メディア"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"モニタリング"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"ウィンドウ管理"</string>
     <string name="strict_mode" msgid="889864762140862437">"厳格モードを有効にする"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"メインスレッドの処理が長引く場合は画面を点滅させる"</string>
     <string name="pointer_location" msgid="7516929526199520173">"ポインタの位置"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView の実装"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView の実装の設定"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"この選択は無効になりました。もう一度お試しください。"</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView の DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView パッケージが見つかりません。"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools を起動できませんでした。"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"画像の色モード"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGBを使用"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"無効"</string>
diff --git a/packages/SettingsLib/res/values-ka/arrays.xml b/packages/SettingsLib/res/values-ka/arrays.xml
index 3ecf9d8..1e80d42 100644
--- a/packages/SettingsLib/res/values-ka/arrays.xml
+++ b/packages/SettingsLib/res/values-ka/arrays.xml
@@ -297,13 +297,13 @@
   <string-array name="shade_display_awareness_summaries">
     <item msgid="2964753205732912921">"ჩრდილის ჩვენება მხოლოდ მოწყობილობის ეკრანზე"</item>
     <item msgid="1955398604822147783">"ჩრდილის ჩვენება ერთ გარე ეკრანზე"</item>
-    <item msgid="391477482416751568">"ეკრანზე ჩრდილის ჩვენება, რომლის სტატუსის ზოლთანაც მოხდა ბოლო ინტერაქცია"</item>
+    <item msgid="391477482416751568">"ეკრანის ბოლო ინტერაქციის მქონე სტატუსის ზოლით დაჩრდილვა"</item>
     <item msgid="1746820128097981528">"ჩრდილის ჩვენება ბოლო ფოკუსირებულ ეკრანზე"</item>
   </string-array>
   <string-array name="shade_display_awareness_values">
     <item msgid="3055776101992426514">"default_display"</item>
     <item msgid="774789415968826925">"any_external_display"</item>
     <item msgid="7880769915418638436">"status_bar_latest_touch"</item>
-    <item msgid="4313165186636015195">"ფოკუსირებული_ეკრანი"</item>
+    <item msgid="4313165186636015195">"focused_display"</item>
   </string-array>
 </resources>
diff --git a/packages/SettingsLib/res/values-ka/strings.xml b/packages/SettingsLib/res/values-ka/strings.xml
index e627b79..91e8889 100644
--- a/packages/SettingsLib/res/values-ka/strings.xml
+++ b/packages/SettingsLib/res/values-ka/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"გარემოცვის განახლება ვერ მოხერხდა"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"აქტიური (მხოლოდ მედია). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>%% ბატარეა."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"აქტიური (მხოლოდ მედია), მარცხენა: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, მარჯვენა:<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ბატარეა."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"სტუმარი მოწყობილობა. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ბატარეა."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"სტუმარი მოწყობილობა. მარცხენა: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, მარჯვენა: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ბატარეა."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"სტუმარი მოწყობილობა (მხოლოდ მედია). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ბატარეა."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"სტუმარი მოწყობილობა (მხოლოდ მედია). მარცხენა: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, მარჯვენა: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ბატარეა."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"დაკავშირებული (აუდიოს გაზიარება მხარდაჭერილია). ბატარეა <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"დაკავშირებული (აუდიოს გაზიარება მხარდაჭერილია). მარცხენა: ბატარეა <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, მარჯვენა: ბატარეა <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"დაკავშირებული (აუდიოს გაზიარება მხარდაჭერილია). მარცხენა: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ბატარეა."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"დაკავშირებული (აუდიოს გაზიარება მხარდაჭერილია). მარჯვენა: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ბატარეა."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"დაკავშირებული (აუდიოს გაზიარება მხარდაჭერილია)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"სტუმარი მოწყობილობა (აუდიოს გაზიარება მხარდაჭერილია). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ბატარეა."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"სტუმარი მოწყობილობა (აუდიოს გაზიარება მხარდაჭერილია). მარცხენა: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, მარჯვენა: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ბატარეა."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"სტუმარი მოწყობილობა (აუდიოს გაზიარება მხარდაჭერილია)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"აქტიური (მხოლოდ მედია)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"სტუმარი მოწყობილობა"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"სტუმარი მოწყობილობა (მხოლოდ მედია)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"აუდიოს გაზიარება მხარდაჭერილია"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"სტუმარი მოწყობილობა. აუდიოს გაზიარება მხარდაჭერილია"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"აქტიური (მხოლოდ მედია), მხოლოდ მარცხენა"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"აქტიური (მხოლოდ მედია), მხოლოდ მარჯვენა"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"აქტიური (მხოლოდ მედია), მარცხენა და მარჯვენა"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"აპარატურით დაჩქარებული გამოსახულება"</string>
     <string name="media_category" msgid="8122076702526144053">"მედია"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"მონიტორინგი"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"ფანჯრების მართვა"</string>
     <string name="strict_mode" msgid="889864762140862437">"მკაცრი რეჟიმი ჩართულია"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"ეკრანის აციმციმება, როცა აპები ახორციელებენ ხანგრძლივ ოპერაციებს მთავარ ნაკადზე"</string>
     <string name="pointer_location" msgid="7516929526199520173">"მაჩვენებლის მდებარეობა"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView რეალიზაცია"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView რეალიზაციის დაყენება"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"თქვენი არჩევანი აღარ მოქმედებს. ცადეთ ხელახლა."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView-ის პაკეტი ვერ მოიძებნა"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools-ის გაშვება ვერ მოხერხდა"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"გამოსახულების ფერების რეჟიმი"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB-ს გამოყენება"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"გამორთულია"</string>
diff --git a/packages/SettingsLib/res/values-kk/strings.xml b/packages/SettingsLib/res/values-kk/strings.xml
index a85e624..25c92de 100644
--- a/packages/SettingsLib/res/values-kk/strings.xml
+++ b/packages/SettingsLib/res/values-kk/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Айналаны жаңарту мүмкін болмады."</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Істеп тұр (тек мультимедиа). Батарея зарядының деңгейі – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Істеп тұр (тек мультимедиа). Сол жақ: батарея зарядының деңгейі — <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. Оң жақ: батарея зарядының деңгейі — <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Қонақ құрылғы. Батарея зарядының деңгейі – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Қонақ құрылғы. Сол жақ: батарея зарядының деңгейі – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. Оң жақ: батарея зарядының деңгейі — <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Қонақ құрылғы (тек медиафайл). Батарея зарядының деңгейі – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Қонақ құрылғы (тек медиафайл). Сол жақ: батарея зарядының деңгейі – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. Оң жақ: батарея зарядының деңгейі — <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Жалғанып тұр (аудио бөлісу мүмкіндігі бар). Батарея зарядының деңгейі – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Қосылды (аудио бөлісуге мүмкіндік береді). Сол жақ: батарея зарядының деңгейі — <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. Оң жақ: батарея зарядының деңгейі — <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Қосылды (аудио бөлісуге мүмкіндік береді). Сол жақ: батарея зарядының деңгейі – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Қосылды (аудио бөлісуге мүмкіндік береді). Оң жақ: батарея зарядының деңгейі – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Жалғанды (аудио бөлісу мүмкіндігі бар)."</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Қонақ құрылғы (аудио бөлісуге мүмкіндік береді). Батарея зарядының деңгейі – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Қонақ құрылғы (аудио бөлісуге мүмкіндік береді). Сол жақ: батарея зарядының деңгейі – <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. Оң жақ: батарея зарядының деңгейі — <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Қонақ құрылғы (аудио бөлісуге мүмкіндік береді)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Істеп тұр (тек мультимедиа)."</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Қонақ құрылғы"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Қонақ құрылғы (тек медиафайл)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Аудио бөлісуге мүмкіндік береді."</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Қонақ құрылғы. Аудио бөлісуге мүмкіндік береді."</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Тек сол жақ істеп тұр (мультимедиа ғана)."</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Тек оң жақ істеп тұр (мультимедиа ғана)."</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Сол және оң жақ істеп тұр (мультимедиа ғана)."</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Бейнелеуді аппаратпен жеделдету"</string>
     <string name="media_category" msgid="8122076702526144053">"Mультимeдиа"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Бақылау"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Терезелерді басқару"</string>
     <string name="strict_mode" msgid="889864762140862437">"Қатаң режим қосылған"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Қолданбалар ұзақ операцияларды орындағанда экранды жыпылықтату"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Меңзер орны"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView қызметі"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView ендіруін орнату"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Бұл таңдау енді жарамды емес. Әрекетті қайталаңыз."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView әзірлеуші құралдары"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView пакеті табылмады."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Әзірлеуші құралдары іске қосылмады."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Сурет түс режимі"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB пайдалану"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Өшірулі"</string>
diff --git a/packages/SettingsLib/res/values-km/strings.xml b/packages/SettingsLib/res/values-km/strings.xml
index d2d5893..9dadee1 100644
--- a/packages/SettingsLib/res/values-km/strings.xml
+++ b/packages/SettingsLib/res/values-km/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"មិនអាចប្ដូរមជ្ឈដ្ឋានជុំវិញបានទេ"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"សកម្ម (តែមេឌៀប៉ុណ្ណោះ)។ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>។"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"សកម្ម (តែមេឌៀប៉ុណ្ណោះ)។ ឆ្វេង៖ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> ស្ដាំ៖ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>។"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"ឧបករណ៍ភ្ញៀវ។ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>។"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"ឧបករណ៍ភ្ញៀវ។ ឆ្វេង៖ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> ស្ដាំ៖ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>។"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"ឧបករណ៍ភ្ញៀវ (មេឌៀតែប៉ុណ្ណោះ)។ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>។"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"ឧបករណ៍ភ្ញៀវ (មេឌៀតែប៉ុណ្ណោះ)។ ឆ្វេង៖ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> ស្ដាំ៖ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>។"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"បានភ្ជាប់ (អាចប្រើការស្ដាប់សំឡេងរួមគ្នា)។ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>។"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"បានភ្ជាប់ (អាចប្រើការស្ដាប់សំឡេងរួមគ្នា)។ ឆ្វេង៖ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> ស្ដាំ៖ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>។"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"បានភ្ជាប់ (អាចប្រើការស្ដាប់សំឡេងរួមគ្នា)។ ឆ្វេង៖ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>។"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"បានភ្ជាប់ (អាចប្រើការស្ដាប់សំឡេងរួមគ្នា)។ ស្ដាំ៖ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>។"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"បានភ្ជាប់ (អាចប្រើការស្ដាប់សំឡេងរួមគ្នា)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"ឧបករណ៍ភ្ញៀវ (អាចប្រើការស្ដាប់សំឡេងរួមគ្នា)។ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>។"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"ឧបករណ៍ភ្ញៀវ (អាចប្រើការស្ដាប់សំឡេងរួមគ្នា)។ ឆ្វេង៖ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> ស្ដាំ៖ ថ្ម <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>។"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"ឧបករណ៍ភ្ញៀវ (អាចប្រើការស្ដាប់សំឡេងរួមគ្នា)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"សកម្ម (តែមេឌៀប៉ុណ្ណោះ)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"ឧបករណ៍ភ្ញៀវ"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"ឧបករណ៍ភ្ញៀវ (មេឌៀតែប៉ុណ្ណោះ)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"អាចប្រើការស្ដាប់សំឡេងរួមគ្នា"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"ឧបករណ៍ភ្ញៀវ។ អាចប្រើការស្ដាប់សំឡេងរួមគ្នា"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"សកម្ម (តែមេឌៀប៉ុណ្ណោះ) តែខាងឆ្វេងប៉ុណ្ណោះ"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"សកម្ម (តែមេឌៀប៉ុណ្ណោះ) តែខាងស្ដាំប៉ុណ្ណោះ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"សកម្ម (តែមេឌៀប៉ុណ្ណោះ) ឆ្វេង និងស្ដាំ"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"ការបំប្លែងដែលពន្លឿនដោយប្រើហាតវែរ"</string>
     <string name="media_category" msgid="8122076702526144053">"មេឌៀ"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"តាមដាន"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"ការគ្រប់គ្រងវិនដូ"</string>
     <string name="strict_mode" msgid="889864762140862437">"បាន​បើក​មុខងារតឹងរ៉ឹង"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"បញ្ចេញ​ពន្លឺ​អេក្រង់​ពេល​កម្មវិធី​ធ្វើ​ប្រតិបត្តិការ​យូរ​លើ​សែស្រឡាយ​​មេ"</string>
     <string name="pointer_location" msgid="7516929526199520173">"ទីតាំង​ទ្រនិច"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"ការអនុវត្ត WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"កំណត់ការប្រតិបត្តិ WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"ជម្រើសនេះលែងមានសុពលភាពទៀតហើយ ព្យាយាមម្តងទៀត"</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"ឧបករណ៍អ្នកអភិវឌ្ឍន៍ WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"រកមិនឃើញកញ្ចប់ WebView ទេ។"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"មិនអាចបើកឧបករណ៍អ្នកអភិវឌ្ឍន៍បានទេ។"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"របៀបនៃពណ៌រូបភាព"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"ប្រើ sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"បាន​បិទ"</string>
diff --git a/packages/SettingsLib/res/values-kn/strings.xml b/packages/SettingsLib/res/values-kn/strings.xml
index 87f2cdf..72056bb 100644
--- a/packages/SettingsLib/res/values-kn/strings.xml
+++ b/packages/SettingsLib/res/values-kn/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"ಆ್ಯಂಬಿಯೆಂಟ್ ಸ್ಥಿತಿಯನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"ಸಕ್ರಿಯವಾಗಿದೆ (ಮೀಡಿಯಾ ಮಾತ್ರ). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ಬ್ಯಾಟರಿ ಮಟ್ಟ."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"ಸಕ್ರಿಯವಾಗಿದೆ (ಮೀಡಿಯಾ ಮಾತ್ರ). ಎಡ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ಬಲ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ಬ್ಯಾಟರಿ ಮಟ್ಟ."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"ಅತಿಥಿ ಸಾಧನ. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ಬ್ಯಾಟರಿ ಮಟ್ಟ."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"ಅತಿಥಿ ಸಾಧನ. ಎಡ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ಬಲ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ಬ್ಯಾಟರಿ ಮಟ್ಟ."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"ಅತಿಥಿ ಸಾಧನ (ಮಾಧ್ಯಮ ಮಾತ್ರ). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ಬ್ಯಾಟರಿ ಮಟ್ಟ."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"ಅತಿಥಿ ಸಾಧನ (ಮಾಧ್ಯಮ ಮಾತ್ರ). ಎಡ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ಬಲ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ಬ್ಯಾಟರಿ ಮಟ್ಟ."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"ಕನೆಕ್ಟ್‌ ಆಗಿದೆ (ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ಬ್ಯಾಟರಿ ಮಟ್ಟ."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"ಕನೆಕ್ಟ್‌ ಆಗಿದೆ (ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ). ಎಡ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ಬಲ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ಬ್ಯಾಟರಿ ಮಟ್ಟ."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"ಕನೆಕ್ಟ್‌ ಆಗಿದೆ (ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ). ಎಡ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ಬ್ಯಾಟರಿ ಮಟ್ಟ."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"ಕನೆಕ್ಟ್‌ ಆಗಿದೆ (ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ). ಬಲ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ಬ್ಯಾಟರಿ ಮಟ್ಟ."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"ಕನೆಕ್ಟ್‌ ಆಗಿದೆ (ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"ಅತಿಥಿ ಸಾಧನ (ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ಬ್ಯಾಟರಿ ಮಟ್ಟ."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"ಅತಿಥಿ ಸಾಧನ (ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ). ಎಡ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ಬಲ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ಬ್ಯಾಟರಿ ಮಟ್ಟ."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"ಅತಿಥಿ ಸಾಧನ (ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"ಸಕ್ರಿಯವಾಗಿದೆ (ಮೀಡಿಯಾ ಮಾತ್ರ)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"ಅತಿಥಿ ಸಾಧನ"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"ಅತಿಥಿ ಸಾಧನ (ಮಾಧ್ಯಮ ಮಾತ್ರ)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"ಅತಿಥಿ ಸಾಧನ. ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"ಸಕ್ರಿಯವಾಗಿದೆ (ಮೀಡಿಯಾ ಮಾತ್ರ), ಎಡ ಭಾಗದ ಮಾತ್ರ"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"ಸಕ್ರಿಯವಾಗಿದೆ (ಮೀಡಿಯಾ ಮಾತ್ರ), ಬಲ ಭಾಗದ ಮಾತ್ರ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"ಸಕ್ರಿಯವಾಗಿದೆ (ಮೀಡಿಯಾ ಮಾತ್ರ), ಎಡ ಮತ್ತು ಬಲ ಭಾಗದ"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"ಹಾರ್ಡ್‌ವೇರ್‌ ವೇಗವರ್ಧಿತ ರೆಂಡರಿಂಗ್"</string>
     <string name="media_category" msgid="8122076702526144053">"ಮಾಧ್ಯಮ"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"ಪರಿವೀಕ್ಷಣೆ ಮಾಡುವಿಕೆ"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"ವಿಂಡೋ ನಿರ್ವಹಣೆ"</string>
     <string name="strict_mode" msgid="889864762140862437">"ಸ್ಟ್ರಿಕ್ಟ್‌‌ ಮೋಡ್ ಸಕ್ರಿಯ"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಮುಖ್ಯ ಥ್ರೆಡ್‌ನಲ್ಲಿ ದೀರ್ಘ ಕಾರ್ಯಾಚರಣೆ ನಿರ್ವಹಿಸಿದಾಗ ಪರದೆಯನ್ನು ಫ್ಲ್ಯಾಶ್ ಮಾಡು"</string>
     <string name="pointer_location" msgid="7516929526199520173">"ಪಾಯಿಂಟರ್ ಸ್ಥಳ"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView ಹೊಂದಿಸಿ"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView ಅನುಷ್ಠಾನಗೊಳಿಸುವಿಕೆಯನ್ನು ಸೆಟ್ ಮಾಡಿ"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"ಈ ಆಯ್ಕೆಯು ಇನ್ನು ಮುಂದೆ ಮಾನ್ಯವಾಗಿರುವುದಿಲ್ಲ. ಮತ್ತೊಮ್ಮೆ ಪ್ರಯತ್ನಿಸಿ."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView ಪ್ಯಾಕೇಜ್ ಕಂಡುಬಂದಿಲ್ಲ."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools ಅನ್ನು ಲಾಂಚ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"ಚಿತ್ರ ಬಣ್ಣದ ಮೋಡ್"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB ಬಳಸಿ"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml
index 669d8ef..3b965e5 100644
--- a/packages/SettingsLib/res/values-ko/strings.xml
+++ b/packages/SettingsLib/res/values-ko/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"주변 소리를 업데이트할 수 없음"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"사용 중입니다(미디어 전용). 배터리는 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>입니다."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"사용 중입니다(미디어 전용). 배터리는 왼쪽 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, 오른쪽 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>입니다."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"게스트 기기입니다. 배터리는 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>입니다."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"게스트 기기입니다. 배터리는 왼쪽 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, 오른쪽 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>입니다."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"게스트 기기(미디어 전용)입니다. 배터리는 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>입니다."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"게스트 기기(미디어 전용)입니다. 배터리는 왼쪽 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, 오른쪽 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>입니다."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"연결되었습니다(오디오 공유 지원). 배터리는 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>입니다."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"연결되었습니다(오디오 공유 지원). 배터리는 왼쪽 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, 오른쪽 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>입니다."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"연결되었습니다(오디오 공유 지원). 왼쪽 배터리는 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>입니다."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"연결되었습니다(오디오 공유 지원). 오른쪽 배터리는 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>입니다."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"연결됨(오디오 공유 지원)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"게스트 기기(오디오 공유 지원)입니다. 배터리는 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>입니다."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"게스트 기기(오디오 공유 지원)입니다. 배터리는 왼쪽 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, 오른쪽 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>입니다."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"게스트 기기(오디오 공유 지원)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"사용 중(미디어 전용)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"게스트 기기"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"게스트 기기(미디어 전용)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"오디오 공유 지원"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"게스트 기기입니다. 오디오 공유를 지원합니다."</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"사용 중(미디어 전용), 왼쪽만"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"사용 중(미디어 전용), 오른쪽만"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"사용 중(미디어 전용), 왼쪽 및 오른쪽"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"하드웨어 가속 렌더링"</string>
     <string name="media_category" msgid="8122076702526144053">"미디어"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"모니터링"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"창 관리"</string>
     <string name="strict_mode" msgid="889864762140862437">"엄격 모드 사용"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"앱이 기본 스레드에서 오래 작업하면 화면 깜박이기"</string>
     <string name="pointer_location" msgid="7516929526199520173">"포인터 위치"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView 구현"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView 구현 설정"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"선택이 더 이상 유효하지 않습니다. 다시 시도하세요."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView 패키지를 찾을 수 없습니다."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools를 실행할 수 없습니다."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"사진 색상 모드"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB 사용"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"사용 중지됨"</string>
diff --git a/packages/SettingsLib/res/values-ky/strings.xml b/packages/SettingsLib/res/values-ky/strings.xml
index c69325b..3eee360 100644
--- a/packages/SettingsLib/res/values-ky/strings.xml
+++ b/packages/SettingsLib/res/values-ky/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Айланадагы абал жаңыртылган жок"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Жигердүү (медиа үчүн гана). Батарея: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Жигердүү (медиа үчүн гана). Батарея: L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Конок түзмөк. Батарея: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Конок түзмөк. Батарея: L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Конок түзмөк (медиа гана). Батарея: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Конок түзмөк (медиа гана). Батарея: L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Туташып турат (чогуу уксаңыз болот). Батарея: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Туташып турат (чогуу уксаңыз болот). Батарея: L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Туташып турат (чогуу уксаңыз болот). Сол кулак – батареянын деңгээли: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Туташып турат (чогуу уксаңыз болот). Оң кулак – батареянын деңгээли: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Туташып турат (чогуу уксаңыз болот)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Конок түзмөк (чогуу угуу колдоого алынат). Батарея: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Конок түзмөк (чогуу угуу колдоого алынат). Батарея: L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Конок түзмөк (чогуу угуу колдоого алынат)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Активдүү (медиа үчүн гана)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Конок түзмөк"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Конок түзмөк (медиа гана)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Чогуу уксаңыз болот"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Конок түзмөк. Чогуу угуу колдоого алынат"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Активдүү (медиа үчүн гана), сол кулакчын гана"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Активдүү (медиа үчүн гана), оң кулакчын гана"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Активдүү (медиа үчүн гана), сол жана оң кулакчын"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Визуалдаштырууну аппарат менен ылдамдатуу"</string>
     <string name="media_category" msgid="8122076702526144053">"Медиа"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Мониторинг"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Терезени тескөө"</string>
     <string name="strict_mode" msgid="889864762140862437">"Катаал режим иштетилди"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Узак операцияларда экран күйүп-өчүп турат"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Көрсөткүчтүн турган жери"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView кызматы"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView аткарылышын коюу"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Тандалган нерсе жараксыз болуп калган. Кайталап көрүңүз."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView сунуштаган иштеп чыгуучунун куралдары"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView топтому табылган жок."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Иштеп чыгуучунун куралдары иштетилген жок."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Сүрөт түсү режими"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB колдонуңуз"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Өчүк"</string>
diff --git a/packages/SettingsLib/res/values-lo/strings.xml b/packages/SettingsLib/res/values-lo/strings.xml
index d1f1344..8044cce 100644
--- a/packages/SettingsLib/res/values-lo/strings.xml
+++ b/packages/SettingsLib/res/values-lo/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"ບໍ່ສາມາດອັບເດດສຽງແວດລ້ອມໄດ້"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"ນຳໃຊ້ຢູ່ (ມີເດຍເທົ່ານັ້ນ). ແບັດເຕີຣີ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"ນຳໃຊ້ຢູ່ (ມີເດຍເທົ່ານັ້ນ). ຊ: ແບັດເຕີຣີ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ຂ: ແບັດເຕີຣີ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"ອຸປະກອນແຂກ. ແບັດເຕີຣີ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"ອຸປະກອນແຂກ. ແບັດເຕີຣີ L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"ອຸປະກອນແຂກ (ສື່ເທົ່ານັ້ນ). ແບັດເຕີຣີ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"ອຸປະກອນແຂກ (ສື່ເທົ່ານັ້ນ). ແບັດເຕີຣີ L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"ເຊື່ອມຕໍ່ແລ້ວ (ຮອງຮັບການແບ່ງປັນສຽງ). ແບັດເຕີຣີ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"ເຊື່ອມຕໍ່ແລ້ວ (ຮອງຮັບການແບ່ງປັນສຽງ). ຊ: ແບັດເຕີຣີ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ຂ: ແບັດເຕີຣີ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"ເຊື່ອມຕໍ່ແລ້ວ (ຮອງຮັບການແບ່ງປັນສຽງ). ຊ້າຍ: ແບັດເຕີຣີ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"ເຊື່ອມຕໍ່ແລ້ວ (ຮອງຮັບການແບ່ງປັນສຽງ). ຂວາ: ແບັດເຕີຣີ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"ເຊື່ອມຕໍ່ແລ້ວ (ຮອງຮັບການແບ່ງປັນສຽງ)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"ອຸປະກອນແຂກ (ຮອງຮັບການແບ່ງປັນສຽງ). ແບັດເຕີຣີ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"ອຸປະກອນແຂກ (ຮອງຮັບການແບ່ງປັນສຽງ). ແບັດເຕີຣີ L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"ອຸປະກອນແຂກ (ຮອງຮັບການແບ່ງປັນສຽງ)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"ນຳໃຊ້ຢູ່ (ມີເດຍເທົ່ານັ້ນ)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"ອຸປະກອນແຂກ"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"ອຸປະກອນແຂກ (ສື່ເທົ່ານັ້ນ)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"ຮອງຮັບການແບ່ງປັນສຽງ"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"ອຸປະກອນແຂກ. ຮອງຮັບການແບ່ງປັນສຽງ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"ນຳໃຊ້ຢູ່ (ມີເດຍເທົ່ານັ້ນ), ຊ້າຍເທົ່ານັ້ນ"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"ນຳໃຊ້ຢູ່ (ມີເດຍເທົ່ານັ້ນ), ຂວາເທົ່ານັ້ນ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"ນຳໃຊ້ຢູ່ (ມີເດຍເທົ່ານັ້ນ), ຊ້າຍ ແລະ ຂວາ"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"ການສະແດງຜົນໂດຍໃຊ້ຮາດແວຊ່ວຍ"</string>
     <string name="media_category" msgid="8122076702526144053">"ມີເດຍ"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"ກຳລັງກວດສອບ"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"ການຈັດການໜ້າຈໍ"</string>
     <string name="strict_mode" msgid="889864762140862437">"ເປີດໃຊ້ໂໝດເຄັ່ງຄັດ"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"ກະພິບໜ້າຈໍເມື່ອມີແອັບເຮັດວຽກດົນເກີນໄປໃນເທຣດຫຼັກ"</string>
     <string name="pointer_location" msgid="7516929526199520173">"ຕຳແໜ່ງໂຕຊີ້"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"ການຈັດຕັ້ງປະຕິບັດ WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"ຕັ້ງການຈັດຕັ້ງປະຕິບັດ WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"ບໍ່ສາມາດໃຊ້ການເລືອກນີ້ໄດ້ອີກຕໍ່ໄປແລ້ວ. ກະລຸນາລອງໃໝ່."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"ບໍ່ພົບແພັກເກດ WebView."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"ບໍ່ສາມາດເປີດໃຊ້ DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"ໂໝດ​ສີ​ຮູບ"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"ໃຊ້ sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"ປິດນຳໃຊ້ແລ້ວ"</string>
diff --git a/packages/SettingsLib/res/values-lt/strings.xml b/packages/SettingsLib/res/values-lt/strings.xml
index 7f94010..aec236a 100644
--- a/packages/SettingsLib/res/values-lt/strings.xml
+++ b/packages/SettingsLib/res/values-lt/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Nepavyko atnaujinti aplinkos"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktyvus (tik medija). Akumuliatorius lygis: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktyvus (tik medija), akumuliatoriaus lygis kairėje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, dešinėje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Svečio įrenginys. Akumuliatorius lygis: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Svečio įrenginys. Akumuliatoriaus lygis kairėje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, dešinėje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Svečio įrenginys (tik medija). Akumuliatorius lygis: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Svečio įrenginys (tik medija). Akumuliatoriaus lygis kairėje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, dešinėje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Prijungta (palaikomas garso įrašų bendrinimas). Akumuliatoriaus lygis: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Prijungta (palaikomas garso įrašų bendrinimas), akumuliatoriaus lygis kairėje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, dešinėje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Prijungta (palaikomas garso įrašų bendrinimas). Akumuliatoriaus lygis kairėje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Prijungta (palaikomas garso įrašų bendrinimas). Akumuliatoriaus lygis dešinėje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Prijungta (palaikomas garso įrašų bendrinimas)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Svečio įrenginys (palaikomas garso įrašų bendrinimas). Akumuliatorius lygis: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Svečio įrenginys (palaikomas garso įrašų bendrinimas). Akumuliatoriaus lygis kairėje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, dešinėje: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Svečio įrenginys (palaikomas garso įrašų bendrinimas)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktyvus (tik medija)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Svečio įrenginys"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Svečio įrenginys (tik medija)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Palaikomas garso įrašų bendrinimas"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Svečio įrenginys. Palaikomas garso įrašų bendrinimas"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktyvus (tik medija), tik kairė"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktyvus (tik medija), tik dešinė"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktyvus (tik medija), kairė ir dešinė"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Aparatinės įrangos paspartintas pateikimas"</string>
     <string name="media_category" msgid="8122076702526144053">"Medija"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Stebėjimas"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Langų tvarkymas"</string>
     <string name="strict_mode" msgid="889864762140862437">"Įgal. griežtas režimas"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Ekr. blyksės, kai pr. atl. ilgus proc. pgr. gijoje"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Žymiklio vieta"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"„WebView“ diegimas"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"„WebView“ diegimo nustatymas"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Šios parinkties nebegalima pasirinkti. Bandykite dar kartą."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"„WebView“ kūrėjo įrankiai"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Žiniatinklio rodinio paketas nerastas."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Nepavyko paleisti kūrėjo įrankių."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Nuotraukos spalvos režimas"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Naudoti sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Išjungtas"</string>
diff --git a/packages/SettingsLib/res/values-lv/strings.xml b/packages/SettingsLib/res/values-lv/strings.xml
index 50a56d4..5716f8f 100644
--- a/packages/SettingsLib/res/values-lv/strings.xml
+++ b/packages/SettingsLib/res/values-lv/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Nevarēja atjaunināt apkārtnes skaņas"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktīvs (tikai multividei). Akumulatora uzlādes līmenis: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktīvs (tikai multividei). Akumulatora uzlādes līmenis kreisajā austiņā: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, labajā austiņā: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Viesa ierīce. Akumulatora uzlādes līmenis: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Viesa ierīce. Akumulatora uzlādes līmenis kreisajā austiņā: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, labajā austiņā: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Viesa ierīce (tikai multividei). Akumulatora uzlādes līmenis: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Viesa ierīce (tikai multividei). Akumulatora uzlādes līmenis kreisajā austiņā: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, labajā austiņā: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Izveidots savienojums (atbalsta audio kopīgošanu). Akumulatora uzlādes līmenis: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Izveidots savienojums (atbalsta audio kopīgošanu). Akumulatora uzlādes līmenis kreisajā austiņā: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, labajā austiņā: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Izveidots savienojums (atbalsta audio kopīgošanu). Akumulatora uzlādes līmenis kreisajā austiņā: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Izveidots savienojums (atbalsta audio kopīgošanu). Akumulatora uzlādes līmenis labajā austiņā: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Izveidots savienojums (atbalsta audio kopīgošanu)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Viesa ierīce (atbalsta audio kopīgošanu). Akumulatora uzlādes līmenis: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Viesa ierīce (atbalsta audio kopīgošanu). Akumulatora uzlādes līmenis kreisajā austiņā: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, labajā austiņā: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Viesa ierīce (atbalsta audio kopīgošanu)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktīvs (tikai multividei)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Viesa ierīce"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Viesa ierīce (tikai multividei)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Atbalsta audio kopīgošanu"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Viesa ierīce. Atbalsta audio kopīgošanu"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktīvs (tikai multivide), tikai kreisās puses aparāts"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktīvs (tikai multivide), tikai labās puses aparāts"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktīvs (tikai multivide), kreisās un labās puses aparāts"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Aparatūras paātrinātā atveidošana"</string>
     <string name="media_category" msgid="8122076702526144053">"Multivide"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Pārraudzība"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Logu pārvaldība"</string>
     <string name="strict_mode" msgid="889864762140862437">"Precīzais rež. ir iespēj."</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Zibsnīt ekrānu, ja liet. ilgi darbojas galv. pav."</string>
     <string name="pointer_location" msgid="7516929526199520173">"Rādītāja atrašanās vieta"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView ieviešana"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Iestatīt WebView ieviešanu"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Šī iespēja vairs nav derīga. Mēģiniet vēlreiz."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView izstrādātāja rīki"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView pakotne netika atrasta."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Nevarēja palaist izstrādātāja rīkus."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Attēla krāsu režīms"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Izmantot sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Atspējota"</string>
diff --git a/packages/SettingsLib/res/values-mk/strings.xml b/packages/SettingsLib/res/values-mk/strings.xml
index e86a6ce..bc6409d 100644
--- a/packages/SettingsLib/res/values-mk/strings.xml
+++ b/packages/SettingsLib/res/values-mk/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Не можеше да се ажурира опкружувањето"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Активно (само аудиовизуелни содржини). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батерија."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Активно (само аудиовизуелни содржини). Л: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> батерија, Д: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> батерија."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Гостински уред. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батерија."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Гостински уред. Л: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> батерија, Д: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> батерија."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Гостински уред (само аудиовизуелни содржини). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батерија."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Гостински уред (само аудиовизуелни содржини). Л: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> батерија, Д: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> батерија."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Поврзано (поддржува споделување аудио). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батерија."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Поврзано (поддржува споделување аудио). Л: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> батерија, Д: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> батерија."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Поврзано (поддржува споделување аудио). Лево: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батерија."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Поврзано (поддржува споделување аудио). Десно: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батерија."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Поврзано (поддржува споделување аудио)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Гостински уред (поддржува споделување аудио). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батерија."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Гостински уред (поддржува споделување аудио). Л: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> батерија, Д: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> батерија."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Гостински уред (поддржува споделување аудио)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Активно (само аудиовизуелни содржини)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Гостински уред"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Гостински уред (само аудиовизуелни содржини)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Поддржува споделување аудио"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Гостински уред. Поддржува споделување аудио"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Активно (само аудиовизуелни содржини), само лево"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Активно (само аудиовизуелни содржини), само десно"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Активно (само аудиовизуелни содржини), лево и десно"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Хардверско забрзување"</string>
     <string name="media_category" msgid="8122076702526144053">"Аудиовизуелни содржини"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Следење"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Управување со прозорци"</string>
     <string name="strict_mode" msgid="889864762140862437">"Овозможен е строг режим"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Трепкај со екранот при долги операции на главна нишка"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Локација на покажувач"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Примена на WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Поставете воведување WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Овој избор веќе не важи. Обидете се повторно."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Пакетот на WebView не е најден."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Не можеше да се стартува DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Режим на боја на слика"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Користи sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Оневозможено"</string>
@@ -666,7 +652,7 @@
     <string name="user_grant_admin_title" msgid="5157031020083343984">"Да се постави корисников како администратор?"</string>
     <string name="user_grant_admin_message" msgid="1673791931033486709">"Администраторите имаат посебни привилегии што другите корисници ги немаат. Администраторот може да управува со сите корисници, да го ажурира или ресетира уредов, да ги менува поставките, да ги прегледува сите инсталирани апликации и да доделува или одзема администраторски привилегии на другите корисници."</string>
     <string name="user_grant_admin_button" msgid="5441486731331725756">"Постави како администратор"</string>
-    <string name="user_setup_dialog_title" msgid="8037342066381939995">"Ќе поставите корисник сега?"</string>
+    <string name="user_setup_dialog_title" msgid="8037342066381939995">"Да се постави корисник?"</string>
     <string name="user_setup_dialog_message" msgid="269931619868102841">"Проверете дали лицето е достапно да го земе уредот и да го постави својот простор"</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"Постави профил сега?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"Постави сега"</string>
diff --git a/packages/SettingsLib/res/values-ml/strings.xml b/packages/SettingsLib/res/values-ml/strings.xml
index f7ab232..bcadd7d 100644
--- a/packages/SettingsLib/res/values-ml/strings.xml
+++ b/packages/SettingsLib/res/values-ml/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"സറൗണ്ടിംഗ്‌സ് അപ്ഡേറ്റ് ചെയ്യാനായില്ല"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"സജീവം (മീഡിയ മാത്രം). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ബാറ്ററി."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"സജീവം (മീഡിയ മാത്രം). ഇടതുവശത്ത്: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> ബാറ്ററി, വലതുവശത്ത്: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ബാറ്ററി."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"അതിഥി ഉപകരണം. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ബാറ്ററി."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"അതിഥി ഉപകരണം. ഇടതുവശത്ത്: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, വലതുവശത്ത്: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ബാറ്ററി."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"അതിഥി ഉപകരണം (മീഡിയ മാത്രം). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ബാറ്ററി."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"അതിഥി ഉപകരണം (മീഡിയ മാത്രം). ഇടതുവശത്ത്: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, വലതുവശത്ത്: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ബാറ്ററി."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"കണക്റ്റ് ചെയ്തു (ഓഡിയോ പങ്കിടൽ പിന്തുണയ്ക്കുന്നു). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ബാറ്ററി."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"കണക്റ്റ് ചെയ്തു (ഓഡിയോ പങ്കിടൽ പിന്തുണയ്ക്കുന്നു). ഇടതുവശത്ത്: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> ബാറ്ററി, വലതുവശത്ത്: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ബാറ്ററി."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"കണക്റ്റ് ചെയ്തു (ഓഡിയോ പങ്കിടൽ പിന്തുണയ്ക്കുന്നു). ഇടത് വശത്ത്: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ബാറ്ററി."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"കണക്റ്റ് ചെയ്തു (ഓഡിയോ പങ്കിടൽ പിന്തുണയ്ക്കുന്നു). വലത് വശത്ത്: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ബാറ്ററി."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"കണക്റ്റ് ചെയ്തു (ഓഡിയോ പങ്കിടൽ പിന്തുണയ്ക്കുന്നു)."</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"അതിഥി ഉപകരണം (ഓഡിയോ പങ്കിടൽ പിന്തുണയ്ക്കുന്നു). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ബാറ്ററി."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"അതിഥി ഉപകരണം (ഓഡിയോ പങ്കിടൽ പിന്തുണയ്ക്കുന്നു). ഇടതുവശത്ത്: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, വലതുവശത്ത്: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ബാറ്ററി."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"അതിഥി ഉപകരണം (ഓഡിയോ പങ്കിടൽ പിന്തുണയ്ക്കുന്നു)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"സജീവം (മീഡിയ മാത്രം)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"അതിഥി ഉപകരണം"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"അതിഥി ഉപകരണം (മീഡിയ മാത്രം)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"ഓഡിയോ പങ്കിടൽ പിന്തുണയ്ക്കുന്നു"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"അതിഥി ഉപകരണം. ഓഡിയോ പങ്കിടൽ പിന്തുണയ്ക്കുന്നു"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"സജീവം (മീഡിയ മാത്രം), ഇടതുവശത്ത് മാത്രം"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"സജീവം (മീഡിയ മാത്രം), വലതുവശത്ത് മാത്രം"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"സജീവം (മീഡിയ മാത്രം), ഇടതുവശത്തെയും വലതുവശത്തെയും"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"ഹാർഡ്‌വെയർ ത്വരിതപ്പെടുത്തിയ റെൻഡറിംഗ്"</string>
     <string name="media_category" msgid="8122076702526144053">"മീഡിയ"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"മോണിറ്ററിംഗ്"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"വിൻഡോ മാനേജ്മെന്റ്"</string>
     <string name="strict_mode" msgid="889864762140862437">"ഫോഴ്സ്‌മോഡ് സജീവമാക്കി"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"പ്രധാന ത്രെഡിൽ ആപ്പുകൾ ദൈർഘ്യമേറിയ പ്രവർത്തനങ്ങൾ നടത്തുമ്പോൾ സ്‌ക്രീൻ ഫ്ലാഷ് ചെയ്യുക"</string>
     <string name="pointer_location" msgid="7516929526199520173">"പോയിന്റർ ലൊക്കേഷൻ"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView നടപ്പാക്കൽ"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView നടപ്പാക്കൽ സജ്ജമാക്കുക"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"ഈ തിരഞ്ഞെടുപ്പിന് തുടർന്നങ്ങോട്ട് സാധുതയില്ല. വീണ്ടും ശ്രമിക്കുക."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView പാക്കേജ് കണ്ടെത്തിയില്ല."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools ലോഞ്ച് ചെയ്യാനായില്ല."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"ചിത്ര വർണ്ണ മോഡ്"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB ഉപയോഗിക്കുക"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"പ്രവർത്തനരഹിതമാക്കി"</string>
diff --git a/packages/SettingsLib/res/values-mn/strings.xml b/packages/SettingsLib/res/values-mn/strings.xml
index 4dc754e..2b45e85 100644
--- a/packages/SettingsLib/res/values-mn/strings.xml
+++ b/packages/SettingsLib/res/values-mn/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Орчин тойрныг шинэчилж чадсангүй"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Идэвхтэй (зөвхөн медиа). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батарей."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Идэвхтэй (зөвхөн медиа). З: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Б: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> батарей."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Зочин төхөөрөмж. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батарейн цэнэгтэй."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Зочин төхөөрөмж. З: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Б: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> батарейн цэнэгтэй."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Зочин төхөөрөмж (зөвхөн медиа). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батарейн цэнэгтэй."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Зочин төхөөрөмж (зөвхөн медиа). З: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Б: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> батарейн цэнэгтэй."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Холбогдсон (аудио хуваалцахыг дэмждэг). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батарей."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Холбогдсон (аудио хуваалцахыг дэмждэг). З: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Б: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> батарей."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Холбогдсон (аудио хуваалцахыг дэмждэг). Зүүн: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батарей."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Холбогдсон (аудио хуваалцахыг дэмждэг). Баруун: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батарей."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Холбогдсон (аудио хуваалцахыг дэмждэг)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Зочин төхөөрөмж (аудио хуваалцахыг дэмждэг). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батарейн цэнэгтэй."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Зочин төхөөрөмж (аудио хуваалцахыг дэмждэг). З: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Б: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> батарейн цэнэгтэй."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Зочин төхөөрөмж (аудио хуваалцахыг дэмждэг)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Идэвхтэй (зөвхөн медиа)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Зочин төхөөрөмж"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Зочин төхөөрөмж (зөвхөн медиа)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Аудио хуваалцахыг дэмждэг"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Зочин төхөөрөмж. Аудио хуваалцахыг дэмждэг"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Идэвхтэй (зөвхөн медиа), зөвхөн зүүн"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Идэвхтэй (зөвхөн медиа), зөвхөн баруун"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Идэвхтэй (зөвхөн медиа), зүүн болон баруун"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Техник хангамжийн хурдасгасан үзүүлэлт"</string>
     <string name="media_category" msgid="8122076702526144053">"Медиа"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Мониторинг"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Цонхны удирдлага"</string>
     <string name="strict_mode" msgid="889864762140862437">"Хатуу горимыг идэвхжүүлсэн"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Аппууд үндсэн хэлхээс дээр удаан хугацаанд үйлдлүүд хийх үед дэлгэцийг анивчуулах"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Чиглүүлэгчийн байршил"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView хэрэгжилт"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView хэрэгжилтийг тохируулах"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Энэ сонголт хүчингүй байна. Дахин оролдоно уу."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView-н DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView-н багц олдсонгүй."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools-г эхлүүлж чадсангүй."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"\"Зургийн өнгө\" горим"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB-г ашиглах"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Идэвхгүй болсон"</string>
diff --git a/packages/SettingsLib/res/values-mr/strings.xml b/packages/SettingsLib/res/values-mr/strings.xml
index eef39c4..826d601 100644
--- a/packages/SettingsLib/res/values-mr/strings.xml
+++ b/packages/SettingsLib/res/values-mr/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"जवळपासचे आवाज अपडेट करता आले नाहीत"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"अ‍ॅक्टिव्ह आहे (फक्त मीडिया). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बॅटरी."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"ॲक्टिव्ह आहे (फक्त मीडिया). डावीकडे: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> बॅटरी, उजवीकडे: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> बॅटरी."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"अतिथी डिव्हाइस. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बॅटरी."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"अतिथी डिव्हाइस. डावीकडे: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, उजवीकडे: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> बॅटरी."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"अतिथी डिव्हाइस (फक्त मीडिया). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बॅटरी."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"अतिथी डिव्हाइस (फक्त मीडिया). डावीकडे: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, उजवीकडे: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> बॅटरी."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"कनेक्ट केले आहे (ऑडिओ शेअरिंगला सपोर्ट करते). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बॅटरी."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"कनेक्ट केले आहे (ऑडिओ शेअरिंगला सपोर्ट करते). डावीकडे: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, उजवीकडे: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> बॅटरी."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"कनेक्ट केले आहे (ऑडिओ शेअरिंगला सपोर्ट करते). डावीकडे: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बॅटरी."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"कनेक्ट केले आहे (ऑडिओ शेअरिंगला सपोर्ट करते). उजवीकडे: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बॅटरी."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"कनेक्ट केले आहे (ऑडिओ शेअरिंगला सपोर्ट करते)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"अतिथी डिव्हाइस (ऑडिओ शेअरिंगला सपोर्ट करते). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> बॅटरी."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"अतिथी डिव्हाइस (ऑडिओ शेअरिंगला सपोर्ट करते). डावीकडे: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, उजवीकडे: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> बॅटरी."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"अतिथी डिव्हाइस (ऑडिओ शेअरिंगला सपोर्ट करते)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"अ‍ॅक्टिव्ह आहे (फक्त मीडिया)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"अतिथी डिव्हाइस"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"अतिथी डिव्हाइस (फक्त मीडिया)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"ऑडिओ शेअरिंगला सपोर्ट करते"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"अतिथी डिव्हाइस. ऑडिओ शेअरिंगला सपोर्ट करते"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"अ‍ॅक्टिव्ह आहे (फक्त मीडिया), फक्त डावे"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"अ‍ॅक्टिव्ह आहे (फक्त मीडिया), फक्त उजवे"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"अ‍ॅक्टिव्ह आहे (फक्त मीडिया), डावे आणि उजवे"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"हार्डवेअर अ‍ॅक्सिलरेटेड रेंडरिंग"</string>
     <string name="media_category" msgid="8122076702526144053">"मीडिया"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"परीक्षण"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"विंडो व्यवस्थापन"</string>
     <string name="strict_mode" msgid="889864762140862437">"कठोर मोड सुरू"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"मुख्य थ्रेडवर अ‍ॅप्स मोठी कार्ये करतात तेव्हा स्क्रीन फ्लॅश करा"</string>
     <string name="pointer_location" msgid="7516929526199520173">"पॉइंटर स्थान"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"वेबदृश्य अंमलबजावणी"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"वेबदृश्य अंमलबजावणी सेट करा"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"ही निवड यापुढे वैध असणार नाही. पुन्हा प्रयत्न करा."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView पॅकेज आढळले नाही."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools लाँच करता आले नाही."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"चित्र रंग मोड"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB वापरा"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"बंद केले"</string>
diff --git a/packages/SettingsLib/res/values-ms/strings.xml b/packages/SettingsLib/res/values-ms/strings.xml
index ca4649c..a2f9562 100644
--- a/packages/SettingsLib/res/values-ms/strings.xml
+++ b/packages/SettingsLib/res/values-ms/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Tidak dapat mengemaskinikan persekitaran"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktif (media sahaja). Bateri <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktif (media sahaja), L: Bateri <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: Bateri <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Peranti tetamu. Bateri <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Peranti tetamu. L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: Bateri <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Peranti tetamu (media sahaja). Bateri <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Peranti tetamu (media sahaja). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: Bateri <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Disambungkan (menyokong perkongsian audio). Bateri <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Disambungkan (menyokong perkongsian audio). L: Bateri <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: Bateri <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Disambungkan (menyokong perkongsian audio). Kiri: Bateri <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Disambungkan (menyokong perkongsian audio). Kanan: Bateri <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Disambungkan (menyokong perkongsian audio)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Peranti tetamu (menyokong perkongsian audio). Bateri <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Peranti tetamu (menyokong perkongsian audio). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: Bateri <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Peranti tetamu (menyokong perkongsian audio)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktif (media sahaja)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Peranti tetamu"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Peranti tetamu (media sahaja)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Menyokong perkongsian audio"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Peranti tetamu. Menyokong perkongsian audio"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktif (media sahaja), kiri sahaja"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktif (media sahaja), kanan sahaja"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktif (media sahaja), kiri dan kanan"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Pemaparan dipercepat perkakasan"</string>
     <string name="media_category" msgid="8122076702526144053">"Media"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Memantau"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Pengurusan Tetingkap"</string>
     <string name="strict_mode" msgid="889864762140862437">"Mod tegas didayakan"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Kelip skrin apabila apl beroperasi lama pada urutan utama"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Lokasi penuding"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Pelaksanaan WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Tetapkan pelaksanaan WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Pilihan ini tidak lagi sah. Cuba lagi."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Alatan Pembangun Paparan Web"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Pakej Paparan Web tidak ditemukan."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Tidak dapat melancarkan Alatan Pembangun."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Mod warna gambar"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Gunakan sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Dilumpuhkan"</string>
diff --git a/packages/SettingsLib/res/values-my/strings.xml b/packages/SettingsLib/res/values-my/strings.xml
index 1225e4c..b0d86af 100644
--- a/packages/SettingsLib/res/values-my/strings.xml
+++ b/packages/SettingsLib/res/values-my/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"ဝန်းကျင်အသံ အပ်ဒိတ်လုပ်၍ မရလိုက်ပါ"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"အသုံးပြုနေသည် (မီဒီယာသီးသန့်)။ ဘက်ထရီ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>။"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"အသုံးပြုနေသည် (မီဒီယာသီးသန့်)။ ဘက်ထရီ L- <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>၊ R- <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>။"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"ဧည့်သည်စက်ပစ္စည်း။ ဘက်ထရီ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>။"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"ဧည့်သည်စက်ပစ္စည်း။ ဘက်ထရီ L- <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>၊ R- <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>။"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"ဧည့်သည်စက်ပစ္စည်း (မီဒီယာသီးသန့်)။ ဘက်ထရီ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>။"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"ဧည့်သည်စက်ပစ္စည်း (မီဒီယာသီးသန့်)။ ဘက်ထရီ L- <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>၊ R- <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>။"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"ချိတ်ဆက်ထားသည် (အော်ဒီယို မျှဝေခြင်း ပံ့ပိုးသည်)။ ဘက်ထရီ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>။"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"ချိတ်ဆက်ထားသည် (အော်ဒီယို မျှဝေခြင်း ပံ့ပိုးသည်)။ ဘက်ထရီ L- <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>၊ R- <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>။"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"ချိတ်ဆက်ထားသည် (အော်ဒီယို မျှဝေခြင်း ပံ့ပိုးသည်)။ ဘယ်- ဘက်ထရီ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>။"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"ချိတ်ဆက်ထားသည် (အော်ဒီယို မျှဝေခြင်း ပံ့ပိုးသည်)။ ညာ- ဘက်ထရီ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>။"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"ချိတ်ဆက်ထားသည် (အော်ဒီယို မျှဝေခြင်း ပံ့ပိုးသည်)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"ဧည့်သည်စက်ပစ္စည်း (အော်ဒီယို မျှဝေခြင်း ပံ့ပိုးသည်)။ ဘက်ထရီ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>။"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"ဧည့်သည်စက်ပစ္စည်း (အော်ဒီယို မျှဝေခြင်း ပံ့ပိုးသည်)။ ဘက်ထရီ L- <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>၊ R- <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>။"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"ဧည့်သည်စက်ပစ္စည်း (အော်ဒီယို မျှဝေခြင်း ပံ့ပိုးသည်)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"သုံးနေသည် (မီဒီယာသီးသန့်)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"ဧည့်သည်စက်ပစ္စည်း"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"ဧည့်သည်စက်ပစ္စည်း (မီဒီယာသီးသန့်)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"အော်ဒီယို မျှဝေခြင်း ပံ့ပိုးသည်"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"ဧည့်သည်စက်ပစ္စည်း။ အော်ဒီယို မျှဝေခြင်း ပံ့ပိုးသည်"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"သုံးနေသည် (မီဒီယာသီးသန့်)၊ ဘယ်သီးသန့်"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"သုံးနေသည် (မီဒီယာသီးသန့်)၊ ညာသီးသန့်"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"သုံးနေသည် (မီဒီယာသီးသန့်)၊ ဘယ်နှင့် ညာ"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"ဟာ့ဒ်ဝဲ အရှိန်မြှင့် ပုံဖော်ခြင်း"</string>
     <string name="media_category" msgid="8122076702526144053">"မီဒီယာ"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"စောင့်ကြည့်စစ်ဆေးခြင်း"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"ဝင်းဒိုး စီမံခန့်ခွဲမှု"</string>
     <string name="strict_mode" msgid="889864762140862437">"တင်းကြပ်သောစနစ် ဖွင့်ရန်"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"အက်ပ်လုပ်ဆောင်မှု ရှည်ကြာလျှင် စကရင်ပြန်စသည်"</string>
     <string name="pointer_location" msgid="7516929526199520173">"မြား၏တည်နေရာ"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView အကောင်အထည်ဖော်မှု"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView အကောင်အထည်ဖော်မှု သတ်မှတ်ပါ"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"ဤရွေးချယ်မှု မှန်ကန်မှု မရှိတော့ပါ။ ထပ်စမ်းကြည့်ပါ။"</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"ဝဘ်မြင်ကွင်း ဆောဖ့်ဝဲတူးလ်များ"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"ဝဘ်မြင်ကွင်း ပက်ကေ့ဂျ် မတွေ့ပါ။"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"ဆောဖ့်ဝဲတူးလ်များ စတင်၍ မရလိုက်ပါ။"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"ဓာတ်ပုံအရောင်မုဒ်"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB ကို အသုံးပြုပါ"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"ပိတ်ထားသည်"</string>
@@ -667,7 +653,7 @@
     <string name="user_grant_admin_message" msgid="1673791931033486709">"စီမံခန့်ခွဲသူများ၌ အခြားအသုံးပြုသူများတွင်မရှိသော အထူးဆောင်ရွက်ခွင့်များရှိသည်။ စီမံခန့်ခွဲသူက အသုံးပြုသူအားလုံးကို စီမံခြင်း၊ ဤစက်ပစ္စည်းကို အပ်ဒိတ်လုပ်ခြင်း (သို့) ပြင်ဆင်သတ်မှတ်ခြင်း၊ ဆက်တင်များပြင်ဆင်ခြင်း၊ ထည့်သွင်းထားသောအက်ပ်အားလုံးကို ကြည့်ခြင်းနှင့် အခြားသူများအတွက် စီမံခန့်ခွဲသူ ဆောင်ရွက်ခွင့်များပေးခြင်း (သို့) ရုပ်သိမ်းခြင်းတို့ လုပ်နိုင်သည်။"</string>
     <string name="user_grant_admin_button" msgid="5441486731331725756">"စီမံခန့်ခွဲသူအဖြစ် သတ်မှတ်ရန်"</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"အသုံးပြုသူကို ယခုသတ်မှတ်မလား။"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"ထိုသူသည် ကိရိယာကိုယူ၍ ၎င်းတို့၏နေရာများကို ယခုသတ်မှတ်နိုင်ရမည်"</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"သူသည် ကိရိယာကိုယူ၍ သူ၏နေရာကို ယခုသတ်မှတ်နိုင်ရမည်"</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"ယခု ကိုယ်ရေးအချက်အလက်ကို အစီအမံလုပ်မည်လား?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"ယခု သတ်မှတ်ပါမည်"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"ယခုမလုပ်ပါ"</string>
@@ -679,7 +665,7 @@
     <string name="user_need_lock_message" msgid="4311424336209509301">"ကန့်သတ်ကိုယ်ရေးအချက်အလက်တစ်ခုကို မပြုလုပ်မီ သင်၏ အပလီကေးရှင်းများနှင့် ကိုယ်ပိုင်အချက်အလက်များကို ကာကွယ်ရန် မျက်နှာပြင်သော့ချခြင်းကို စီမံရန် လိုအပ်လိမ့်မည်"</string>
     <string name="user_set_lock_button" msgid="1427128184982594856">"သော့ချရန် သတ်မှတ်ပါ"</string>
     <string name="user_switch_to_user" msgid="6975428297154968543">"<xliff:g id="USER_NAME">%s</xliff:g> သို့ ပြောင်းရန်"</string>
-    <string name="creating_new_user_dialog_message" msgid="7232880257538970375">"အသုံးပြုသူအသစ် ပြုလုပ်နေသည်…"</string>
+    <string name="creating_new_user_dialog_message" msgid="7232880257538970375">"အသုံးပြုသူအသစ်အတွက် ပြင်ဆင်နေသည်…"</string>
     <string name="creating_new_guest_dialog_message" msgid="1114905602181350690">"ဧည့်သည်သစ် ပြုလုပ်နေသည်…"</string>
     <string name="add_user_failed" msgid="4809887794313944872">"အသုံးပြုသူအသစ် ပြုလုပ်၍မရပါ"</string>
     <string name="add_guest_failed" msgid="8074548434469843443">"ဧည့်သည်သစ် ပြုလုပ်၍မရပါ"</string>
diff --git a/packages/SettingsLib/res/values-nb/strings.xml b/packages/SettingsLib/res/values-nb/strings.xml
index 7c9b10f..755df51 100644
--- a/packages/SettingsLib/res/values-nb/strings.xml
+++ b/packages/SettingsLib/res/values-nb/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Kunne ikke oppdatere omgivelsene"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktiv (bare medieinnhold) <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktiv (bare medieinnhold). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> batteri, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batteri."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Gjesteenhet. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Gjesteenhet. V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batteri."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Gjesteenhet (bare medieinnhold). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Gjesteenhet (bare medieinnhold). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batteri."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Tilkoblet (støtter lyddeling). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Tilkoblet (støtter lyddeling). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> batteri, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batteri."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Tilkoblet (støtter lyddeling). Venstre: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Tilkoblet (støtter lyddeling). Høyre: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Tilkoblet (støtter lyddeling)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Gjesteenhet (støtter lyddeling). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Gjesteenhet (støtter lyddeling). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batteri."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Gjesteenhet (støtter lyddeling)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktiv (bare medieinnhold)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Gjesteenhet"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Gjesteenhet (bare medieinnhold)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Støtter lyddeling"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Gjesteenhet. Støtter lyddeling"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktiv (bare medieinnhold), bare venstre"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktiv (bare medieinnhold), bare høyre"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktiv (bare medieinnhold), høyre og venstre"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Maskinvareakselerert gjengivelse"</string>
     <string name="media_category" msgid="8122076702526144053">"Medier"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Overvåking"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Vindusadministrering"</string>
     <string name="strict_mode" msgid="889864762140862437">"Slå på streng modus"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Skjermblink ved lange apphandlinger på hovedtråd"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Pekerplassering"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView-implementering"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Angi WebView-implementering"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Dette valget er ikke gyldig lenger. Prøv på nytt."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Utviklerverktøy for WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Fant ikke WebView-pakken."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Kunne ikke starte utviklerverktøyene."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Fargemodus for bilder"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Bruk sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Slått av"</string>
diff --git a/packages/SettingsLib/res/values-ne/strings.xml b/packages/SettingsLib/res/values-ne/strings.xml
index e2e7a8f..0a9ac17 100644
--- a/packages/SettingsLib/res/values-ne/strings.xml
+++ b/packages/SettingsLib/res/values-ne/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"वरपरका आवाजसम्बन्धी सेटिङ अपडेट गर्न सकिएन"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"सक्रिय छ (मिडिया मात्र)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ब्याट्री।"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"सक्रिय छ (मिडिया मात्र)। बायाँ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, दायाँ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ब्याट्री।"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"अतिथि डिभाइस। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ब्याट्री।"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"अतिथि डिभाइस। बायाँ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, दायाँ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ब्याट्री।"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"अतिथि डिभाइस (मिडिया मात्र)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ब्याट्री।"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"अतिथि डिभाइस (मिडिया मात्र)। बायाँ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, दायाँ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ब्याट्री।"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"कनेक्ट गरिएको छ (अडियो सेयर गर्न मिल्छ)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ब्याट्री।"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"कनेक्ट गरिएको छ (अडियो सेयर गर्न मिल्छ)। बायाँ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, दायाँ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ब्याट्री।"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"कनेक्ट गरिएको छ (अडियो सेयर गर्न मिल्छ)। बायाँ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ब्याट्री।"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"कनेक्ट गरिएको छ (अडियो सेयर गर्न मिल्छ)। दायाँ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ब्याट्री।"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"कनेक्ट गरिएको छ (अडियो सेयर गर्न मिल्छ)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"अतिथि डिभाइस (अडियो सेयर गर्ने सुविधा प्रयोग गर्न मिल्छ)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ब्याट्री।"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"अतिथि डिभाइस (अडियो सेयर गर्ने सुविधा प्रयोग गर्न मिल्छ)। बायाँ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, दायाँ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ब्याट्री।"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"अतिथि डिभाइस (अडियो सेयर गर्ने सुविधा प्रयोग गर्न मिल्छ)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"सक्रिय छ (मिडिया मात्र)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"अतिथि डिभाइस"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"अतिथि डिभाइस (मिडिया मात्र)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"अडियो सेयर गर्न मिल्छ"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"अतिथि डिभाइस। अडियो सेयर गर्ने सुविधा प्रयोग गर्न मिल्छ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"सक्रिय छ (मिडिया मात्र), बायाँ मात्र"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"सक्रिय छ (मिडिया मात्र), दायाँ मात्र"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"सक्रिय छ (मिडिया मात्र), बायाँ र दायाँ"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"हार्डवेयरले बढाएको रेन्डरिङ"</string>
     <string name="media_category" msgid="8122076702526144053">"मिडिया"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"अनुगमन गरिँदै छ"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"विन्डो व्यवस्थापन"</string>
     <string name="strict_mode" msgid="889864762140862437">"स्ट्रिक्ट मोड अन गर्नुहोस्"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"एपले मुख्य थ्रेडमा लामा गतिविधि गर्दा स्क्रिन फ्ल्यास गर्नुहोस्"</string>
     <string name="pointer_location" msgid="7516929526199520173">"पोइन्टरको स्थान"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView कार्यान्वयन"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView कार्यान्वयन सेट गर्नुहोस्"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"यो छनोट अब मान्य छैन। फेरि प्रयास गर्नुहोस्।"</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView सम्बन्धी विकासकर्ता टुलहरू"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView प्याकेज भेटिएन।"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"विकासकर्ताका टुलहरू लन्च गर्न सकिएन।"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"चित्र रङ्ग मोड"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB प्रयोग गर्नुहोस्"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"अफ गरिएको छ"</string>
@@ -678,7 +664,7 @@
     <string name="profile_info_settings_title" msgid="105699672534365099">"प्रोफाइलको जानकारी"</string>
     <string name="user_need_lock_message" msgid="4311424336209509301">"निषेधयुक्त प्रोफाइल बनाउनु अघि तपाईँको एप र व्यक्तिगत डेटा सुरक्षा गर्नाका लागि तपाईँले स्क्रिन लक सेटअप गर्नु पर्दछ ।"</string>
     <string name="user_set_lock_button" msgid="1427128184982594856">"लक सेट गर्नुहोस्"</string>
-    <string name="user_switch_to_user" msgid="6975428297154968543">"प्रयोगकर्ता बदलेर <xliff:g id="USER_NAME">%s</xliff:g> बनाउनुहोस्"</string>
+    <string name="user_switch_to_user" msgid="6975428297154968543">"<xliff:g id="USER_NAME">%s</xliff:g> प्रयोग गर्नुहोस्"</string>
     <string name="creating_new_user_dialog_message" msgid="7232880257538970375">"नयाँ प्रयोगकर्ता बनाइँदै छ…"</string>
     <string name="creating_new_guest_dialog_message" msgid="1114905602181350690">"नयाँ अतिथि बनाइँदै छ…"</string>
     <string name="add_user_failed" msgid="4809887794313944872">"नयाँ प्रयोगकर्ता सिर्जना गर्न सकिएन"</string>
diff --git a/packages/SettingsLib/res/values-nl/strings.xml b/packages/SettingsLib/res/values-nl/strings.xml
index 6dfcc7b..f71f3ab 100644
--- a/packages/SettingsLib/res/values-nl/strings.xml
+++ b/packages/SettingsLib/res/values-nl/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Kan omgeving niet updaten"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Actief (alleen media). Batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Actief (alleen media), L: batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Gastapparaat. Batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Gastapparaat. L: batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Gastapparaat (alleen media). Batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Gastapparaat (alleen media). L: batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Verbonden (ondersteunt audio delen), batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Verbonden (ondersteunt audio delen), L: batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Verbonden (ondersteunt audio delen). Links: batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Verbonden (ondersteunt audio delen). Rechts: batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Verbonden (ondersteunt audio delen)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Gastapparaat (ondersteunt audio delen). Batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Gastapparaat (ondersteunt audio delen). L: batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: batterijniveau <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Gastapparaat (ondersteunt audio delen)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Actief (alleen media)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Gastapparaat"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Gastapparaat (alleen media)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Ondersteunt audio delen"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Gastapparaat. Ondersteunt audio delen."</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Actief (alleen media), alleen links"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Actief (alleen media), alleen rechts"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Actief (alleen media), links en rechts"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Rendering met hardwareversnelling"</string>
     <string name="media_category" msgid="8122076702526144053">"Media"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Controle"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Vensterbeheer"</string>
     <string name="strict_mode" msgid="889864762140862437">"Strikte modus staat aan"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Knipperend scherm bij lange bewerkingen door apps"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Cursorlocatie"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView-implementatie"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView-implementatie instellen"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Deze keuze is niet meer geldig. Probeer het opnieuw."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView-pakket niet gevonden."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Kan DevTools niet starten."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Kleurenmodus voor afbeeldingen"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB gebruiken"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Uitgezet"</string>
diff --git a/packages/SettingsLib/res/values-or/strings.xml b/packages/SettingsLib/res/values-or/strings.xml
index 44c819c..f30ae3d 100644
--- a/packages/SettingsLib/res/values-or/strings.xml
+++ b/packages/SettingsLib/res/values-or/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"ପରିପାର୍ଶ୍ୱକୁ ଅପଡେଟ କରାଯାଇପାରିଲା ନାହିଁ"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"ସକ୍ରିୟ (କେବଳ ମିଡିଆ)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ବେଟେରୀ।"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"ସକ୍ରିୟ (କେବଳ ମିଡିଆ)। ବାମ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ଡାହାଣ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ବେଟେରୀ।"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"ଅତିଥି ଡିଭାଇସ। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ବେଟେରୀ।"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"ଅତିଥି ଡିଭାଇସ। ବାମ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ଡାହାଣ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ବେଟେରୀ।"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"ଅତିଥି ଡିଭାଇସ (କେବଳ ମିଡିଆ)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ବେଟେରୀ।"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"ଅତିଥି ଡିଭାଇସ (କେବଳ ମିଡିଆ)। ବାମ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ଡାହାଣ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ବେଟେରୀ।"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"କନେକ୍ଟ କରାଯାଇଛି (ଅଡିଓ ସେୟାରିଂକୁ ସପୋର୍ଟ କରେ)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ବେଟେରୀ।"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"କନେକ୍ଟ କରାଯାଇଛି (ଅଡିଓ ସେୟାରିଂକୁ ସମର୍ଥନ କରେ)। ବାମ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ଡାହାଣ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ବେଟେରୀ।"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"କନେକ୍ଟ କରାଯାଇଛି (ଅଡିଓ ସେୟାରିଂକୁ ସମର୍ଥନ କରେ)। ବାମ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ବେଟେରୀ।"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"କନେକ୍ଟ କରାଯାଇଛି (ଅଡିଓ ସେୟାରିଂକୁ ସପୋର୍ଟ କରେ)। ଡାହାଣ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ବେଟେରୀ।"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"କନେକ୍ଟ କରାଯାଇଛି (ଅଡିଓ ସେୟାରିଂକୁ ସମର୍ଥନ କରେ)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"ଅତିଥି ଡିଭାଇସ (ଅଡିଓ ସେୟାରିଂକୁ ସପୋର୍ଟ କରେ)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ବେଟେରୀ।"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"ଅତିଥି ଡିଭାଇସ (ଅଡିଓ ସେୟାରିଂକୁ ସପୋର୍ଟ କରେ)। ବାମ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ଡାହାଣ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ବେଟେରୀ।"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"ଅତିଥି ଡିଭାଇସ (ଅଡିଓ ସେୟାରିଂକୁ ସପୋର୍ଟ କରେ)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"ସକ୍ରିୟ (କେବଳ ମିଡିଆ)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"ଅତିଥି ଡିଭାଇସ"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"ଅତିଥି ଡିଭାଇସ (କେବଳ ମିଡିଆ)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"ଅଡିଓ ସେୟାରିଂକୁ ସପୋର୍ଟ କରେ"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"ଅତିଥି ଡିଭାଇସ। ଅଡିଓ ସେୟାରିଂକୁ ସପୋର୍ଟ କରେ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"ସକ୍ରିୟ (କେବଳ ମିଡିଆ), କେବଳ ବାମ"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"ସକ୍ରିୟ (କେବଳ ମିଡିଆ), କେବଳ ଡାହାଣ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"ସକ୍ରିୟ (କେବଳ ମିଡିଆ), ବାମ ଏବଂ ଡାହାଣ"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"ହାର୍ଡୱେର୍‌ ଆକ୍ସଲରେଟେଡ୍ ରେଣ୍ଡରିଙ୍ଗ"</string>
     <string name="media_category" msgid="8122076702526144053">"ମିଡିଆ"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"ମନିଟରିଙ୍ଗ"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"ୱିଣ୍ଡୋ ପରିଚାଳନା"</string>
     <string name="strict_mode" msgid="889864762140862437">"କଡ଼ା ମୋଡ୍ ସକ୍ଷମ କରାଯାଇଛି"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"ମୁଖ୍ୟ ଥ୍ରେଡ୍‌ରେ ଆପ୍‌ ଦୀର୍ଘ ସମୟ କାର୍ଯ୍ୟ କଲେ ସ୍କ୍ରୀନ୍‌ ଫ୍ଲାଶ୍ କରନ୍ତୁ"</string>
     <string name="pointer_location" msgid="7516929526199520173">"ପଏଣ୍ଟର୍‌ ଲୋକେସନ୍‌"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"ୱେବ୍‌ଭ୍ୟୁ ପ୍ରୟୋଗ"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView କାର୍ଯ୍ୟକାରିତାକୁ ସେଟ୍‍ କରନ୍ତୁ"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"ଏହି ପସନ୍ଦ ଆଉ ମାନ୍ୟ ନାହିଁ। ପୁଣିଥରେ ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView ମିଳିଲା ନାହିଁ।"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools ଲଞ୍ଚ କରାଯାଇପାରିଲା ନାହିଁ।"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"ପିକ୍‌ଚର୍‌ ରଙ୍ଗ ମୋଡ୍"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"ଅକ୍ଷମ ହୋଇଛି"</string>
diff --git a/packages/SettingsLib/res/values-pa/strings.xml b/packages/SettingsLib/res/values-pa/strings.xml
index 731c195..2c2eab2 100644
--- a/packages/SettingsLib/res/values-pa/strings.xml
+++ b/packages/SettingsLib/res/values-pa/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"ਆਲੇ-ਦੁਆਲੇ ਨੂੰ ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"ਕਿਰਿਆਸ਼ੀਲ (ਸਿਰਫ਼ ਮੀਡੀਆ)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ਬੈਟਰੀ।"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"ਕਿਰਿਆਸ਼ੀਲ (ਸਿਰਫ਼ ਮੀਡੀਆ)। ਖੱਬੇ ਪਾਸੇ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ਸੱਜੇ ਪਾਸੇ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ਬੈਟਰੀ।"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"ਮਹਿਮਾਨ ਡੀਵਾਈਸ। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ਬੈਟਰੀ।"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"ਮਹਿਮਾਨ ਡੀਵਾਈਸ। ਖੱਬੇ ਪਾਸੇ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ਸੱਜੇ ਪਾਸੇ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ਬੈਟਰੀ।"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"ਮਹਿਮਾਨ ਡੀਵਾਈਸ (ਸਿਰਫ਼ ਮੀਡੀਆ)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ਬੈਟਰੀ।"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"ਮਹਿਮਾਨ ਡੀਵਾਈਸ (ਸਿਰਫ਼ ਮੀਡੀਆ)। ਖੱਬੇ ਪਾਸੇ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ਸੱਜੇ ਪਾਸੇ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ਬੈਟਰੀ।"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"ਕਨੈਕਟ ਕੀਤਾ (ਆਡੀਓ ਸਾਂਝਾਕਰਨ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ਬੈਟਰੀ।"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"ਕਨੈਕਟ ਕੀਤਾ (ਆਡੀਓ ਸਾਂਝਾਕਰਨ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ)। ਖੱਬੇ ਪਾਸੇ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ਸੱਜੇ ਪਾਸੇ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ਬੈਟਰੀ।"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"ਕਨੈਕਟ ਕੀਤਾ (ਆਡੀਓ ਸਾਂਝਾਕਰਨ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ)। ਖੱਬੇ ਪਾਸੇ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ਬੈਟਰੀ।"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"ਕਨੈਕਟ ਕੀਤਾ (ਆਡੀਓ ਸਾਂਝਾਕਰਨ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ)। ਸੱਜੇ ਪਾਸੇ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ਬੈਟਰੀ।"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"ਕਨੈਕਟ ਕੀਤਾ (ਆਡੀਓ ਸਾਂਝਾਕਰਨ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"ਮਹਿਮਾਨ ਡੀਵਾਈਸ (ਆਡੀਓ ਸਾਂਝਾਕਰਨ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ)। <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ਬੈਟਰੀ।"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"ਮਹਿਮਾਨ ਡੀਵਾਈਸ (ਆਡੀਓ ਸਾਂਝਾਕਰਨ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ)। ਖੱਬੇ ਪਾਸੇ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ਸੱਜੇ ਪਾਸੇ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ਬੈਟਰੀ।"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"ਮਹਿਮਾਨ ਡੀਵਾਈਸ (ਆਡੀਓ ਸਾਂਝਾਕਰਨ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"ਕਿਰਿਆਸ਼ੀਲ (ਸਿਰਫ਼ ਮੀਡੀਆ)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"ਮਹਿਮਾਨ ਡੀਵਾਈਸ"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"ਮਹਿਮਾਨ ਡੀਵਾਈਸ (ਸਿਰਫ਼ ਮੀਡੀਆ)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"ਆਡੀਓ ਸਾਂਝਾਕਰਨ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"ਮਹਿਮਾਨ ਡੀਵਾਈਸ। ਆਡੀਓ ਸਾਂਝਾਕਰਨ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"ਕਿਰਿਆਸ਼ੀਲ (ਸਿਰਫ਼ ਮੀਡੀਆ), ਸਿਰਫ਼ ਖੱਬਾ"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"ਕਿਰਿਆਸ਼ੀਲ (ਸਿਰਫ਼ ਮੀਡੀਆ), ਸਿਰਫ਼ ਸੱਜਾ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"ਕਿਰਿਆਸ਼ੀਲ (ਸਿਰਫ਼ ਮੀਡੀਆ), ਖੱਬਾ ਅਤੇ ਸੱਜਾ"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"ਹਾਰਡਵੇਅਰ ਐਕਸੈੱਲਰੇਟਿਡ ਰੈਂਡਰਿੰਗ"</string>
     <string name="media_category" msgid="8122076702526144053">"ਮੀਡੀਆ"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"ਨਿਰੀਖਣ ਕਰਨਾ"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"ਵਿੰਡੋ ਪ੍ਰਬੰਧਨ"</string>
     <string name="strict_mode" msgid="889864762140862437">"ਸਟ੍ਰਿਕਟ ਮੋਡ ਚਾਲੂ ਹੈ"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"ਐਪਾਂ ਵੱਲੋਂ ਮੁੱਖ ਥ੍ਰੈੱਡ \'ਤੇ ਲੰਬੀਆਂ ਕਾਰਵਾਈਆਂ ਕਰਨ \'ਤੇ ਸਕ੍ਰੀਨ ਫਲੈਸ਼ ਕਰੋ"</string>
     <string name="pointer_location" msgid="7516929526199520173">"ਪੁਆਇੰਟਰ ਟਿਕਾਣਾ"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView ਅਮਲੀਕਰਨ"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView ਅਮਲੀਕਰਨ ਸੈੱਟ ਕਰੋ"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"ਇਹ ਚੋਣ ਹੁਣ ਵੈਧ ਨਹੀਂ ਹੈ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView ਪੈਕੇਜ ਨਹੀਂ ਮਿਲਿਆ।"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools ਨੂੰ ਲਾਂਚ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"ਤਸਵੀਰ ਰੰਗ ਮੋਡ"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB ਵਰਤੋਂ ਕਰੋ"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"ਬੰਦ ਹੈ"</string>
@@ -666,8 +652,8 @@
     <string name="user_grant_admin_title" msgid="5157031020083343984">"ਕੀ ਇਸ ਵਰਤੋਂਕਾਰ ਨੂੰ ਪ੍ਰਸ਼ਾਸਕ ਬਣਾਉਣਾ ਹੈ?"</string>
     <string name="user_grant_admin_message" msgid="1673791931033486709">"ਪ੍ਰਸ਼ਾਸਕਾਂ ਕੋਲ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਹੁੰਦੇ ਹਨ ਜੋ ਹੋਰ ਵਰਤੋਂਕਾਰਾਂ ਕੋਲ ਨਹੀਂ ਹੁੰਦੇ। ਇੱਕ ਪ੍ਰਸ਼ਾਸਕ ਸਾਰੇ ਵਰਤੋਂਕਾਰਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰ ਸਕਦਾ ਹੈ, ਇਸ ਡੀਵਾਈਸ ਨੂੰ ਅੱਪਡੇਟ ਜਾਂ ਰੀਸੈੱਟ ਕਰ ਸਕਦਾ ਹੈ, ਸੈਟਿੰਗਾਂ ਨੂੰ ਸੋਧ ਸਕਦਾ ਹੈ, ਸਾਰੀਆਂ ਸਥਾਪਤ ਐਪਾਂ ਨੂੰ ਦੇਖ ਸਕਦਾ ਹੈ, ਅਤੇ ਦੂਜਿਆਂ ਲਈ ਪ੍ਰਸ਼ਾਸਕ ਦੇ ਅਧਿਕਾਰਾਂ ਨੂੰ ਮਨਜ਼ੂਰ ਜਾਂ ਰੱਦ ਕਰ ਸਕਦਾ ਹੈ।"</string>
     <string name="user_grant_admin_button" msgid="5441486731331725756">"ਪ੍ਰਸ਼ਾਸਕ ਬਣਾਓ"</string>
-    <string name="user_setup_dialog_title" msgid="8037342066381939995">"ਕੀ ਹੁਣ ਵਰਤੋਂਕਾਰ ਸੈੱਟ ਅੱਪ ਕਰਨਾ ਹੈ?"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਵਿਅਕਤੀ ਡੀਵਾਈਸ ਵਰਤਣ ਅਤੇ ਆਪਣੀ ਜਗ੍ਹਾ ਦੇ ਸੈੱਟ ਅੱਪ ਲਈ ਉਪਲਬਧ ਹੈ"</string>
+    <string name="user_setup_dialog_title" msgid="8037342066381939995">"ਕੀ ਹੁਣ ਵਰਤੋਂਕਾਰ ਸੈੱਟਅੱਪ ਕਰਨਾ ਹੈ?"</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਵਿਅਕਤੀ ਡੀਵਾਈਸ ਵਰਤਣ ਅਤੇ ਆਪਣੀ ਜਗ੍ਹਾ ਦੇ ਸੈੱਟਅੱਪ ਲਈ ਉਪਲਬਧ ਹੈ"</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"ਕੀ ਹੁਣ ਪ੍ਰੋਫਾਈਲ ਸੈੱਟ ਅੱਪ ਕਰਨੀ ਹੈ?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"ਹੁਣੇ ਸੈੱਟ ਅੱਪ ਕਰੋ"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"ਅਜੇ ਨਹੀਂ"</string>
diff --git a/packages/SettingsLib/res/values-pl/strings.xml b/packages/SettingsLib/res/values-pl/strings.xml
index b9adae2..79be6b3 100644
--- a/packages/SettingsLib/res/values-pl/strings.xml
+++ b/packages/SettingsLib/res/values-pl/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Nie udało się zaktualizować otoczenia"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktywne (tylko multimedia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> naładowania baterii."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktywne (tylko multimedia), lewa: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, prawa: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> naładowania baterii."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Urządzenie gościa. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> naładowania baterii."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Urządzenie gościa. Lewa: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, prawa: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> naładowania baterii."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Urządzenie gościa (tylko multimedia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> naładowania baterii."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Urządzenie gościa (tylko multimedia). Lewa: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, prawa: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> naładowania baterii."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Połączone (obsługa udostępniania dźwięku), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> naładowania baterii."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Połączone (obsługa udostępniania dźwięku), lewa: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, prawa: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> naładowania baterii."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Połączone (obsługa udostępniania dźwięku). Lewa: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> naładowania baterii."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Połączone (obsługa udostępniania dźwięku). Prawa: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> naładowania baterii."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Połączone (obsługa udostępniania dźwięku)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Urządzenie gościa (obsługuje udostępnianie dźwięku). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> naładowania baterii."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Urządzenie gościa (obsługuje udostępnianie dźwięku). Lewa: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, prawa: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> naładowania baterii."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Urządzenie gościa (obsługuje udostępnianie dźwięku)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktywne (tylko multimedia)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Urządzenie gościa"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Urządzenie gościa (tylko multimedia)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Obsługa udostępniania dźwięku"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Urządzenie gościa. Obsługuje udostępnianie dźwięku"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktywne (tylko multimedia), tylko lewa"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktywne (tylko multimedia), tylko prawa"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktywne (tylko multimedia), lewa i prawa"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Sprzętowa akceleracja renderowania"</string>
     <string name="media_category" msgid="8122076702526144053">"Multimedia"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitorowanie"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Zarządzanie oknami"</string>
     <string name="strict_mode" msgid="889864762140862437">"Tryb ścisły włączony"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Miganie ekranu podczas długich operacji w wątku głównym"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Lokalizacja wskaźnika"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Implementacja WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Ustaw implementację WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Ta opcja nie jest już obsługiwana. Spróbuj ponownie."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Narzędzia deweloperskie WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Nie znaleziono pakietu WebView."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Nie udało się uruchomić Narzędzi deweloperskich."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Tryb kolorów obrazu"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Użyj sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Wyłączone"</string>
diff --git a/packages/SettingsLib/res/values-pt-rBR/strings.xml b/packages/SettingsLib/res/values-pt-rBR/strings.xml
index 5b3bb06..e16e355 100644
--- a/packages/SettingsLib/res/values-pt-rBR/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rBR/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Não foi possível atualizar o som ambiente"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Ativo (apenas mídia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Ativo (apenas mídia). Lado esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria. Lado direito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Dispositivo convidado. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Dispositivo convidado. Lado esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria. Lado direito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Dispositivo convidado (somente mídia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Dispositivo convidado (somente mídia). Lado esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria. Lado direito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Conectado (aceita compartilhamento de áudio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Conectado (aceita compartilhamento de áudio). Lado esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria. Lado direito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Conectado (aceita compartilhamento de áudio). Lado esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Conectado (aceita compartilhamento de áudio). Lado direito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Conectado (aceita compartilhamento de áudio)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Dispositivo convidado (aceita compartilhamento de áudio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Dispositivo convidado (aceita compartilhamento de áudio). Lado esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria. Lado direito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Dispositivo convidado (aceita compartilhamento de áudio)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Ativo (apenas mídia)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Dispositivo convidado"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Dispositivo convidado (somente mídia)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Com suporte ao compartilhamento de áudio"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Dispositivo convidado. Aceita compartilhamento de áudio"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Ativo (apenas mídia), apenas esquerdo"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Ativo (apenas mídia), somente direito"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Ativo (apenas mídia), esquerdo e direito"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Renderização acelerada por hardware"</string>
     <string name="media_category" msgid="8122076702526144053">"Mídia"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitoramento"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Gerenciamento de janelas"</string>
     <string name="strict_mode" msgid="889864762140862437">"Modo restrito ativado"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Piscar tela se apps demorarem no processo principal"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Localização do cursor"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Implementação do WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Configurar implementação do WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Esta opção não é mais válida. Tente novamente."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"DevTools do WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"O pacote WebView não foi encontrado."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Não foi possível abrir o DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Modo de cor da imagem"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Usar sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Desativado"</string>
diff --git a/packages/SettingsLib/res/values-pt-rPT/strings.xml b/packages/SettingsLib/res/values-pt-rPT/strings.xml
index e6b343a..e4381d6 100644
--- a/packages/SettingsLib/res/values-pt-rPT/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rPT/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Não foi possível atualizar o ambiente"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Ativo (apenas para multimédia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Ativo (apenas para multimédia). E: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria. D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Dispositivo convidado. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Dispositivo convidado. E: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Dispositivo convidado (apenas para multimédia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Dispositivo convidado (apenas para multimédia). E: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Ligado (suporta partilha de áudio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Ligado (suporta partilha de áudio). E: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria. D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Ligado (suporta a partilha de áudio). Esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Ligado (suporta a partilha de áudio). Direito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Ligado (suporta a partilha de áudio)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Dispositivo convidado (compatível com partilha de áudio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Dispositivo convidado (compatível com partilha de áudio). E: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>. D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Dispositivo convidado (compatível com partilha de áudio)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Ativo (apenas para multimédia)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Dispositivo convidado"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Dispositivo convidado (apenas para multimédia)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Suporta partilha de áudio"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Dispositivo convidado. Compatível com partilha de áudio"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Ativo (apenas para multimédia), apenas esquerdo"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Ativo (apenas para multimédia), apenas direito"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Ativo (apenas para multimédia), esquerdo e direito"</string>
@@ -149,7 +139,7 @@
     <string name="bluetooth_profile_hid" msgid="2969922922664315866">"Dispositivo de entrada"</string>
     <string name="bluetooth_profile_pan" msgid="1006235139308318188">"Acesso à internet"</string>
     <string name="bluetooth_profile_pbap" msgid="2103406516858653017">"Acesso a contactos e histórico de chamadas"</string>
-    <string name="bluetooth_profile_pbap_summary" msgid="402819589201138227">"As informações são usadas para anúncios por chamadas e outros"</string>
+    <string name="bluetooth_profile_pbap_summary" msgid="402819589201138227">"As informações são usadas para anunciar chamadas e outros"</string>
     <string name="bluetooth_profile_pan_nap" msgid="7871974753822470050">"Partilha da ligação à internet"</string>
     <string name="bluetooth_profile_map" msgid="8907204701162107271">"Mensagens de texto"</string>
     <string name="bluetooth_profile_sap" msgid="8304170950447934386">"Acesso ao SIM"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Conversão acelerada de hardware"</string>
     <string name="media_category" msgid="8122076702526144053">"Multimédia"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitorização"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Gestão de janelas"</string>
     <string name="strict_mode" msgid="889864762140862437">"Modo rigoroso ativado"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Piscar ecrã se app fazem oper. prolong. no tópico princ."</string>
     <string name="pointer_location" msgid="7516929526199520173">"Localização do ponteiro"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Implementação WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Definir implementação WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Esta opção já não é válida. Tente novamente."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"DevTools do WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Pacote WebView não encontrado."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Não foi possível iniciar as DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Modo de cor da imagem"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Usar sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Desativado"</string>
diff --git a/packages/SettingsLib/res/values-pt/strings.xml b/packages/SettingsLib/res/values-pt/strings.xml
index 5b3bb06..e16e355 100644
--- a/packages/SettingsLib/res/values-pt/strings.xml
+++ b/packages/SettingsLib/res/values-pt/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Não foi possível atualizar o som ambiente"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Ativo (apenas mídia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Ativo (apenas mídia). Lado esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria. Lado direito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Dispositivo convidado. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Dispositivo convidado. Lado esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria. Lado direito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Dispositivo convidado (somente mídia). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Dispositivo convidado (somente mídia). Lado esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria. Lado direito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Conectado (aceita compartilhamento de áudio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Conectado (aceita compartilhamento de áudio). Lado esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria. Lado direito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Conectado (aceita compartilhamento de áudio). Lado esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Conectado (aceita compartilhamento de áudio). Lado direito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Conectado (aceita compartilhamento de áudio)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Dispositivo convidado (aceita compartilhamento de áudio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Dispositivo convidado (aceita compartilhamento de áudio). Lado esquerdo: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> de bateria. Lado direito: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> de bateria."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Dispositivo convidado (aceita compartilhamento de áudio)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Ativo (apenas mídia)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Dispositivo convidado"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Dispositivo convidado (somente mídia)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Com suporte ao compartilhamento de áudio"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Dispositivo convidado. Aceita compartilhamento de áudio"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Ativo (apenas mídia), apenas esquerdo"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Ativo (apenas mídia), somente direito"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Ativo (apenas mídia), esquerdo e direito"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Renderização acelerada por hardware"</string>
     <string name="media_category" msgid="8122076702526144053">"Mídia"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitoramento"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Gerenciamento de janelas"</string>
     <string name="strict_mode" msgid="889864762140862437">"Modo restrito ativado"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Piscar tela se apps demorarem no processo principal"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Localização do cursor"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Implementação do WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Configurar implementação do WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Esta opção não é mais válida. Tente novamente."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"DevTools do WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"O pacote WebView não foi encontrado."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Não foi possível abrir o DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Modo de cor da imagem"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Usar sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Desativado"</string>
diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml
index 13c9032..83a6e68 100644
--- a/packages/SettingsLib/res/values-ro/strings.xml
+++ b/packages/SettingsLib/res/values-ro/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Nu s-a putut actualiza zona din jur"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Activ (numai pentru conținut media). Nivelul bateriei <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Activ (numai pentru conținut media): nivelul bateriei din stânga: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, nivelul bateriei din dreapta: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Dispozitiv invitat. Nivelul bateriei: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Dispozitiv invitat. Nivelul bateriei din stânga: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, dreapta: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Dispozitiv invitat (numai pentru conținut media). Nivelul bateriei: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Dispozitiv invitat (numai pentru conținut media). Nivelul bateriei din stânga: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, dreapta: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Conectat (acceptă permiterea accesului la audio). Nivelul bateriei: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Conectat (acceptă permiterea accesului la audio), nivelul bateriei din stânga: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, nivelul bateriei din dreapta: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Conectat (acceptă permiterea accesului la audio). Nivelul bateriei din stânga: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Conectat (acceptă permiterea accesului la audio). Nivelul bateriei din dreapta: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Conectat (acceptă permiterea accesului la audio)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Dispozitiv invitat (acceptă permiterea accesului la audio). Nivelul bateriei: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Dispozitiv invitat (acceptă permiterea accesului la audio). Nivelul bateriei din stânga: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, dreapta: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Dispozitiv invitat (acceptă permiterea accesului la audio)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Activ (numai pentru conținut media)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Dispozitiv invitat"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Dispozitiv invitat (numai pentru conținut media)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Acceptă permiterea accesului la audio"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Dispozitiv invitat. Acceptă permiterea accesului la audio"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Activ (numai pentru conținut media), numai stânga"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Activ (numai pentru conținut media), numai dreapta"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Activ (numai pentru conținut media), stânga și dreapta"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Redare accelerată hardware"</string>
     <string name="media_category" msgid="8122076702526144053">"Media"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitorizare"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Gestionarea ferestrelor"</string>
     <string name="strict_mode" msgid="889864762140862437">"Modul Strict activat"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Iluminare intermitentă la operații lungi pe firul principal"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Locația indicatorului"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Implementare WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Setează implementarea WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Această opțiune nu mai este validă. Încearcă din nou."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"DevTools WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Pachetul WebView nu a fost găsit."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Nu s-a putut lansa DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Modul de culori pentru imagini"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Folosește sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Dezactivat"</string>
diff --git a/packages/SettingsLib/res/values-ru/strings.xml b/packages/SettingsLib/res/values-ru/strings.xml
index 831623d..1ed7c36 100644
--- a/packages/SettingsLib/res/values-ru/strings.xml
+++ b/packages/SettingsLib/res/values-ru/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Не удалось отрегулировать окружающие звуки."</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Используется (только для медиа), заряд: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Используется (только для медиа), заряд: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (Л), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (П)."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Гостевое устройство. Заряд батареи: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Гостевое устройство. Заряд батареи: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (Л), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (П)."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Гостевое устройство (только медиафайлы). Заряд батареи: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Гостевое устройство (только медиафайлы). Заряд батареи: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (Л), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (П)."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Подключено (поддерживается отправка аудио), заряд: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Подключено (поддерживается отправка аудио), заряд: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (Л), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (П)."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Подключено (поддерживается отправка аудио), заряд: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> (Л)."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Подключено (поддерживается отправка аудио), заряд: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> (П)."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Подключено (поддерживается отправка аудио)."</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Гостевое устройство (поддерживает передачу аудио). Заряд батареи: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Гостевое устройство (поддерживает передачу аудио). Заряд батареи: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (Л), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (П)."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Гостевое устройство (поддерживает передачу аудио)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Используется (только для медиа)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Гостевое устройство"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Гостевое устройство (только медиафайлы)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Поддерживается отправка аудио"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Гостевое устройство. Поддерживает передачу аудио."</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Используется (только для медиа), только левый"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Используется (только для медиа), правый наушник"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Используется (только для медиа), левый и правый наушники"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Аппаратное ускорение отрисовки"</string>
     <string name="media_category" msgid="8122076702526144053">"Мультимедиа"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Мониторинг"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Управление окнами"</string>
     <string name="strict_mode" msgid="889864762140862437">"Строгий режим"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Подсвечивать экран во время длительных операций"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Место касания"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Сервис WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Настройки сервиса WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Вариант недействителен. Повторите попытку."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Инструменты разработчика от поставщика WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Пакет WebView не найден."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Не удалось запустить инструменты разработчика."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Цветовой режим"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Использовать sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Отключено"</string>
@@ -508,7 +494,7 @@
     <string name="accessibility_display_daltonizer_preference_title" msgid="1810693571332381974">"Коррекция цвета"</string>
     <string name="accessibility_display_daltonizer_preference_subtitle" msgid="1522101114585266455">"Используйте коррекцию цвета, чтобы:&lt;br/&gt; &lt;ol&gt; &lt;li&gt; Добиться нужной цветопередачи.&lt;/li&gt; &lt;li&gt; Убрать цвета, которые мешают сосредоточиться.&lt;/li&gt; &lt;/ol&gt;"</string>
     <string name="daltonizer_type_overridden" msgid="4509604753672535721">"Новая настройка: <xliff:g id="TITLE">%1$s</xliff:g>"</string>
-    <string name="power_remaining_settings_home_page" msgid="4885165789445462557">"Уровень заряда – <xliff:g id="PERCENTAGE">%1$s</xliff:g>. <xliff:g id="TIME_STRING">%2$s</xliff:g>."</string>
+    <string name="power_remaining_settings_home_page" msgid="4885165789445462557">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> - <xliff:g id="TIME_STRING">%2$s</xliff:g>"</string>
     <string name="power_charging_on_hold_settings_home_page" msgid="7690464049464805856">"<xliff:g id="LEVEL">%1$s</xliff:g>, зарядка приостановлена для защиты батареи"</string>
     <string name="power_incompatible_charging_settings_home_page" msgid="1322050766135126880">"<xliff:g id="LEVEL">%1$s</xliff:g>, проверьте зарядное устройство"</string>
     <string name="power_remaining_duration_only" msgid="8264199158671531431">"Заряда хватит примерно на <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-si/strings.xml b/packages/SettingsLib/res/values-si/strings.xml
index dcfb914..dffa392 100644
--- a/packages/SettingsLib/res/values-si/strings.xml
+++ b/packages/SettingsLib/res/values-si/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"වටපිටාව යාවත්කාලීන කළ නොහැකි විය"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"ක්‍රියාත්මකයි (මාධ්‍ය පමණයි). බැටරිය <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"ක්‍රියාත්මකයි (මාධ්‍ය පමණයි), බැටරිය ව: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ද: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"ආගන්තුක උපාංගය. බැටරිය <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"ආගන්තුක උපාංගය. බැටරිය ව: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ද: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"ආගන්තුක උපාංගය (මාධ්‍ය පමණි). බැටරිය <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"ආගන්තුක උපාංගය (මාධ්‍ය පමණි). බැටරිය ව: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ද: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"සම්බන්‍ධයි (ශ්‍රව්‍ය බෙදා ගැනීමට සහය දක්වයි). බැටරිය <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"සම්බන්‍ධයි (ශ්‍රව්‍ය බෙදා ගැනීමට සහය දක්වයි). බැටරිය ව: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ද: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"සම්බන්‍ධයි (ශ්‍රව්‍ය බෙදා ගැනීමට සහය දක්වයි). වම: බැටරිය <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"සම්බන්‍ධයි (ශ්‍රව්‍ය බෙදා ගැනීමට සහය දක්වයි). දකුණ: බැටරිය <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"සම්බන්‍ධයි (ශ්‍රව්‍ය බෙදා ගැනීමට සහය දක්වයි)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"ආගන්තුක උපාංගය (ශ්‍රව්‍ය බෙදා ගැනීම සඳහා සහය දක්වයි). බැටරිය <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"ආගන්තුක උපාංගය (ශ්‍රව්‍ය බෙදා ගැනීම සඳහා සහය දක්වයි). බැටරිය ව: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ද: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"ආගන්තුක උපාංගය (ශ්‍රව්‍ය බෙදා ගැනීම සඳහා සහය දක්වයි)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"සක්‍රිය (මාධ්‍ය පමණි)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"ආගන්තුක උපාංගය"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"ආගන්තුක උපාංගය (මාධ්‍ය පමණි)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"ශ්‍රව්‍ය බෙදා ගැනීම සහය දක්වයි"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"ආගන්තුක උපාංගය. ශ්‍රව්‍ය බෙදා ගැනීම සහය දක්වයි"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"සක්‍රිය (මාධ්‍ය පමණි), වම පමණි"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"සක්‍රිය (මාධ්‍ය පමණි), දකුණ පමණි"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"සක්‍රිය (මාධ්‍ය පමණි), වම සහ දකුණ"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"දෘඩාංග වේගය වැඩි කළ පිරිනැමීම"</string>
     <string name="media_category" msgid="8122076702526144053">"මාධ්‍ය"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"නිරීක්ෂණය"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"කවුළු කළමනාකරණය"</string>
     <string name="strict_mode" msgid="889864762140862437">"තදබල ආකාරය සබල කිරීම"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"මූලික පොටේ යෙදුම්, දිගු මෙහෙයුම් කරන විට තිරය ෆ්ලෑෂ් කරන්න"</string>
     <string name="pointer_location" msgid="7516929526199520173">"සූචක පිහිටීම"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView ක්‍රියාත්මක කිරීම"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView ක්‍රියාත්මක කිරීම සකසන්න"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"මෙම තෝරා ගැනීම තව දුරටත් වලංගු නැත. නැවත උත්සාහ කරන්න."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView පැකේජය හමු නොවුණි."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools දියත් කිරීමට නොහැකි විය."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"පින්තූර වර්ණ ප්‍රකාරය"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB භාවිතා කරන්න"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"අබලයි"</string>
diff --git a/packages/SettingsLib/res/values-sk/strings.xml b/packages/SettingsLib/res/values-sk/strings.xml
index 86e8274..0f4297a 100644
--- a/packages/SettingsLib/res/values-sk/strings.xml
+++ b/packages/SettingsLib/res/values-sk/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Okolie sa nepodarilo aktualizovať"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktívne (iba médiá). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batérie."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktívne (iba médiá). Ľ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> batérie, P: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batérie."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Zariadenie hosťa. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batérie."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Zariadenie hosťa. Ľ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, P: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batérie."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Zariadenie hosťa (iba médiá). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batérie."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Zariadenie hosťa (iba médiá). Ľ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, P: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batérie."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Pripojené (podporuje zdieľanie zvuku). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batérie."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Pripojené (podporuje zdieľanie zvuku). Ľ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, P: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batérie."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Pripojené (podporuje zdieľanie zvuku). Ľavá strana: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batérie."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Pripojené (podporuje zdieľanie zvuku). Pravá strana: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batérie."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Pripojené (podporuje zdieľanie zvuku)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Zariadenie hosťa (podporuje zdieľanie zvuku). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batérie."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Zariadenie hosťa (podporuje zdieľanie zvuku). Ľ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, P: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batérie."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Zariadenie hosťa (podporuje zdieľanie zvuku)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktívne (iba médiá)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Zariadenie hosťa"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Zariadenie hosťa (iba médiá)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Podporuje zdieľanie zvuku"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Zariadenie hosťa. Podporuje zdieľanie zvuku."</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktívne (iba médiá), iba ľavá strana"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktívne (iba médiá), iba pravá strana"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktívne (iba médiá), ľavá aj pravá strana"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Hardvérom zrýchlené vykresľovanie"</string>
     <string name="media_category" msgid="8122076702526144053">"Médiá"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitorovanie"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Správa okien"</string>
     <string name="strict_mode" msgid="889864762140862437">"Povoliť prísny režim"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Blikať pri dlhých operáciách hlavného vlákna"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Umiestnenie kurzora"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Implementácia WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Nastaviť implementáciu WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Táto voľba už nie je platná. Skúste to znova."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Nástroje pre vývojárov prvku WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Balík WebView sa nenašiel."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Nástroje pre vývojárov sa nepodarilo spustiť."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Farebný režim obrázka"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Použije sa sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Vypnuté"</string>
diff --git a/packages/SettingsLib/res/values-sl/strings.xml b/packages/SettingsLib/res/values-sl/strings.xml
index 28ae8e1..744b4da 100644
--- a/packages/SettingsLib/res/values-sl/strings.xml
+++ b/packages/SettingsLib/res/values-sl/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Okolice ni bilo mogoče posodobiti"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktivno (samo predstavnost). Baterija: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktivno (samo predstavnost), baterija – L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Naprava gosta. Baterija: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Naprava gosta. Baterija – L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Naprava gosta (samo predstavnost). Baterija: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Naprava gosta (samo predstavnost). Baterija – L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Povezano (podpira deljenje zvoka), baterija: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Povezano (podpira deljenje zvoka), baterija – L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Povezano (podpira deljenje zvoka). Levo – baterija: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Povezano (podpira deljenje zvoka). Desno – baterija: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Povezano (podpira deljenje zvoka)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Naprava gosta (podpira deljenje zvoka). Baterija: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Naprava gosta (podpira deljenje zvoka). Baterija – L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, D: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Naprava gosta (podpira deljenje zvoka)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktivno (samo predstavnost)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Naprava gosta"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Naprava gosta (samo predstavnost)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Podpira deljenje zvoka"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Naprava gosta. Podpira deljenje zvoka."</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktivno (samo predstavnost), samo levo"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktivno (samo predstavnost), samo desno"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktivno (samo predstavnost), levo in desno"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Upodabljanje s strojnim pospeševanjem"</string>
     <string name="media_category" msgid="8122076702526144053">"Predstavnost"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Spremljanje"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Upravljanje oken"</string>
     <string name="strict_mode" msgid="889864762140862437">"Strog način je omogočen"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Osveži zaslon pri dolgih postopkih v glavni niti."</string>
     <string name="pointer_location" msgid="7516929526199520173">"Mesto kazalca"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Izvedba spletnega pogleda"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Nastavitev izvedbe spletnega pogleda"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Ta izbira ni več veljavna. Poskusite znova."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Orodja za razvijalce za WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Paketa WebView ni bilo mogoče najti."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Orodij za razvijalce ni bilo mogoče zagnati."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Način barv slike"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Uporaba sRGB-ja"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Onemogočeno"</string>
diff --git a/packages/SettingsLib/res/values-sq/strings.xml b/packages/SettingsLib/res/values-sq/strings.xml
index 4e6ec9f..3d9622e 100644
--- a/packages/SettingsLib/res/values-sq/strings.xml
+++ b/packages/SettingsLib/res/values-sq/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Ambienti rrethues nuk mund të përditësohej"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktiv (vetëm për media). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> bateri."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktiv (vetëm për media). Majtas: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> bateri, djathtas: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> bateri."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Pajisja vizitore. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> bateri."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Pajisja vizitore. Majtas: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> bateri, djathtas: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> bateri."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Pajisja vizitore (vetëm media). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> bateri."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Pajisja vizitore (vetëm media). Majtas: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> bateri, djathtas: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> bateri."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Lidhur (mbështet ndarjen e audios). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> bateri."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Lidhur (mbështet ndarjen e audios). Majtas: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> bateri, djathtas: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> bateri."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Lidhur (mbështet ndarjen e audios). Majtas: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> bateri."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Lidhur (mbështet ndarjen e audios). Djathtas: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> bateri."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Lidhur (mbështet ndarjen e audios)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Pajisja vizitore (mbështet ndarjen e audios). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> bateri."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Pajisja vizitore (mbështet ndarjen e audios). Majtas: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> bateri, djathtas: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> bateri."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Pajisja vizitore (mbështet ndarjen e audios)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktiv (vetëm për media)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Pajisja vizitore"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Pajisja vizitore (vetëm media)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Mbështet ndarjen e audios"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Pajisja vizitore. Mbështet ndarjen e audios"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktiv (vetëm për media), vetëm majtas"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktiv (vetëm për media), vetëm djathtas"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktiv (vetëm për media), majtas dhe djathtas"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Interpretimi i përshpejtuar i harduerit"</string>
     <string name="media_category" msgid="8122076702526144053">"Media"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitorimi"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Menaxhimi i dritareve"</string>
     <string name="strict_mode" msgid="889864762140862437">"Aktivizo modalitetin e rreptë"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Ndriço ekranin kur aplikacionet kryejnë operacione të gjata teksa bashkëveprojnë"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Vendndodhja e treguesit"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Zbatimi i WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Cakto zbatimin e WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Kjo zgjedhje nuk është më e vlefshme. Provo përsëri."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"DevTools e WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Paketa e WebView nuk u gjet."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools nuk mund të nisej."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Modalitti i ngjyrave të figurës"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Përdor sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Çaktivizuar"</string>
diff --git a/packages/SettingsLib/res/values-sr/strings.xml b/packages/SettingsLib/res/values-sr/strings.xml
index 96924b9..32ec500 100644
--- a/packages/SettingsLib/res/values-sr/strings.xml
+++ b/packages/SettingsLib/res/values-sr/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Ажурирање окружења није успело"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Активно (само за медије). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батерије."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Активно (само за медије). Лево: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, десно: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> батерије."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Уређај госта. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батерије."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Уређај госта. Лево: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, десно: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> батерије."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Уређај госта (само за медије). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батерије."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Уређај госта (само за медије). Лево: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, десно: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> батерије."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Повезано (подржава дељење звука), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батерије."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Повезано (подржава дељење звука), лево: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, десно: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> батерије."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Повезано (подржава дељење звука). Лево: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батерије"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Повезано (подржава дељење звука). Десно: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батерије."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Повезано (подржава дељење звука)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Уређај госта (подржава дељење звука). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> батерије."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Уређај госта (подржава дељење звука). Лево: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, десно: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> батерије."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Уређај госта (подржава дељење звука)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Активан (само за медије)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Уређај госта"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Уређај госта (само за медије)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Подржава дељење звука"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Уређај госта. Подржава дељење звука"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Активан (само за медије), само лево"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Активан (само за медије), само десно"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Активан (само за медије), лево и десно"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Хардверски убрзано приказивање"</string>
     <string name="media_category" msgid="8122076702526144053">"Медији"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Надгледање"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Управљање прозорима"</string>
     <string name="strict_mode" msgid="889864762140862437">"Омогућен је строги режим"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Екран трепери када апликације обављају дуге операције на главној нити"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Локација показивача"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Примена WebView-а"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Подесите примену WebView-а"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Овај избор више није важећи. Пробајте поново."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView алатке за програмере"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Пакет за WebView није пронађен."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Покретање алатки за програмере није успело."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Режим боја слика"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Користи sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Онемогућено је"</string>
diff --git a/packages/SettingsLib/res/values-sv/strings.xml b/packages/SettingsLib/res/values-sv/strings.xml
index 3c7aff6..cf223f5b 100644
--- a/packages/SettingsLib/res/values-sv/strings.xml
+++ b/packages/SettingsLib/res/values-sv/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Det gick inte att uppdatera omgivningsläget"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktiv (endast media). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktiv (endast media). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batteri."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Gästenhet. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Gästenhet. V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batteri."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Gästenhet (endast media). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Gästenhet (endast media). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batteri."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Ansluten (ljuddelning stöds). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Ansluten (ljuddelning stöds). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batteri."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Ansluten (ljuddelning stöds). Vänster: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Ansluten (ljuddelning stöds). Höger: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Ansluten (ljuddelning stöds)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Gästenhet (ljuddelning stöds). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> batteri."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Gästenhet (ljuddelning stöds). V: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, H: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> batteri."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Gästenhet (ljuddelning stöds)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktiv (endast media)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Gästenhet"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Gästenhet (endast media)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Ljuddelning stöds"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Gästenhet. Ljuddelning stöds"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktiv (endast media), endast vänster"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktiv (endast media), endast höger"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktiv (endast media), vänster och höger"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Hårdvaruaccelererad rendering"</string>
     <string name="media_category" msgid="8122076702526144053">"Media"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Övervakning"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Fönsterhantering"</string>
     <string name="strict_mode" msgid="889864762140862437">"Strikt läge aktiverat"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Tänd skärm när app gör omfattande åtgärd på huvudtråd"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Pekarens plats"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView-implementering"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Ange WebView-implementering"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Det här alternativet är inte längre giltigt. Försök igen."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Verktyg för programmerare för WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView-paketet hittades inte."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Verktyg för programmerare kunde inte startas."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Färgläge för bilder"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Använd sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Inaktiverad"</string>
diff --git a/packages/SettingsLib/res/values-sw/strings.xml b/packages/SettingsLib/res/values-sw/strings.xml
index 4f520b4..26e0412 100644
--- a/packages/SettingsLib/res/values-sw/strings.xml
+++ b/packages/SettingsLib/res/values-sw/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Imeshindwa kusasisha mazingira"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Inatumika (maudhui pekee). Chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Inatumika (maudhui pekee), Kushoto: chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Kulia: chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Kifaa kingeni. Chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Kifaa kingeni. Kushoto: chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Kulia: chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Kifaa kingeni (sauti/video/picha pekee). Chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Kifaa kingeni (sauti/video/picha pekee). Kushoto: chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Kulia: chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Imeunganishwa (inaweza kutumia kipengele cha kusikiliza pamoja). Chaji imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Imeunganishwa (inaweza kutumia kipengele cha kusikiliza pamoja). Kushoto: chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Kulia: chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Imeunganishwa (inaweza kutumia kipengele cha kusikiliza pamoja). Kushoto: chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Imeunganishwa (inaweza kutumia kipengele cha kusikiliza pamoja). Kulia: chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Imeunganishwa (inaweza kusikiliza pamoja)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Kifaa kingeni (kinatumia kipengele cha kusikiliza pamoja). Chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Kifaa kingeni (kinatumia kipengele cha kusikiliza pamoja). Kushoto: chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Kulia: chaji ya betri imefika <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Kifaa kingeni (kinatumia kipengele cha kusikiliza pamoja)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Inatumika (maudhui pekee)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Kifaa kingeni"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Kifaa kingeni (sauti/video/picha pekee)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Inaweza kutumia kipengele cha kusikiliza pamoja"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Kifaa kingeni. Kinatumia kipengele cha kusikiliza pamoja"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Inatumika (maudhui pekee), kushoto pekee"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Inatumika (maudhui pekee), kulia pekee"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Inatumika (maudhui pekee), kushoto na kulia"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Utekelezaji wa maunzi ulioharakishwa"</string>
     <string name="media_category" msgid="8122076702526144053">"Maudhui"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Ufuatiliaji"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Udhibiti wa Dirisha"</string>
     <string name="strict_mode" msgid="889864762140862437">"Hali makinifu imewashwa"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Fanya skrini imemeteke programu zinapoendeleza shughuli ndefu kwenye skrini kuu"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Mahali pa kiashiria"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Utekelezaji wa WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Weka utekelezaji wa WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Chaguo hili halipo tena. Jaribu tena."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Zana za Wasanidi Programu za Mwonekano wa Wavuti"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Haijapata kifurushi cha Mwonekano wa Wavuti."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Imeshindwa kuwasha Zana za Wasanidi Programu."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Hali ya rangi ya picha"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Tumia sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Imezimwa"</string>
diff --git a/packages/SettingsLib/res/values-ta/strings.xml b/packages/SettingsLib/res/values-ta/strings.xml
index aa34584..c2e762f 100644
--- a/packages/SettingsLib/res/values-ta/strings.xml
+++ b/packages/SettingsLib/res/values-ta/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"சுற்றுப்புறங்களைப் புதுப்பிக்க முடியவில்லை"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"செயலிலுள்ளது (மீடியா மட்டும்). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> பேட்டரி."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"செயலிலுள்ளது (மீடியா மட்டும்). இடது பேட்டரி: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, வலது பேட்டரி: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"விருந்தினர் சாதனம். <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> பேட்டரி."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"விருந்தினர் சாதனம். இடது பேட்டரி: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, வலது பேட்டரி: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"விருந்தினர் சாதனம் (மீடியா மட்டும்). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> பேட்டரி."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"விருந்தினர் சாதனம் (மீடியா மட்டும்). இடது பேட்டரி: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, வலது பேட்டரி: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"இணைக்கப்பட்டுள்ளது (ஆடியோ பகிர்வை ஆதரிக்கிறது). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> பேட்டரி."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"இணைக்கப்பட்டுள்ளது (ஆடியோ பகிர்வை ஆதரிக்கிறது). இடது பேட்டரி: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, வலது பேட்டரி: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"இணைக்கப்பட்டுள்ளது (ஆடியோ பகிர்வை ஆதரிக்கிறது). இடது: - <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> பேட்டரி."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"இணைக்கப்பட்டுள்ளது (ஆடியோ பகிர்வை ஆதரிக்கிறது). வலது: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> பேட்டரி."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"இணைக்கப்பட்டுள்ளது (ஆடியோ பகிர்வை ஆதரிக்கிறது)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"விருந்தினர் சாதனம் (ஆடியோ பகிர்வை ஆதரிக்கிறது). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> பேட்டரி."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"விருந்தினர் சாதனம் (ஆடியோ பகிர்வை ஆதரிக்கிறது). இடது பேட்டரி: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, வலது பேட்டரி: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"விருந்தினர் சாதனம் (ஆடியோ பகிர்வை ஆதரிக்கிறது)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"செயலிலுள்ளது (மீடியா மட்டும்)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"விருந்தினர் சாதனம்"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"விருந்தினர் சாதனம் (மீடியா மட்டும்)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"ஆடியோ பகிர்வை ஆதரிக்கிறது"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"விருந்தினர் சாதனம். ஆடியோ பகிர்வை ஆதரிக்கிறது."</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"செயலிலுள்ளது (மீடியா மட்டும்), இடதுபுறம் மட்டும்"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"செயலிலுள்ளது (மீடியா மட்டும்), வலதுபுறம் மட்டும்"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"செயலிலுள்ளது (மீடியா மட்டும்), இடதுபுறம் மற்றும் வலதுபுறம்"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"வன்பொருள் முடுக்கத்துடன் கூடிய காட்சியாக்கம்"</string>
     <string name="media_category" msgid="8122076702526144053">"மீடியா"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"கண்காணித்தல்"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"சாளர நிர்வாகம்"</string>
     <string name="strict_mode" msgid="889864762140862437">"நிலையான பயன்முறை இயக்கப்பட்டது"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"முக்கியத் தொடரிழையில் நீண்ட நேரம் செயல்படும்போது திரையைக் காட்சிப்படுத்தும்"</string>
     <string name="pointer_location" msgid="7516929526199520173">"குறிப்பான் இடம்"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView செயல்படுத்தல்"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView செயல்படுத்தலை அமை"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"இனி இந்தத் தேர்வைப் பயன்படுத்த முடியாது. மீண்டும் முயலவும்."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView டெவெலப்பர் கருவிகள்"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView தொகுப்பு இல்லை."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"டெவெலப்பர் கருவிகளை இயக்க முடியவில்லை."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"படத்தின் வண்ணப் பயன்முறை"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGBஐப் பயன்படுத்தும்"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"முடக்கப்பட்டது"</string>
@@ -667,7 +653,7 @@
     <string name="user_grant_admin_message" msgid="1673791931033486709">"மற்ற பயனர்களுக்கு இல்லாத சிறப்புரிமைகள் நிர்வாகிகளுக்கு உண்டு. நிர்வாகி அனைத்துப் பயனர்களையும் நிர்வகிக்கலாம், இந்தச் சாதனத்தைப் புதுப்பிக்கலாம் அல்லது ரீசெட் செய்யலாம், அமைப்புகளை மாற்றலாம், நிறுவப்பட்ட அனைத்து ஆப்ஸையும் பார்க்கலாம், பிறருக்கு நிர்வாகி சிறப்புரிமைகளை வழங்கலாம் அல்லது அகற்றலாம்."</string>
     <string name="user_grant_admin_button" msgid="5441486731331725756">"நிர்வாகியாக்கு"</string>
     <string name="user_setup_dialog_title" msgid="8037342066381939995">"இப்போது பயனரை அமைக்கவா?"</string>
-    <string name="user_setup_dialog_message" msgid="269931619868102841">"இந்தச் சாதனத்தை இவர் பயன்படுத்தும் நிலையிலும், அவருக்கான அமைப்புகளை அவரே செய்து கொள்பவராகவும் இருக்க வேண்டும்."</string>
+    <string name="user_setup_dialog_message" msgid="269931619868102841">"பயனர் இந்தச் சாதனத்தில் அவருக்கான அமைப்புகளை அமைக்கும் நிலையில் இப்போது  இருக்க வேண்டும்"</string>
     <string name="user_setup_profile_dialog_message" msgid="4788197052296962620">"இப்போது சுயவிவரத்தை அமைக்கவா?"</string>
     <string name="user_setup_button_setup_now" msgid="1708269547187760639">"இப்போது அமை"</string>
     <string name="user_setup_button_setup_later" msgid="8712980133555493516">"இப்போது இல்லை"</string>
diff --git a/packages/SettingsLib/res/values-te/strings.xml b/packages/SettingsLib/res/values-te/strings.xml
index cded034..f4678f3 100644
--- a/packages/SettingsLib/res/values-te/strings.xml
+++ b/packages/SettingsLib/res/values-te/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"పరిసరాలను అప్‌డేట్ చేయడం సాధ్యం కాలేదు"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"యాక్టివ్ (మీడియా మాత్రమే). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> బ్యాటరీ."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"యాక్టివ్ (మీడియా మాత్రమే). ఎడమ వైపు: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> బ్యాటరీ, కుడివైపు: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> బ్యాటరీ."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"గెస్ట్ పరికరం. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> బ్యాటరీ."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"గెస్ట్ పరికరం. ఎడమ వైపు: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, కుడివైపు: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> బ్యాటరీ."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"గెస్ట్ పరికరం (మీడియాకు మాత్రమే). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> బ్యాటరీ."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"గెస్ట్ పరికరం (మీడియాకు మాత్రమే). ఎడమ వైపు: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, కుడివైపు: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> బ్యాటరీ."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"కనెక్ట్ చేయబడింది (ఆడియో షేరింగ్‌కు సపోర్ట్ చేస్తుంది). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> బ్యాటరీ."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"కనెక్ట్ చేయబడింది (ఆడియో షేరింగ్‌కు సపోర్ట్ చేస్తుంది). ఎడమ వైపు: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> బ్యాటరీ, కుడివైపు: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> బ్యాటరీ."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"కనెక్ట్ చేయబడింది (ఆడియో షేరింగ్‌కు సపోర్ట్ చేస్తుంది). ఎడమ వైపు: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> బ్యాటరీ."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"కనెక్ట్ అయింది (ఆడియో షేరింగ్‌కు సపోర్ట్ చేస్తుంది). కుడివైపు: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> బ్యాటరీ."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"కనెక్ట్ చేయబడింది (ఆడియో షేరింగ్‌కు సపోర్ట్ చేస్తుంది)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"గెస్ట్ పరికరం (ఆడియో షేరింగ్‌కు సపోర్ట్ చేస్తుంది). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> బ్యాటరీ."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"గెస్ట్ పరికరం (ఆడియో షేరింగ్‌కు సపోర్ట్ చేస్తుంది). ఎడమ వైపు: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, కుడివైపు: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> బ్యాటరీ."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"గెస్ట్ పరికరం (ఆడియో షేరింగ్‌కు సపోర్ట్ చేస్తుంది)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"యాక్టివ్ (మీడియా మాత్రమే)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"గెస్ట్ పరికరం"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"గెస్ట్ పరికరం (మీడియాకు మాత్రమే)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"ఆడియో షేరింగ్‌కు సపోర్ట్ చేస్తుంది"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"గెస్ట్ పరికరం. ఆడియో షేరింగ్‌కు సపోర్ట్ చేస్తుంది"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"యాక్టివ్ (మీడియా మాత్రమే), ఎడమ వైపు మాత్రమే"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"యాక్టివ్ (మీడియా మాత్రమే), కుడివైపు మాత్రమే"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"యాక్టివ్ (మీడియా మాత్రమే), ఎడమ, కుడివైపు మాత్రమే"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"హార్డ్‌వేర్ యాగ్జిలరేషన్ ఆధారిత రెండరింగ్"</string>
     <string name="media_category" msgid="8122076702526144053">"మీడియా"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"పర్యవేక్షణ"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"విండో మేనేజ్‌మెంట్"</string>
     <string name="strict_mode" msgid="889864762140862437">"స్ట్రిక్ట్ మోడ్ ఎనేబుల్డ్"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"యాప్‌లు ప్రధాన థ్రెడ్‌లో సుదీర్ఘ చర్యలు చేసేటప్పుడు స్క్రీన్‌ను ఫ్లాష్ చేయండి"</string>
     <string name="pointer_location" msgid="7516929526199520173">"పాయింటర్ లొకేషన్"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"వెబ్ వీక్షణ అమలు"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"వెబ్ వీక్షణ అమలుని సెట్ చేయండి"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"ఈ ఎంపిక ఇప్పుడు లేదు. మళ్లీ ట్రై చేయండి."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"వెబ్ వీక్షణ DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"వెబ్ వీక్షణ ప్యాకేజీ కనుగొనబడలేదు."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevToolsను లాంచ్ చేయడం సాధ్యపడలేదు."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"చిత్రం రంగు మోడ్"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB ఉపయోగిస్తుంది"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"డిజేబుల్ చేయబడింది"</string>
diff --git a/packages/SettingsLib/res/values-th/strings.xml b/packages/SettingsLib/res/values-th/strings.xml
index eaf256d..e360ae6 100644
--- a/packages/SettingsLib/res/values-th/strings.xml
+++ b/packages/SettingsLib/res/values-th/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"อัปเดตเสียงแวดล้อมไม่ได้"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"ใช้งานอยู่ (สื่อเท่านั้น) แบตเตอรี่ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"ใช้งานอยู่ (สื่อเท่านั้น) แบตเตอรี่ข้างซ้าย: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ข้างขวา: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"อุปกรณ์ของผู้มาเยือน แบตเตอรี่ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"อุปกรณ์ของผู้มาเยือน L: แบตเตอรี่ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: แบตเตอรี่ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"อุปกรณ์ของผู้มาเยือน (สื่อเท่านั้น) แบตเตอรี่ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"อุปกรณ์ของผู้มาเยือน (สื่อเท่านั้น) L: แบตเตอรี่ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: แบตเตอรี่ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"เชื่อมต่อแล้ว (รองรับการแชร์เสียง) แบตเตอรี่ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"เชื่อมต่อแล้ว (รองรับการแชร์เสียง) แบตเตอรี่ข้างซ้าย: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, ข้างขวา: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"เชื่อมต่อแล้ว (รองรับการแชร์เสียง) ซ้าย: แบตเตอรี่ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"เชื่อมต่อแล้ว (รองรับการแชร์เสียง) ขวา: แบตเตอรี่ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"เชื่อมต่อแล้ว (รองรับการแชร์เสียง)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"อุปกรณ์ของผู้มาเยือน (รองรับการแชร์เสียง) แบตเตอรี่ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"อุปกรณ์ของผู้มาเยือน (รองรับการแชร์เสียง) L: แบตเตอรี่ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: แบตเตอรี่ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"อุปกรณ์ของผู้มาเยือน (รองรับการแชร์เสียง)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"ใช้งานอยู่ (สื่อเท่านั้น)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"อุปกรณ์ของผู้มาเยือน"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"อุปกรณ์ของผู้มาเยือน (สื่อเท่านั้น)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"รองรับการแชร์เสียง"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"อุปกรณ์ของผู้มาเยือน รองรับการแชร์เสียง"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"ใช้งานอยู่ (สื่อเท่านั้น), ซ้ายเท่านั้น"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"ใช้งานอยู่ (สื่อเท่านั้น), ขวาเท่านั้น"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"ใช้งานอยู่ (สื่อเท่านั้น), ซ้ายและขวา"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"การแสดงผลที่มีการเร่งด้วยฮาร์ดแวร์"</string>
     <string name="media_category" msgid="8122076702526144053">"สื่อ"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"การตรวจสอบ"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"การจัดการหน้าต่าง"</string>
     <string name="strict_mode" msgid="889864762140862437">"เปิดใช้งานโหมดเข้มงวด"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"กะพริบหน้าจอเมื่อแอปทำงานในเทรดหลักนาน"</string>
     <string name="pointer_location" msgid="7516929526199520173">"ตำแหน่งของตัวชี้"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"การใช้งาน WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"ตั้งค่าการใช้งาน WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"ตัวเลือกนี้ใช้ไม่ได้อีกต่อไป โปรดลองอีกครั้ง"</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"เครื่องมือสำหรับนักพัฒนาเว็บของ WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"ไม่พบแพ็กเกจ WebView"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"เปิดเครื่องมือสำหรับนักพัฒนาเว็บไม่ได้"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"โหมดสีของรูปภาพ"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"ใช้ sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"ปิดใช้"</string>
diff --git a/packages/SettingsLib/res/values-tl/strings.xml b/packages/SettingsLib/res/values-tl/strings.xml
index b6d8d19..09f40c7 100644
--- a/packages/SettingsLib/res/values-tl/strings.xml
+++ b/packages/SettingsLib/res/values-tl/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Hindi ma-update ang paligid"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Aktibo (media lang). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterya."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Aktibo (media lang). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterya."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Device ng bisita. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterya."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Device ng bisita. L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterya."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Device ng bisita (media lang). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterya."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Device ng bisita (media lang). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterya."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Nakakonekta (sinusuportahan ang pag-share ng audio), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterya."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Nakakonekta (sinusuportahan ang pag-share ng audio). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterya."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Nakakonekta (sinusuportahan ang pag-share ng audio). Kaliwa: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterya."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Nakakonekta (sinusuportahan ang pag-share ng audio). Kanan: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterya."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Nakakonekta (sinusuportahan ang pag-share ng audio)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Device ng bisita (sinusuportahan ang pag-share ng audio). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> baterya."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Device ng bisita (sinusuportahan ang pag-share ng audio). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> baterya."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Device ng bisita (sinusuportahan ang pag-share ng audio)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Aktibo (media lang)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Device ng bisita"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Device ng bisita (media lang)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Sinusuportahan ang pag-share ng audio"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Device ng bisita. Sinusuportahan ang pag-share ng audio"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Aktibo (media lang), kaliwa lang"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Aktibo (media lang), kanan lang"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Aktibo (media lang), kaliwa at kanan"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Pag-render na pinapabilis ng hardware"</string>
     <string name="media_category" msgid="8122076702526144053">"Media"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Pagsubaybay"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Pamamahala sa Window"</string>
     <string name="strict_mode" msgid="889864762140862437">"Enabled ang strict mode"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"I-flash ang screen pag may long ops ang app sa main thread"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Lokasyon ng pointer"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Pagpapatupad sa WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Itakda ang pagpapatupad sa WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Wala nang bisa ang napiling ito. Subukang muli."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"DevTools ng WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Hindi nakita ang WebView package."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Hindi mailunsad ang DevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Mode ng kulay ng larawan"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Gamitin ang sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Naka-disable"</string>
diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml
index c4cbaf6..19b3baf 100644
--- a/packages/SettingsLib/res/values-tr/strings.xml
+++ b/packages/SettingsLib/res/values-tr/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Çevredeki sesler güncellenemedi"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Etkin (yalnızca medya). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> pil seviyesi."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Etkin (yalnızca medya). Sol: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Sağ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> pil seviyesi."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Misafir cihaz. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> pil seviyesi."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Misafir cihaz. Sol: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Sağ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> pil seviyesi."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Misafir cihaz (yalnızca medya). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> pil seviyesi."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Misafir cihaz (yalnızca medya). Sol: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Sağ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> pil seviyesi."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Bağlı (ses paylaşımını destekler). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> pil seviyesi."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Bağlı (ses paylaşımını destekler). Sol: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Sağ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> pil seviyesi."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Bağlı (ses paylaşımını destekler). Sol: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> pil seviyesi."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Bağlı (ses paylaşımını destekler). Sağ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> pil seviyesi."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Bağlı (ses paylaşımını destekler)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Misafir cihaz (ses paylaşımını destekler). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> pil seviyesi."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Misafir cihaz (ses paylaşımını destekler). Sol: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, Sağ: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> pil seviyesi."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Misafir cihaz (ses paylaşımını destekler)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Etkin (yalnızca medya)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Misafir cihaz"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Misafir cihaz (yalnızca medya)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Ses paylaşımını destekler"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Misafir cihaz. Ses paylaşımını destekler"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Etkin (yalnızca medya), yalnızca sol"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Etkin (yalnızca medya), yalnızca sağ"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Etkin (yalnızca medya), sol ve sağ"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Donanım hızlandırmalı oluşturma"</string>
     <string name="media_category" msgid="8122076702526144053">"Medya"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"İzleme"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Pencere Yönetimi"</string>
     <string name="strict_mode" msgid="889864762140862437">"Yüksek düzey modu etkin"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Uygulamalar ana iş parçacığında uzun işlem yaparken ekranı yanıp söndür"</string>
     <string name="pointer_location" msgid="7516929526199520173">"İşaretçi konumu"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Web Görünümü kullanımı"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Web Görünümü kullanımını ayarla"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Bu seçenek artık geçerli değil. Tekrar deneyin."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView Geliştirici Araçları"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView paketi bulunamadı."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Geliştirici Araçları başlatılamadı."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Resim renk modu"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB\'yi kullan"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Devre dışı"</string>
diff --git a/packages/SettingsLib/res/values-uk/strings.xml b/packages/SettingsLib/res/values-uk/strings.xml
index ecff572..ff18f5c 100644
--- a/packages/SettingsLib/res/values-uk/strings.xml
+++ b/packages/SettingsLib/res/values-uk/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Не вдалось оновити стан оточення"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Активне з’єднання (лише для мультимедіа). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> заряду акумулятора."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Активне з’єднання (лише для мультимедіа). Рівень заряду: лівий <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, правий: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Гостьовий пристрій. <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> заряду акумулятора."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Гостьовий пристрій. Лівий: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, правий: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> заряду акумулятора."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Гостьовий пристрій (лише для мультимедіа). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> заряду акумулятора."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Гостьовий пристрій (лише для мультимедіа). Лівий: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, правий: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> заряду акумулятора."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Підключено (підтримує надсилання аудіо). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> заряду акумулятора."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Підключено (підтримує надсилання аудіо). Лівий: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, правий: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> заряду акумулятора."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Підключено (підтримує надсилання аудіо). Лівий: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> заряду акумулятора."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Підключено (підтримує надсилання аудіо). Правий: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> заряду акумулятора."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Підключено (підтримує надсилання аудіо)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Гостьовий пристрій (підтримує надсилання аудіо). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> заряду акумулятора."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Гостьовий пристрій (підтримує надсилання аудіо). Лівий: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, правий: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> заряду акумулятора."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Гостьовий пристрій (підтримує надсилання аудіо)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Активно (лише для мультимедіа)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Гостьовий пристрій"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Гостьовий пристрій (лише для мультимедіа)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Підтримує надсилання аудіо"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Гостьовий пристрій. Підтримує надсилання аудіо."</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Активно (лише для мультимедіа); лише лівий"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Активно (лише для мультимедіа); лише правий"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Активно (лише для мультимедіа); лівий і правий"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Апаратне прискорення"</string>
     <string name="media_category" msgid="8122076702526144053">"Медіа"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Моніторинг"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Керування вікнами"</string>
     <string name="strict_mode" msgid="889864762140862437">"Строгий режим увімкнено"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Підсвічувати екран під час довгострокових операцій"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Розташування курсора"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Застосування WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Налаштувати застосування WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Ця опція більше не дійсна. Повторіть спробу."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Інструменти розробника WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Пакет WebView не знайдено."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Не вдалося запустити Інструменти розробника."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Режим кольору"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Використовувати sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Вимкнено"</string>
diff --git a/packages/SettingsLib/res/values-ur/strings.xml b/packages/SettingsLib/res/values-ur/strings.xml
index 3407114..a07a341 100644
--- a/packages/SettingsLib/res/values-ur/strings.xml
+++ b/packages/SettingsLib/res/values-ur/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"اطراف کو اپ ڈیٹ نہیں کیا جا سکا"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"فعال (صرف میڈیا)۔ <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> بیٹری۔"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"‏فعال (صرف میڈیا)۔ L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>، ‏R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> بیٹری۔"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"مہمان آلہ۔ ‫<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> بیٹری۔"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"مہمان آلہ۔ بایاں: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>، دایاں: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> بیٹری۔"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"مہمان آلہ (صرف میڈیا)۔ ‫<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> بیٹری۔"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"مہمان آلہ (صرف میڈیا)۔ بایاں: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>، دایاں: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> بیٹری۔"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"‏منسلک ہے (آڈیو کے اشتراک کو سپورٹ کرتا ہے)۔ ‎<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> بیٹری۔"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"‏منسلک ہے (آڈیو کے اشتراک کو سپورٹ کرتا ہے)۔ L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>، ‏R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> بیٹری۔"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"منسلک ہے (آڈیو کے اشتراک کو سپورٹ کرتا ہے)۔ بائيں: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> بیٹری۔"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"منسلک ہے (آڈیو کے اشتراک کو سپورٹ کرتا ہے)۔ دائيں: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> بیٹری۔"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"منسلک ہے (آڈیو کے اشتراک کو سپورٹ کرتا ہے)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"مہمان آلہ (آڈیو کے اشتراک کو سپورٹ کرتا ہے)۔ ‫<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> بیٹری۔"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"مہمان آلہ (آڈیو کے اشتراک کو سپورٹ کرتا ہے)۔ بایاں: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>، دایاں: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> بیٹری۔"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"مہمان آلہ (آڈیو کے اشتراک کو سپورٹ کرتا ہے)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"فعال (صرف میڈیا)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"مہمان آلہ"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"مہمان آلہ (صرف میڈیا)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"آڈیو کے اشتراک کو سپورٹ کرتا ہے"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"مہمان آلہ۔ آڈیو کے اشتراک کو سپورٹ کرتا ہے"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"فعال (صرف میڈیا)، صرف بائیں"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"فعال (صرف میڈیا)، صرف دائیں"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"فعال (صرف میڈیا)، بائیں اور دائیں"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"ہارڈ ویئر کے ذریعے تیز کردہ رینڈرنگ"</string>
     <string name="media_category" msgid="8122076702526144053">"میڈیا"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"مانیٹر کرنا"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"ونڈو کا نظم و نسق"</string>
     <string name="strict_mode" msgid="889864762140862437">"سخت وضع فعال ہے"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"ایپس کے اصل تھریڈ پر طویل اعمال انجام دیتے وقت اسکرین کو فلیش کریں"</string>
     <string name="pointer_location" msgid="7516929526199520173">"پوائنٹر مقام"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"‏WebView کا نفاذ"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"‏WebView کا نفاذ سیٹ کریں"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"یہ انتخاب اب درست نہیں رہا۔ دوبارہ کوشش کریں۔"</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"‏‫WebView پیکیج نہیں ملا۔"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"‏‫DevTools کو شروع نہیں کیا جا سکا۔"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"تصویری رنگ موڈ"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"‏sRGB استعمال کریں"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"غیر فعال"</string>
diff --git a/packages/SettingsLib/res/values-uz/strings.xml b/packages/SettingsLib/res/values-uz/strings.xml
index bff7993..3a10aa8 100644
--- a/packages/SettingsLib/res/values-uz/strings.xml
+++ b/packages/SettingsLib/res/values-uz/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Atrof-muhit yangilanmadi"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Faol (faqat media uchun) Quvvat: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Faol (faqat media uchun), quvvat: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (L), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (R)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Mehmon qurilma. Quvvat: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Mehmon qurilma. Quvvat: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (L), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (R)."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Mehmon qurilma (faqat multimedia). Quvvat: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Mehmon qurilma (faqat multimedia). Quvvat: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (L), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (R)."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Ulangan (audio yuborish mumkin), quvvat: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Ulangan (audio yuborish mumkin), quvvat: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (L), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (R)"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Ulangan (audio yuborish mumkin). Quvvat: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> (chap)."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Ulangan (audio yuborish mumkin). Quvvat: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> (oʻng)."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Ulangan (audio yuborish mumkin)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Mehmon qurilma (audio ulashuvni dastaklaydi). Quvvat: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Mehmon qurilma (audio ulashuvni dastaklaydi). Quvvat: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> (L), <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> (R)."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Mehmon qurilma (audio ulashuvni dastaklaydi)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Faol (faqat media uchun)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Mehmon qurilma"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Mehmon qurilma (faqat multimedia)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Audio yuborishi mumkin"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Mehmon qurilma. Audio ulashishi mumkin"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Faol (faqat media uchun), faqat chap"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Faol (faqat media uchun), faqat oʻng"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Faol (faqat media uchun), chap va oʻng"</string>
@@ -148,7 +138,7 @@
     <string name="bluetooth_profile_opp" msgid="6692618568149493430">"Fayl uzatish"</string>
     <string name="bluetooth_profile_hid" msgid="2969922922664315866">"Kiritish qurilmasi"</string>
     <string name="bluetooth_profile_pan" msgid="1006235139308318188">"Internetga ulanish"</string>
-    <string name="bluetooth_profile_pbap" msgid="2103406516858653017">"Chaqiruv va kontaktlarga ruxsat berilsinmi?"</string>
+    <string name="bluetooth_profile_pbap" msgid="2103406516858653017">"Kontaktlar va chaqiruv tarixiga ruxsat berish"</string>
     <string name="bluetooth_profile_pbap_summary" msgid="402819589201138227">"Maʼlumotlar chaqiruvlar haqida xabar berish uchun ishlatiladi"</string>
     <string name="bluetooth_profile_pan_nap" msgid="7871974753822470050">"Internet aloqasi ulashmasi"</string>
     <string name="bluetooth_profile_map" msgid="8907204701162107271">"SMS xabarlari"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Vizualizatsiyani apparatli tezlatish"</string>
     <string name="media_category" msgid="8122076702526144053">"Multimedia"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Monitoring"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Oyna boshqaruvi"</string>
     <string name="strict_mode" msgid="889864762140862437">"Qat’iy rejim yoqilgan"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Uzun amallar vaqtida ekranni miltillatish"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Kursor joylashuvi"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView ta’minotchisi"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"WebView ta’minotchisini sozlash"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Bu variant endi yaroqsiz. Qaytadan urining."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"WebView paketi topilmadi."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"DevTools ishga tushirilmadi."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Rang rejimi"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"sRGB ranglaridan foydalanish"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Oʻchiq"</string>
diff --git a/packages/SettingsLib/res/values-vi/strings.xml b/packages/SettingsLib/res/values-vi/strings.xml
index cb0a875a..6095e8c 100644
--- a/packages/SettingsLib/res/values-vi/strings.xml
+++ b/packages/SettingsLib/res/values-vi/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Không cập nhật được âm lượng xung quanh"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Đang hoạt động (chỉ phát nội dung đa phương tiện). Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> pin."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Đang hoạt động (chỉ phát nội dung đa phương tiện). Bên trái: Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> pin. Bên phải: Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> pin."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Thiết bị khách. Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> pin."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Thiết bị khách. Bên trái: Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> pin. Bên phải: Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> pin."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Thiết bị khách (chỉ dành cho nội dung nghe nhìn). Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> pin."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Thiết bị khách (chỉ dành cho nội dung nghe nhìn). Bên trái: Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> pin. Bên phải: Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> pin."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Đã kết nối (có hỗ trợ tính năng chia sẻ âm thanh). Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> pin."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Đã kết nối (có hỗ trợ tính năng chia sẻ âm thanh). Bên trái: Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> pin. Bên phải: Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> pin."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Đã kết nối (có hỗ trợ tính năng chia sẻ âm thanh). Bên trái: Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> pin."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Đã kết nối (có hỗ trợ tính năng chia sẻ âm thanh). Bên phải: Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> pin."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Đã kết nối (có hỗ trợ tính năng chia sẻ âm thanh)."</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Thiết bị khách (hỗ trợ tính năng chia sẻ âm thanh). Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> pin."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Thiết bị khách (hỗ trợ tính năng chia sẻ âm thanh). Bên trái: Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> pin. Bên phải: Còn <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> pin."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Thiết bị khách (hỗ trợ tính năng chia sẻ âm thanh)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Đang hoạt động (chỉ phát nội dung đa phương tiện)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Thiết bị khách"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Thiết bị khách (chỉ dành cho nội dung nghe nhìn)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Hỗ trợ tính năng chia sẻ âm thanh"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Thiết bị khách. Hỗ trợ tính năng chia sẻ âm thanh"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Đang hoạt động (chỉ phát nội dung đa phương tiện), chỉ dùng tai nghe bên trái"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Đang hoạt động (chỉ phát nội dung đa phương tiện), chỉ dùng tai nghe bên phải"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Đang hoạt động (chỉ phát nội dung đa phương tiện), đang dùng cả tai nghe bên trái và phải"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Kết xuất có tăng tốc phần cứng"</string>
     <string name="media_category" msgid="8122076702526144053">"Phương tiện"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Giám sát"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Quản lý cửa sổ"</string>
     <string name="strict_mode" msgid="889864762140862437">"Luôn bật chế độ nghiêm ngặt"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Màn hình nháy khi ứng dụng thực hiện các hoạt động dài trên luồng chính"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Vị trí con trỏ"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Triển khai WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Đặt triển khai WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Lựa chọn này không còn hợp lệ nữa. Hãy thử lại."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"Công cụ cho nhà phát triển WebView"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Không tìm thấy gói WebView."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Không khởi chạy được Công cụ cho nhà phát triển."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Chế độ màu của ảnh"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Sử dụng sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Đã tắt"</string>
diff --git a/packages/SettingsLib/res/values-zh-rCN/strings.xml b/packages/SettingsLib/res/values-zh-rCN/strings.xml
index f13f7d9..06379e1 100644
--- a/packages/SettingsLib/res/values-zh-rCN/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rCN/strings.xml
@@ -107,39 +107,29 @@
     <string name="tv_bluetooth_battery_level_untethered_right" msgid="8610019317279155595">"右耳机电池电量 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="bluetooth_active_no_battery_level" msgid="4155462233006205630">"使用中"</string>
     <string name="bluetooth_saved_device" msgid="4895871321722311428">"已保存的设备"</string>
-    <string name="bluetooth_hearing_aid_left_active" msgid="8330226430756799572">"使用中（仅左耳助听器）"</string>
+    <string name="bluetooth_hearing_aid_left_active" msgid="8330226430756799572">"使用中（仅左耳）"</string>
     <string name="bluetooth_hearing_aid_right_active" msgid="2244728507170385397">"使用中（仅右耳助听器）"</string>
     <string name="bluetooth_hearing_aid_left_and_right_active" msgid="4294571497939983181">"使用中（左右耳助听器）"</string>
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"无法更新周围声音"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"使用中（仅限媒体）。电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"使用中（仅限媒体）。左侧电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>，右侧电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>。"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"访客设备。电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"访客设备。左侧电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>，右侧电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>。"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"访客设备（仅限媒体）。电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"访客设备（仅限媒体）。左侧电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>，右侧电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>。"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"已连接（支持音频分享）。电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"已连接（支持音频分享）。左侧电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>，右侧电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>。"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"已连接（支持音频分享）。左侧电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"已连接（支持音频分享）。右侧电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"已连接（支持音频分享）"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"访客设备（支持音频分享）。电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"访客设备（支持音频分享）。左侧电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>，右侧电池电量为 <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>。"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"访客设备（支持音频分享）"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"使用中（仅限媒体）"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"访客设备"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"访客设备（仅限媒体）"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"支持音频分享"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"访客设备。支持音频分享"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"使用中（仅限媒体），仅左侧"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"使用中（仅限媒体），仅右侧"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"使用中（仅限媒体），左侧和右侧"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"硬件加速渲染"</string>
     <string name="media_category" msgid="8122076702526144053">"媒体"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"监控"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"窗口管理"</string>
     <string name="strict_mode" msgid="889864762140862437">"启用严格模式"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"应用在主线程上执行长时间操作时闪烁屏幕"</string>
     <string name="pointer_location" msgid="7516929526199520173">"指针位置"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView 实现"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"设置 WebView 实现"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"此选项已失效，请重试。"</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView 开发者工具"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"未找到 WebView 软件包。"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"无法启动开发者工具。"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"图片颜色模式"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"使用 sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"已停用"</string>
diff --git a/packages/SettingsLib/res/values-zh-rHK/strings.xml b/packages/SettingsLib/res/values-zh-rHK/strings.xml
index 14976e0..a3ae971 100644
--- a/packages/SettingsLib/res/values-zh-rHK/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rHK/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"無法更新環境聲音"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"啟用 (只限媒體)。<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> 電量。"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"啟用 (只限媒體)，左側：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> 電量，右側：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> 電量。"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"訪客裝置。<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> 電量。"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"訪客裝置。左側：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>，右側：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> 電量。"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"訪客裝置 (僅限媒體)。<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> 電量。"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"訪客裝置 (僅限媒體)。左側：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>，右側：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> 電量。"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"已連線 (支援音訊分享功能)，<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> 電量。"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"已連線 (支援音訊分享功能)，左側：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g> 電量，右側：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> 電量。"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"已連線 (支援音訊分享功能)。左側：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> 電量。"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"已連線 (支援音訊分享功能)。右側：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> 電量。"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"已連線 (支援音訊分享功能)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"訪客裝置 (支援音訊分享功能)。<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> 電量。"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"訪客裝置 (支援音訊分享功能)。左側：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>，右側：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> 電量。"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"訪客裝置 (支援音訊分享功能)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"啟用 (只限媒體)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"訪客裝置"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"訪客裝置 (僅限媒體)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"支援音訊分享功能"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"訪客裝置。支援音訊分享功能"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"左側啟用 (只限媒體)"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"右側啟用 (只限媒體)"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"右側同時啟用 (只限媒體)"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"硬件加速轉譯"</string>
     <string name="media_category" msgid="8122076702526144053">"媒體"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"監控"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"視窗管理"</string>
     <string name="strict_mode" msgid="889864762140862437">"嚴格模式已啟用"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"當應用程式在主執行緒中進行長時間作業時，讓螢幕閃爍"</string>
     <string name="pointer_location" msgid="7516929526199520173">"指標位置"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView 設置"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"設定 WebView 設置"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"此選擇已失效，請再試一次。"</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView 開發人員工具"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"找不到 WebView 套件。"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"無法啟動開發人員工具。"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"相片顏色模式"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"使用 sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"已停用"</string>
diff --git a/packages/SettingsLib/res/values-zh-rTW/strings.xml b/packages/SettingsLib/res/values-zh-rTW/strings.xml
index b65cb4f..f670088 100644
--- a/packages/SettingsLib/res/values-zh-rTW/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rTW/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"無法更新環境狀態"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"已啟用 (僅限媒體)。電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"已啟用 (僅限媒體)。左側電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>，右側電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>。"</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"訪客裝置。電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"訪客裝置。左側電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>，右側電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>。"</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"訪客裝置 (僅限媒體)。電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"訪客裝置 (僅限媒體)。左側電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>，右側電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>。"</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"已連線 (支援音訊分享)。電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"已連線 (支援音訊分享)。左側電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>，右側電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>。"</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"已連線 (支援音訊分享)。左側電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"已連線 (支援音訊分享)。右側電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"已連線 (支援音訊分享)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"訪客裝置 (支援音訊分享)。電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>。"</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"訪客裝置 (支援音訊分享)。左側電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>，右側電量：<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g>。"</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"訪客裝置 (支援音訊分享)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"啟用 (僅限媒體)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"訪客裝置"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"訪客裝置 (僅限媒體)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"支援音訊分享"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"訪客裝置。支援音訊分享"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"左側啟用 (僅限媒體)"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"右側啟用 (僅限媒體)"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"左右側同時啟用 (僅限媒體)"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"硬體加速轉譯"</string>
     <string name="media_category" msgid="8122076702526144053">"媒體"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"監控"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"視窗管理"</string>
     <string name="strict_mode" msgid="889864762140862437">"嚴格模式已啟用"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"當應用程式在主執行緒中進行長時間作業時，讓螢幕閃爍"</string>
     <string name="pointer_location" msgid="7516929526199520173">"指標位置"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"WebView 實作"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"設定 WebView 實作"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"這個選項已失效，請再試一次。"</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"WebView 開發人員工具"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"找不到 WebView 套件。"</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"無法啟動開發人員工具。"</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"螢幕色彩模式"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"使用 sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"已停用"</string>
diff --git a/packages/SettingsLib/res/values-zu/strings.xml b/packages/SettingsLib/res/values-zu/strings.xml
index 859c153..1d792a0 100644
--- a/packages/SettingsLib/res/values-zu/strings.xml
+++ b/packages/SettingsLib/res/values-zu/strings.xml
@@ -113,33 +113,23 @@
     <string name="bluetooth_hearing_device_ambient_error" msgid="6035857289108813878">"Ayikwazanga ukubuyekeza izindawo ezizungezile"</string>
     <string name="bluetooth_active_media_only_battery_level" msgid="7772517511061834073">"Iyasebenza (imidiya kuphela). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ibhethri."</string>
     <string name="bluetooth_active_media_only_battery_level_untethered" msgid="7444753133664620926">"Iyasebenza (imidiya kuphela). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ibhethri."</string>
-    <!-- no translation found for bluetooth_guest_battery_level (2820003593899467676) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered (5404013822067644960) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level (7928347900623812299) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_battery_level_untethered (4458143141394300892) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level" msgid="2820003593899467676">"Idivayisi yesivakashi. Ibhethri engu-<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered" msgid="5404013822067644960">"Idivayisi yesivakashi. L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ibhethri."</string>
+    <string name="bluetooth_guest_media_only_battery_level" msgid="7928347900623812299">"Idivayisi yomsindo (imidiya kuphela). Ibhethri engu-<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_media_only_battery_level_untethered" msgid="4458143141394300892">"Idivayisi yomsindo (imidiya kuphela). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ibhethri."</string>
     <string name="bluetooth_battery_level_lea_support" msgid="5968584103507988820">"Ixhunyiwe (isekela ukwabelana ngokuqoshiwe). <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ibhethri."</string>
     <string name="bluetooth_battery_level_untethered_lea_support" msgid="803110681688633362">"Ixhunyiwe (isekela ukwabelana ngokuqoshiwe). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ibhethri."</string>
     <string name="bluetooth_battery_level_untethered_left_lea_support" msgid="7707464334346454950">"Ixhunyiwe (isekela ukwabelana ngokuqoshiwe). Kwesokudla: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ibhethri."</string>
     <string name="bluetooth_battery_level_untethered_right_lea_support" msgid="8941549024377771038">"Ixhunyiwe (isekela ukwabelana ngokuqoshiwe). Kwesokudla: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g> ibhethri."</string>
     <string name="bluetooth_no_battery_level_lea_support" msgid="5721725041048434075">"Ixhunyiwe (isekela ukwabelana ngokuqoshiwe)"</string>
-    <!-- no translation found for bluetooth_guest_battery_level_lea_support (8098327939585013928) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_battery_level_untethered_lea_support (3701035025565668360) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_no_battery_level_lea_support (2977038548753103470) -->
-    <skip />
+    <string name="bluetooth_guest_battery_level_lea_support" msgid="8098327939585013928">"Idivayisi yesivakashi (isekela ukwabelana ngomsindo). Ibhethri engu-<xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE">%1$s</xliff:g>."</string>
+    <string name="bluetooth_guest_battery_level_untethered_lea_support" msgid="3701035025565668360">"Idivayisi yesivakashi (isekela ukwabelana ngomsindo). L: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_0">%1$s</xliff:g>, R: <xliff:g id="BATTERY_LEVEL_AS_PERCENTAGE_1">%2$s</xliff:g> ibhethri."</string>
+    <string name="bluetooth_guest_no_battery_level_lea_support" msgid="2977038548753103470">"Idivayisi yesivakashi (isekela ukwabelana ngomsindo)"</string>
     <string name="bluetooth_active_media_only_no_battery_level" msgid="71106861912593126">"Kuyasebenza (imidiya kuphela)"</string>
-    <!-- no translation found for bluetooth_guest_no_battery_level (9122974160381136920) -->
-    <skip />
-    <!-- no translation found for bluetooth_guest_media_only_no_battery_level (7666347601796705721) -->
-    <skip />
+    <string name="bluetooth_guest_no_battery_level" msgid="9122974160381136920">"Idivayisi yesivakashi"</string>
+    <string name="bluetooth_guest_media_only_no_battery_level" msgid="7666347601796705721">"Idivayisi yesivakashi (imidiya kuphela)"</string>
     <string name="bluetooth_saved_device_lea_support" msgid="7231323139968285768">"Isekela ukwabelana ngokuqoshiwe"</string>
-    <!-- no translation found for bluetooth_guest_saved_device_lea_support (5621291599518569876) -->
-    <skip />
+    <string name="bluetooth_guest_saved_device_lea_support" msgid="5621291599518569876">"Idivayisi yesivakashi. Isekela ukwabelana ngomsindo"</string>
     <string name="bluetooth_hearing_aid_media_only_left_active" msgid="1632152540901488645">"Iyasebenza (imidiya kuphela), ngakwesokunxele kuphela"</string>
     <string name="bluetooth_hearing_aid_media_only_right_active" msgid="3854140683042617230">"Kuyasebenza (imidiya kuphela), ngakwesokudla kuphela"</string>
     <string name="bluetooth_hearing_aid_media_only_left_and_right_active" msgid="1299913413062528417">"Kuyasebenza (imidiya kuphela), ngakwesokunxele nakwesokudla"</string>
@@ -396,8 +386,7 @@
     <string name="debug_hw_drawing_category" msgid="5830815169336975162">"Ukunikezelwa okusheshisiwe kwezingxenyekazi zekhompyutha"</string>
     <string name="media_category" msgid="8122076702526144053">"Imidiya"</string>
     <string name="debug_monitoring_category" msgid="1597387133765424994">"Ukwengamela"</string>
-    <!-- no translation found for window_management_category (2015535427098365170) -->
-    <skip />
+    <string name="window_management_category" msgid="2015535427098365170">"Ukuphathwa Kwewindi"</string>
     <string name="strict_mode" msgid="889864762140862437">"Imodi eqinile ivumelwe"</string>
     <string name="strict_mode_summary" msgid="1838248687233554654">"Ukuphazimisa isikrini uma izinhlelo zokusebenza ziyenza umsebenzi ngesikhathi eside kuchungechunge olukhulu"</string>
     <string name="pointer_location" msgid="7516929526199520173">"Isikhombi sendawo"</string>
@@ -492,12 +481,9 @@
     <string name="select_webview_provider_title" msgid="3917815648099445503">"Ukufakwa ke-WebView"</string>
     <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Sesba ukufakwa kwe-WebView"</string>
     <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Lokhu kukhetha akusavumelekile. Zama futhi."</string>
-    <!-- no translation found for webview_launch_devtools_title (8009687433555367112) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_package (3182544553665113721) -->
-    <skip />
-    <!-- no translation found for webview_launch_devtools_no_activity (4066006313619617140) -->
-    <skip />
+    <string name="webview_launch_devtools_title" msgid="8009687433555367112">"IWebView DevTools"</string>
+    <string name="webview_launch_devtools_no_package" msgid="3182544553665113721">"Iphakheji yeWebView ayitholwanga."</string>
+    <string name="webview_launch_devtools_no_activity" msgid="4066006313619617140">"Ayikwazanga ukuqalisa iDevTools."</string>
     <string name="picture_color_mode" msgid="1013807330552931903">"Imodi yombala wesithombe"</string>
     <string name="picture_color_mode_desc" msgid="151780973768136200">"Sebenzisa i-sRGB"</string>
     <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Kukhutshaziwe"</string>
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothUtils.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothUtils.java
index 522a436..31948e4 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothUtils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/BluetoothUtils.java
@@ -23,6 +23,7 @@
 import android.graphics.Canvas;
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
+import android.hardware.input.InputManager;
 import android.media.AudioDeviceAttributes;
 import android.media.AudioDeviceInfo;
 import android.media.AudioManager;
@@ -34,6 +35,7 @@
 import android.text.TextUtils;
 import android.util.Log;
 import android.util.Pair;
+import android.view.InputDevice;
 
 import androidx.annotation.DrawableRes;
 import androidx.annotation.NonNull;
@@ -1054,7 +1056,7 @@
 
     /** Get develop option value for audio sharing preview. */
     @WorkerThread
-    private static boolean getAudioSharingPreviewValue(@Nullable ContentResolver contentResolver) {
+    public static boolean getAudioSharingPreviewValue(@Nullable ContentResolver contentResolver) {
         if (contentResolver == null) return false;
         return Settings.Global.getInt(
                 contentResolver,
@@ -1193,4 +1195,53 @@
         }
         device.setMetadata(METADATA_FAST_PAIR_CUSTOMIZED_FIELDS, fastPairCustomizedMeta.getBytes());
     }
+
+    /**
+     * Returns the {@link InputDevice} of the given bluetooth address if the device is a input
+     * device.
+     *
+     * @param address The address of the bluetooth device
+     * @return The {@link InputDevice} of the given address if applicable
+     */
+    @Nullable
+    public static InputDevice getInputDevice(Context context, String address) {
+        InputManager im = context.getSystemService(InputManager.class);
+
+        if (im != null) {
+            for (int deviceId : im.getInputDeviceIds()) {
+                String btAddress = im.getInputDeviceBluetoothAddress(deviceId);
+
+                if (btAddress != null && btAddress.equals(address)) {
+                    return im.getInputDevice(deviceId);
+                }
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Identifies whether a device is a stylus using the associated {@link InputDevice} or
+     * {@link CachedBluetoothDevice}.
+     * InputDevices are only available when the device is USI or Bluetooth-connected, whereas
+     * CachedBluetoothDevices are available for Bluetooth devices when connected or paired,
+     * so to handle all cases, both are needed.
+     *
+     * @param inputDevice           The associated input device of the stylus
+     * @param cachedBluetoothDevice The associated bluetooth device of the stylus
+     */
+    public static boolean isDeviceStylus(@Nullable InputDevice inputDevice,
+            @Nullable CachedBluetoothDevice cachedBluetoothDevice) {
+        if (inputDevice != null && inputDevice.supportsSource(InputDevice.SOURCE_STYLUS)) {
+            return true;
+        }
+
+        if (cachedBluetoothDevice != null) {
+            BluetoothDevice bluetoothDevice = cachedBluetoothDevice.getDevice();
+            String deviceType = BluetoothUtils.getStringMetaData(bluetoothDevice,
+                    BluetoothDevice.METADATA_DEVICE_TYPE);
+            return TextUtils.equals(deviceType, BluetoothDevice.DEVICE_TYPE_STYLUS);
+        }
+
+        return false;
+    }
 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcast.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcast.java
index 367e38e..f18a2da 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcast.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcast.java
@@ -149,8 +149,8 @@
     private ContentResolver mContentResolver;
     private ContentObserver mSettingsObserver;
     // Cached broadcast callbacks being register before service is connected.
-    private Map<BluetoothLeBroadcast.Callback, Executor> mCachedBroadcastCallbackExecutorMap =
-            new ConcurrentHashMap<>();
+    private ConcurrentHashMap<BluetoothLeBroadcast.Callback, Executor>
+            mCachedBroadcastCallbackExecutorMap = new ConcurrentHashMap<>();
 
     private final ServiceListener mServiceListener =
             new ServiceListener() {
@@ -880,7 +880,7 @@
             @NonNull @CallbackExecutor Executor executor,
             @NonNull BluetoothLeBroadcast.Callback callback) {
         if (mServiceBroadcast == null) {
-            Log.d(TAG, "registerServiceCallBack failed, the BluetoothLeBroadcast is null.");
+            Log.d(TAG, "registerServiceCallBack failed, proxy not attached.");
             mCachedBroadcastCallbackExecutorMap.putIfAbsent(callback, executor);
             return;
         }
@@ -902,10 +902,7 @@
             @NonNull @CallbackExecutor Executor executor,
             @NonNull BluetoothLeBroadcastAssistant.Callback callback) {
         if (mServiceBroadcastAssistant == null) {
-            Log.d(
-                    TAG,
-                    "registerBroadcastAssistantCallback failed, "
-                            + "the BluetoothLeBroadcastAssistant is null.");
+            Log.d(TAG, "registerBroadcastAssistantCallback failed, proxy not attached.");
             return;
         }
 
@@ -920,7 +917,7 @@
     public void unregisterServiceCallBack(@NonNull BluetoothLeBroadcast.Callback callback) {
         mCachedBroadcastCallbackExecutorMap.remove(callback);
         if (mServiceBroadcast == null) {
-            Log.d(TAG, "unregisterServiceCallBack failed, the BluetoothLeBroadcast is null.");
+            Log.d(TAG, "unregisterServiceCallBack failed, proxy not attached.");
             return;
         }
 
@@ -939,10 +936,7 @@
     private void unregisterBroadcastAssistantCallback(
             @NonNull BluetoothLeBroadcastAssistant.Callback callback) {
         if (mServiceBroadcastAssistant == null) {
-            Log.d(
-                    TAG,
-                    "unregisterBroadcastAssistantCallback, "
-                            + "the BluetoothLeBroadcastAssistant is null.");
+            Log.d(TAG, "unregisterBroadcastAssistantCallback, proxy not attched.");
             return;
         }
 
@@ -1140,7 +1134,9 @@
 
     /** Update fallback active device if needed. */
     public void updateFallbackActiveDeviceIfNeeded() {
-        if (Flags.disableAudioSharingAutoPickFallbackInUi()) {
+        if (Flags.disableAudioSharingAutoPickFallbackInUi() || (mContext != null
+                && Flags.audioSharingDeveloperOption()
+                && BluetoothUtils.getAudioSharingPreviewValue(mContext.getContentResolver()))) {
             Log.d(TAG, "Skip updateFallbackActiveDeviceIfNeeded, disable flag is on");
             return;
         }
diff --git a/packages/SettingsLib/src/com/android/settingslib/connectivity/OWNERS b/packages/SettingsLib/src/com/android/settingslib/connectivity/OWNERS
index 9f15c1b..b676d8d 100644
--- a/packages/SettingsLib/src/com/android/settingslib/connectivity/OWNERS
+++ b/packages/SettingsLib/src/com/android/settingslib/connectivity/OWNERS
@@ -1,6 +1,5 @@
 # Default reviewers for this and subdirectories.
 andychou@google.com
-arcwang@google.com
 changbetty@google.com
 qal@google.com
 wengsu@google.com
diff --git a/packages/SettingsLib/src/com/android/settingslib/qrcode/OWNERS b/packages/SettingsLib/src/com/android/settingslib/qrcode/OWNERS
index 372eb81..921ffed 100644
--- a/packages/SettingsLib/src/com/android/settingslib/qrcode/OWNERS
+++ b/packages/SettingsLib/src/com/android/settingslib/qrcode/OWNERS
@@ -1,5 +1,4 @@
 # Default reviewers for this and subdirectories.
-bonianchen@google.com
 changbetty@google.com
 wengsu@google.com
 zoeychen@google.com
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/AmbientVolumeControllerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/AmbientVolumeControllerTest.java
index abc1d226..e4381ae 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/AmbientVolumeControllerTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/AmbientVolumeControllerTest.java
@@ -26,6 +26,7 @@
 
 import android.bluetooth.AudioInputControl;
 import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 
 import androidx.test.core.app.ApplicationProvider;
@@ -67,6 +68,9 @@
     @Before
     public void setUp() {
         when(mProfileManager.getVolumeControlProfile()).thenReturn(mVolumeControlProfile);
+        when(mVolumeControlProfile.isProfileReady()).thenReturn(true);
+        when(mVolumeControlProfile.getConnectionStatus(mDevice)).thenReturn(
+                BluetoothProfile.STATE_CONNECTED);
         when(mDevice.getAddress()).thenReturn(TEST_ADDRESS);
         when(mDevice.isConnected()).thenReturn(true);
         mVolumeController = new AmbientVolumeController(mProfileManager, mCallback);
@@ -74,8 +78,6 @@
 
     @Test
     public void onServiceConnected_notifyCallback() {
-        when(mVolumeControlProfile.isProfileReady()).thenReturn(true);
-
         mVolumeController.onServiceConnected();
 
         verify(mCallback).onVolumeControlServiceConnected();
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/BluetoothUtilsTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/BluetoothUtilsTest.java
index ebe6128..0325c0e 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/BluetoothUtilsTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/BluetoothUtilsTest.java
@@ -15,7 +15,9 @@
  */
 package com.android.settingslib.bluetooth;
 
+import static com.android.settingslib.bluetooth.BluetoothUtils.getInputDevice;
 import static com.android.settingslib.bluetooth.BluetoothUtils.isAvailableAudioSharingMediaBluetoothDevice;
+import static com.android.settingslib.bluetooth.BluetoothUtils.isDeviceStylus;
 import static com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast.UNKNOWN_VALUE_PLACEHOLDER;
 import static com.android.settingslib.flags.Flags.FLAG_ENABLE_DETERMINING_ADVANCED_DETAILS_HEADER_WITH_METADATA;
 
@@ -42,6 +44,7 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.graphics.drawable.Drawable;
+import android.hardware.input.InputManager;
 import android.media.AudioDeviceAttributes;
 import android.media.AudioDeviceInfo;
 import android.media.AudioManager;
@@ -51,6 +54,7 @@
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.provider.Settings;
 import android.util.Pair;
+import android.view.InputDevice;
 
 import com.android.internal.R;
 import com.android.settingslib.flags.Flags;
@@ -97,14 +101,18 @@
     @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
     @Mock private CachedBluetoothDeviceManager mDeviceManager;
     @Mock private BluetoothLeBroadcastReceiveState mLeBroadcastReceiveState;
+    @Mock
+    private InputManager mInputManager;
 
     private Context mContext;
     private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+    private final InputDevice mInputDevice = mock(InputDevice.class);
     private static final String STRING_METADATA = "string_metadata";
     private static final String LE_AUDIO_SHARING_METADATA = "le_audio_sharing";
     private static final String BOOL_METADATA = "true";
     private static final String INT_METADATA = "25";
     private static final int METADATA_FAST_PAIR_CUSTOMIZED_FIELDS = 25;
+    private static final int TEST_DEVICE_ID = 123;
     private static final String KEY_HEARABLE_CONTROL_SLICE = "HEARABLE_CONTROL_SLICE_WITH_WIDTH";
     private static final String CONTROL_METADATA =
             "<HEARABLE_CONTROL_SLICE_WITH_WIDTH>"
@@ -115,6 +123,7 @@
     private static final String FAKE_TEMP_BOND_METADATA = "<TEMP_BOND_TYPE>fake</TEMP_BOND_TYPE>";
     private static final String TEST_EXCLUSIVE_MANAGER_PACKAGE = "com.test.manager";
     private static final String TEST_EXCLUSIVE_MANAGER_COMPONENT = "com.test.manager/.component";
+    private static final String TEST_ADDRESS = "11:22:33:44:55:66";
     private static final int TEST_BROADCAST_ID = 25;
 
     @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
@@ -134,6 +143,10 @@
         when(mA2dpProfile.getProfileId()).thenReturn(BluetoothProfile.A2DP);
         when(mLeAudioProfile.getProfileId()).thenReturn(BluetoothProfile.LE_AUDIO);
         when(mHearingAid.getProfileId()).thenReturn(BluetoothProfile.HEARING_AID);
+        when(mContext.getSystemService(InputManager.class)).thenReturn(mInputManager);
+        when(mInputManager.getInputDeviceIds()).thenReturn(new int[]{TEST_DEVICE_ID});
+        when(mInputManager.getInputDeviceBluetoothAddress(TEST_DEVICE_ID)).thenReturn(TEST_ADDRESS);
+        when(mInputManager.getInputDevice(TEST_DEVICE_ID)).thenReturn(mInputDevice);
     }
 
     @Test
@@ -1097,9 +1110,8 @@
 
     @Test
     public void getAudioDeviceAttributesForSpatialAudio_bleHeadset() {
-        String address = "11:22:33:44:55:66";
         when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
-        when(mCachedBluetoothDevice.getAddress()).thenReturn(address);
+        when(mCachedBluetoothDevice.getAddress()).thenReturn(TEST_ADDRESS);
         when(mCachedBluetoothDevice.getProfiles()).thenReturn(List.of(mLeAudioProfile));
         when(mLeAudioProfile.isEnabled(mBluetoothDevice)).thenReturn(true);
 
@@ -1112,14 +1124,13 @@
                         new AudioDeviceAttributes(
                                 AudioDeviceAttributes.ROLE_OUTPUT,
                                 AudioDeviceInfo.TYPE_BLE_HEADSET,
-                                address));
+                                TEST_ADDRESS));
     }
 
     @Test
     public void getAudioDeviceAttributesForSpatialAudio_bleSpeaker() {
-        String address = "11:22:33:44:55:66";
         when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
-        when(mCachedBluetoothDevice.getAddress()).thenReturn(address);
+        when(mCachedBluetoothDevice.getAddress()).thenReturn(TEST_ADDRESS);
         when(mCachedBluetoothDevice.getProfiles()).thenReturn(List.of(mLeAudioProfile));
         when(mLeAudioProfile.isEnabled(mBluetoothDevice)).thenReturn(true);
 
@@ -1132,14 +1143,14 @@
                         new AudioDeviceAttributes(
                                 AudioDeviceAttributes.ROLE_OUTPUT,
                                 AudioDeviceInfo.TYPE_BLE_SPEAKER,
-                                address));
+                                TEST_ADDRESS));
     }
 
     @Test
     public void getAudioDeviceAttributesForSpatialAudio_a2dp() {
-        String address = "11:22:33:44:55:66";
+
         when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
-        when(mCachedBluetoothDevice.getAddress()).thenReturn(address);
+        when(mCachedBluetoothDevice.getAddress()).thenReturn(TEST_ADDRESS);
         when(mCachedBluetoothDevice.getProfiles()).thenReturn(List.of(mA2dpProfile));
         when(mA2dpProfile.isEnabled(mBluetoothDevice)).thenReturn(true);
 
@@ -1152,14 +1163,13 @@
                         new AudioDeviceAttributes(
                                 AudioDeviceAttributes.ROLE_OUTPUT,
                                 AudioDeviceInfo.TYPE_BLUETOOTH_A2DP,
-                                address));
+                                TEST_ADDRESS));
     }
 
     @Test
     public void getAudioDeviceAttributesForSpatialAudio_hearingAid() {
-        String address = "11:22:33:44:55:66";
         when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
-        when(mCachedBluetoothDevice.getAddress()).thenReturn(address);
+        when(mCachedBluetoothDevice.getAddress()).thenReturn(TEST_ADDRESS);
         when(mCachedBluetoothDevice.getProfiles()).thenReturn(List.of(mHearingAid));
         when(mHearingAid.isEnabled(mBluetoothDevice)).thenReturn(true);
 
@@ -1172,7 +1182,7 @@
                         new AudioDeviceAttributes(
                                 AudioDeviceAttributes.ROLE_OUTPUT,
                                 AudioDeviceInfo.TYPE_HEARING_AID,
-                                address));
+                                TEST_ADDRESS));
     }
 
     @Test
@@ -1375,4 +1385,54 @@
         verify(mBluetoothDevice).setMetadata(METADATA_FAST_PAIR_CUSTOMIZED_FIELDS,
                 TEMP_BOND_METADATA.getBytes());
     }
+
+    @Test
+    public void getInputDevice_addressNotMatched_returnsNull() {
+        assertThat(getInputDevice(mContext, "123")).isNull();
+    }
+
+    @Test
+    public void getInputDevice_isInputDevice_returnsInputDevice() {
+        assertThat(getInputDevice(mContext, TEST_ADDRESS)).isEqualTo(mInputDevice);
+    }
+
+    @Test
+    public void isDeviceStylus_noDevices_false() {
+        assertThat(isDeviceStylus(null, null)).isFalse();
+    }
+
+    @Test
+    public void isDeviceStylus_nonStylusInputDevice_false() {
+        InputDevice inputDevice = new InputDevice.Builder()
+                .setSources(InputDevice.SOURCE_DPAD)
+                .build();
+
+        assertThat(isDeviceStylus(inputDevice, null)).isFalse();
+    }
+
+    @Test
+    public void isDeviceStylus_stylusInputDevice_true() {
+        InputDevice inputDevice = new InputDevice.Builder()
+                .setSources(InputDevice.SOURCE_STYLUS)
+                .build();
+
+        assertThat(isDeviceStylus(inputDevice, null)).isTrue();
+    }
+
+    @Test
+    public void isDeviceStylus_nonStylusBluetoothDevice_false() {
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_DEVICE_TYPE)).thenReturn(
+                BluetoothDevice.DEVICE_TYPE_WATCH.getBytes());
+
+        assertThat(isDeviceStylus(null, mCachedBluetoothDevice)).isFalse();
+    }
+
+    @Test
+    public void isDeviceStylus_stylusBluetoothDevice_true() {
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_DEVICE_TYPE)).thenReturn(
+                BluetoothDevice.DEVICE_TYPE_STYLUS.getBytes());
+        when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
+
+        assertThat(isDeviceStylus(null, mCachedBluetoothDevice)).isTrue();
+    }
 }
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManagerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManagerTest.java
index 69e99c6..94199df 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManagerTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/bluetooth/CachedBluetoothDeviceManagerTest.java
@@ -662,10 +662,10 @@
     @Test
     @RequiresFlagsEnabled(
             com.android.settingslib.flags.Flags.FLAG_HEARING_DEVICE_SET_CONNECTION_STATUS_REPORT)
-    public void onDeviceUnpaired_hearingDevice_callReportConnectionStatus() {
+    public void onDeviceUnpaired_containsHearingAidInfo_callReportConnectionStatus() {
         when(mDevice1.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
-        when(mCachedDevice1.getProfiles()).thenReturn(
-                ImmutableList.of(mHapClientProfile, mHearingAidProfile));
+        mCachedDevice1.setHearingAidInfo(
+                new HearingAidInfo.Builder().setHiSyncId(HISYNCID1).build());
 
         mCachedDeviceManager.onDeviceUnpaired(mCachedDevice1);
 
diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp
index 49cdec1..b53cb27 100644
--- a/packages/SystemUI/Android.bp
+++ b/packages/SystemUI/Android.bp
@@ -461,9 +461,9 @@
     resource_dirs: [],
     static_libs: [
         "//frameworks/libs/systemui:compilelib",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/dagger:api",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/util/settings:api",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail:impl",
+        "com.android.systemui.dagger-api",
+        "com.android.systemui.util.settings-api",
+        "com.android.systemui.retail-impl",
         "SystemUI-res",
         "WifiTrackerLib",
         "WindowManager-Shell",
@@ -751,9 +751,9 @@
     ],
     static_libs: [
         "//frameworks/libs/systemui:compilelib",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/dagger:api",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/util/settings:api",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail:impl",
+        "com.android.systemui.dagger-api",
+        "com.android.systemui.util.settings-api",
+        "com.android.systemui.retail-impl",
         "SystemUI-tests-base",
         "androidx.test.uiautomator_uiautomator",
         "androidx.core_core-animation-testing",
diff --git a/packages/SystemUI/aconfig/systemui.aconfig b/packages/SystemUI/aconfig/systemui.aconfig
index eb5b22f..f2c76ba 100644
--- a/packages/SystemUI/aconfig/systemui.aconfig
+++ b/packages/SystemUI/aconfig/systemui.aconfig
@@ -1939,6 +1939,16 @@
 }
 
 flag {
+   name: "notification_appear_nonlinear"
+   namespace: "systemui"
+   description: "Fix linear usage of notification appear"
+   bug: "397658189"
+   metadata {
+     purpose: PURPOSE_BUGFIX
+   }
+}
+
+flag {
   name: "disable_shade_trackpad_two_finger_swipe"
   namespace: "systemui"
   description: "Disables expansion of the shade via two finger swipe on a trackpad"
diff --git a/packages/SystemUI/animation/src/com/android/systemui/animation/FontInterpolator.kt b/packages/SystemUI/animation/src/com/android/systemui/animation/FontInterpolator.kt
index f8bcb81..bc75b1d 100644
--- a/packages/SystemUI/animation/src/com/android/systemui/animation/FontInterpolator.kt
+++ b/packages/SystemUI/animation/src/com/android/systemui/animation/FontInterpolator.kt
@@ -22,19 +22,8 @@
 import android.util.LruCache
 import android.util.MathUtils
 import androidx.annotation.VisibleForTesting
-import java.lang.Float.max
-import java.lang.Float.min
 import kotlin.math.roundToInt
 
-private const val TAG_WGHT = "wght"
-private const val TAG_ITAL = "ital"
-
-private const val FONT_WEIGHT_DEFAULT_VALUE = 400f
-private const val FONT_ITALIC_MAX = 1f
-private const val FONT_ITALIC_MIN = 0f
-private const val FONT_ITALIC_ANIMATION_STEP = 0.1f
-private const val FONT_ITALIC_DEFAULT_VALUE = 0f
-
 /** Caches for font interpolation */
 interface FontCache {
     val animationFrameCount: Int
@@ -91,11 +80,8 @@
 class FontInterpolator(val fontCache: FontCache = FontCacheImpl()) {
     /** Linear interpolate the font variation settings. */
     fun lerp(start: Font, end: Font, progress: Float, linearProgress: Float): Font {
-        if (progress == 0f) {
-            return start
-        } else if (progress == 1f) {
-            return end
-        }
+        if (progress <= 0f) return start
+        if (progress >= 1f) return end
 
         val startAxes = start.axes ?: EMPTY_AXES
         val endAxes = end.axes ?: EMPTY_AXES
@@ -110,7 +96,7 @@
             InterpKey(start, end, (linearProgress * fontCache.animationFrameCount).roundToInt())
         fontCache.get(iKey)?.let {
             if (DEBUG) {
-                Log.d(LOG_TAG, "[$progress] Interp. cache hit for $iKey")
+                Log.d(LOG_TAG, "[$progress, $linearProgress] Interp. cache hit for $iKey")
             }
             return it
         }
@@ -121,37 +107,16 @@
         // and also pre-fill the missing axes value with default value from 'fvar' table.
         val newAxes =
             lerp(startAxes, endAxes) { tag, startValue, endValue ->
-                when (tag) {
-                    TAG_WGHT ->
-                        MathUtils.lerp(
-                            startValue ?: FONT_WEIGHT_DEFAULT_VALUE,
-                            endValue ?: FONT_WEIGHT_DEFAULT_VALUE,
-                            progress,
-                        )
-                    TAG_ITAL ->
-                        adjustItalic(
-                            MathUtils.lerp(
-                                startValue ?: FONT_ITALIC_DEFAULT_VALUE,
-                                endValue ?: FONT_ITALIC_DEFAULT_VALUE,
-                                progress,
-                            )
-                        )
-                    else -> {
-                        require(startValue != null && endValue != null) {
-                            "Unable to interpolate due to unknown default axes value : $tag"
-                        }
-                        MathUtils.lerp(startValue, endValue, progress)
-                    }
-                }
+                MathUtils.lerp(startValue, endValue, progress)
             }
 
         // Check if we already make font for this axes. This is typically happens if the animation
-        // happens backward.
+        // happens backward and is being linearly interpolated.
         val vKey = VarFontKey(start, newAxes)
         fontCache.get(vKey)?.let {
             fontCache.put(iKey, it)
             if (DEBUG) {
-                Log.d(LOG_TAG, "[$progress] Axis cache hit for $vKey")
+                Log.d(LOG_TAG, "[$progress, $linearProgress] Axis cache hit for $vKey")
             }
             return it
         }
@@ -164,14 +129,14 @@
         fontCache.put(vKey, newFont)
 
         // Cache misses are likely to create memory leaks, so this is logged at error level.
-        Log.e(LOG_TAG, "[$progress] Cache MISS for $iKey / $vKey")
+        Log.e(LOG_TAG, "[$progress, $linearProgress] Cache MISS for $iKey / $vKey")
         return newFont
     }
 
     private fun lerp(
         start: Array<FontVariationAxis>,
         end: Array<FontVariationAxis>,
-        filter: (tag: String, left: Float?, right: Float?) -> Float,
+        filter: (tag: String, left: Float, right: Float) -> Float,
     ): List<FontVariationAxis> {
         // Safe to modify result of Font#getAxes since it returns cloned object.
         start.sortBy { axis -> axis.tag }
@@ -191,39 +156,37 @@
                     else -> tagA.compareTo(tagB)
                 }
 
-            val axis =
+            val tag =
                 when {
-                    comp == 0 -> {
-                        val v = filter(tagA!!, start[i++].styleValue, end[j++].styleValue)
-                        FontVariationAxis(tagA, v)
-                    }
-                    comp < 0 -> {
-                        val v = filter(tagA!!, start[i++].styleValue, null)
-                        FontVariationAxis(tagA, v)
-                    }
-                    else -> { // comp > 0
-                        val v = filter(tagB!!, null, end[j++].styleValue)
-                        FontVariationAxis(tagB, v)
-                    }
+                    comp == 0 -> tagA!!
+                    comp < 0 -> tagA!!
+                    else -> tagB!!
                 }
 
-            result.add(axis)
+            val axisDefinition = GSFAxes.getAxis(tag)
+            require(comp == 0 || axisDefinition != null) {
+                "Unable to interpolate due to unknown default axes value: $tag"
+            }
+
+            val axisValue =
+                when {
+                    comp == 0 -> filter(tag, start[i++].styleValue, end[j++].styleValue)
+                    comp < 0 -> filter(tag, start[i++].styleValue, axisDefinition!!.defaultValue)
+                    else -> filter(tag, axisDefinition!!.defaultValue, end[j++].styleValue)
+                }
+
+            // Round axis value to valid intermediate steps. This improves the cache hit rate.
+            val step = axisDefinition?.animationStep ?: DEFAULT_ANIMATION_STEP
+            result.add(FontVariationAxis(tag, (axisValue / step).roundToInt() * step))
         }
         return result
     }
 
-    // For the performance reasons, we animate italic with FONT_ITALIC_ANIMATION_STEP. This helps
-    // Cache hit ratio in the Skia glyph cache.
-    private fun adjustItalic(value: Float) =
-        coerceInWithStep(value, FONT_ITALIC_MIN, FONT_ITALIC_MAX, FONT_ITALIC_ANIMATION_STEP)
-
-    private fun coerceInWithStep(v: Float, min: Float, max: Float, step: Float) =
-        (v.coerceIn(min, max) / step).toInt() * step
-
     companion object {
         private const val LOG_TAG = "FontInterpolator"
         private val DEBUG = Log.isLoggable(LOG_TAG, Log.DEBUG)
         private val EMPTY_AXES = arrayOf<FontVariationAxis>()
+        private const val DEFAULT_ANIMATION_STEP = 1f
 
         // Returns true if given two font instance can be interpolated.
         fun canInterpolate(start: Font, end: Font) =
diff --git a/packages/SystemUI/animation/src/com/android/systemui/animation/FontVariationUtils.kt b/packages/SystemUI/animation/src/com/android/systemui/animation/FontVariationUtils.kt
index 9545bda..9a74687 100644
--- a/packages/SystemUI/animation/src/com/android/systemui/animation/FontVariationUtils.kt
+++ b/packages/SystemUI/animation/src/com/android/systemui/animation/FontVariationUtils.kt
@@ -1,12 +1,20 @@
-package com.android.systemui.animation
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 
-object GSFAxes {
-    const val WEIGHT = "wght"
-    const val WIDTH = "wdth"
-    const val SLANT = "slnt"
-    const val ROUND = "ROND"
-    const val OPTICAL_SIZE = "opsz"
-}
+package com.android.systemui.animation
 
 class FontVariationUtils {
     private var mWeight = -1
@@ -46,20 +54,20 @@
         }
         var resultString = ""
         if (mWeight >= 0) {
-            resultString += "'${GSFAxes.WEIGHT}' $mWeight"
+            resultString += "'${GSFAxes.WEIGHT.tag}' $mWeight"
         }
         if (mWidth >= 0) {
             resultString +=
-                (if (resultString.isBlank()) "" else ", ") + "'${GSFAxes.WIDTH}' $mWidth"
+                (if (resultString.isBlank()) "" else ", ") + "'${GSFAxes.WIDTH.tag}' $mWidth"
         }
         if (mOpticalSize >= 0) {
             resultString +=
                 (if (resultString.isBlank()) "" else ", ") +
-                    "'${GSFAxes.OPTICAL_SIZE}' $mOpticalSize"
+                    "'${GSFAxes.OPTICAL_SIZE.tag}' $mOpticalSize"
         }
         if (mRoundness >= 0) {
             resultString +=
-                (if (resultString.isBlank()) "" else ", ") + "'${GSFAxes.ROUND}' $mRoundness"
+                (if (resultString.isBlank()) "" else ", ") + "'${GSFAxes.ROUND.tag}' $mRoundness"
         }
         return if (isUpdated) resultString else ""
     }
diff --git a/packages/SystemUI/animation/src/com/android/systemui/animation/GSFAxes.kt b/packages/SystemUI/animation/src/com/android/systemui/animation/GSFAxes.kt
new file mode 100644
index 0000000..f4e0361
--- /dev/null
+++ b/packages/SystemUI/animation/src/com/android/systemui/animation/GSFAxes.kt
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2025 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.animation
+
+data class AxisDefinition(
+    val tag: String,
+    val minValue: Float,
+    val defaultValue: Float,
+    val maxValue: Float,
+    val animationStep: Float,
+)
+
+object GSFAxes {
+    val WEIGHT =
+        AxisDefinition(
+            tag = "wght",
+            minValue = 1f,
+            defaultValue = 400f,
+            maxValue = 1000f,
+            animationStep = 10f,
+        )
+
+    val WIDTH =
+        AxisDefinition(
+            tag = "wdth",
+            minValue = 25f,
+            defaultValue = 100f,
+            maxValue = 151f,
+            animationStep = 1f,
+        )
+
+    val SLANT =
+        AxisDefinition(
+            tag = "slnt",
+            minValue = 0f,
+            defaultValue = 0f,
+            maxValue = -10f,
+            animationStep = 0.1f,
+        )
+
+    val ROUND =
+        AxisDefinition(
+            tag = "ROND",
+            minValue = 0f,
+            defaultValue = 0f,
+            maxValue = 100f,
+            animationStep = 1f,
+        )
+
+    val GRADE =
+        AxisDefinition(
+            tag = "GRAD",
+            minValue = 0f,
+            defaultValue = 0f,
+            maxValue = 100f,
+            animationStep = 1f,
+        )
+
+    val OPTICAL_SIZE =
+        AxisDefinition(
+            tag = "opsz",
+            minValue = 6f,
+            defaultValue = 18f,
+            maxValue = 144f,
+            animationStep = 1f,
+        )
+
+    // Not a GSF Axis, but present for FontInterpolator compatibility
+    val ITALIC =
+        AxisDefinition(
+            tag = "ITAL",
+            minValue = 0f,
+            defaultValue = 0f,
+            maxValue = 1f,
+            animationStep = 0.1f,
+        )
+
+    private val AXIS_MAP =
+        listOf(WEIGHT, WIDTH, SLANT, ROUND, GRADE, OPTICAL_SIZE, ITALIC)
+            .map { def -> def.tag.toLowerCase() to def }
+            .toMap()
+
+    fun getAxis(axis: String): AxisDefinition? = AXIS_MAP[axis.toLowerCase()]
+}
diff --git a/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/scene/BouncerSceneModule.kt b/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/scene/BouncerOverlayModule.kt
similarity index 71%
rename from packages/SystemUI/compose/facade/enabled/src/com/android/systemui/scene/BouncerSceneModule.kt
rename to packages/SystemUI/compose/facade/enabled/src/com/android/systemui/scene/BouncerOverlayModule.kt
index 5b368df..42694243 100644
--- a/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/scene/BouncerSceneModule.kt
+++ b/packages/SystemUI/compose/facade/enabled/src/com/android/systemui/scene/BouncerOverlayModule.kt
@@ -1,5 +1,5 @@
 /*
- * Copyright 2023 The Android Open Source Project
+ * Copyright (C) 2025 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,14 +16,13 @@
 
 package com.android.systemui.scene
 
-import com.android.systemui.bouncer.ui.composable.BouncerScene
-import com.android.systemui.scene.ui.composable.Scene
+import com.android.systemui.bouncer.ui.composable.BouncerOverlay
+import com.android.systemui.scene.ui.composable.Overlay
 import dagger.Binds
 import dagger.Module
 import dagger.multibindings.IntoSet
 
 @Module
-interface BouncerSceneModule {
-
-    @Binds @IntoSet fun bouncerScene(scene: BouncerScene): Scene
+interface BouncerOverlayModule {
+    @Binds @IntoSet fun bouncer(overlay: BouncerOverlay): Overlay
 }
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerContent.kt b/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerContent.kt
index 456edaf..48e52d6 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerContent.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerContent.kt
@@ -98,7 +98,7 @@
 import com.android.systemui.bouncer.ui.BouncerDialogFactory
 import com.android.systemui.bouncer.ui.viewmodel.AuthMethodBouncerViewModel
 import com.android.systemui.bouncer.ui.viewmodel.BouncerMessageViewModel
-import com.android.systemui.bouncer.ui.viewmodel.BouncerSceneContentViewModel
+import com.android.systemui.bouncer.ui.viewmodel.BouncerOverlayContentViewModel
 import com.android.systemui.bouncer.ui.viewmodel.MessageViewModel
 import com.android.systemui.bouncer.ui.viewmodel.PasswordBouncerViewModel
 import com.android.systemui.bouncer.ui.viewmodel.PatternBouncerViewModel
@@ -118,7 +118,7 @@
 
 @Composable
 fun BouncerContent(
-    viewModel: BouncerSceneContentViewModel,
+    viewModel: BouncerOverlayContentViewModel,
     dialogFactory: BouncerDialogFactory,
     modifier: Modifier = Modifier,
 ) {
@@ -131,8 +131,8 @@
 @Composable
 @VisibleForTesting
 fun BouncerContent(
-    layout: BouncerSceneLayout,
-    viewModel: BouncerSceneContentViewModel,
+    layout: BouncerOverlayLayout,
+    viewModel: BouncerOverlayContentViewModel,
     dialogFactory: BouncerDialogFactory,
     modifier: Modifier,
 ) {
@@ -147,11 +147,12 @@
         modifier = modifier.imePadding().onKeyEvent(viewModel::onKeyEvent).scale(scale)
     ) {
         when (layout) {
-            BouncerSceneLayout.STANDARD_BOUNCER -> StandardLayout(viewModel = viewModel)
-            BouncerSceneLayout.BESIDE_USER_SWITCHER ->
+            BouncerOverlayLayout.STANDARD_BOUNCER -> StandardLayout(viewModel = viewModel)
+            BouncerOverlayLayout.BESIDE_USER_SWITCHER ->
                 BesideUserSwitcherLayout(viewModel = viewModel)
-            BouncerSceneLayout.BELOW_USER_SWITCHER -> BelowUserSwitcherLayout(viewModel = viewModel)
-            BouncerSceneLayout.SPLIT_BOUNCER -> SplitLayout(viewModel = viewModel)
+            BouncerOverlayLayout.BELOW_USER_SWITCHER ->
+                BelowUserSwitcherLayout(viewModel = viewModel)
+            BouncerOverlayLayout.SPLIT_BOUNCER -> SplitLayout(viewModel = viewModel)
         }
 
         Dialog(bouncerViewModel = viewModel, dialogFactory = dialogFactory)
@@ -163,7 +164,10 @@
  * authentication attempt, including all messaging UI (directives, reasoning, errors, etc.).
  */
 @Composable
-private fun StandardLayout(viewModel: BouncerSceneContentViewModel, modifier: Modifier = Modifier) {
+private fun StandardLayout(
+    viewModel: BouncerOverlayContentViewModel,
+    modifier: Modifier = Modifier,
+) {
     val isHeightExpanded =
         LocalWindowSizeClass.current.heightSizeClass == WindowHeightSizeClass.Expanded
 
@@ -208,7 +212,7 @@
  * by double-tapping on the side.
  */
 @Composable
-private fun SplitLayout(viewModel: BouncerSceneContentViewModel, modifier: Modifier = Modifier) {
+private fun SplitLayout(viewModel: BouncerOverlayContentViewModel, modifier: Modifier = Modifier) {
     val authMethod by viewModel.authMethodViewModel.collectAsStateWithLifecycle()
 
     Row(
@@ -297,7 +301,7 @@
  */
 @Composable
 private fun BesideUserSwitcherLayout(
-    viewModel: BouncerSceneContentViewModel,
+    viewModel: BouncerOverlayContentViewModel,
     modifier: Modifier = Modifier,
 ) {
     val isLeftToRight = LocalLayoutDirection.current == LayoutDirection.Ltr
@@ -452,7 +456,7 @@
 /** Arranges the bouncer contents and user switcher contents one on top of the other, vertically. */
 @Composable
 private fun BelowUserSwitcherLayout(
-    viewModel: BouncerSceneContentViewModel,
+    viewModel: BouncerOverlayContentViewModel,
     modifier: Modifier = Modifier,
 ) {
     Column(modifier = modifier.padding(vertical = 128.dp)) {
@@ -483,7 +487,7 @@
 
 @Composable
 private fun FoldAware(
-    viewModel: BouncerSceneContentViewModel,
+    viewModel: BouncerOverlayContentViewModel,
     aboveFold: @Composable BoxScope.() -> Unit,
     belowFold: @Composable BoxScope.() -> Unit,
     modifier: Modifier = Modifier,
@@ -606,7 +610,7 @@
  * For example, this can be the PIN shapes or password text field.
  */
 @Composable
-private fun OutputArea(viewModel: BouncerSceneContentViewModel, modifier: Modifier = Modifier) {
+private fun OutputArea(viewModel: BouncerOverlayContentViewModel, modifier: Modifier = Modifier) {
     val authMethodViewModel: AuthMethodBouncerViewModel? by
         viewModel.authMethodViewModel.collectAsStateWithLifecycle()
     when (val nonNullViewModel = authMethodViewModel) {
@@ -631,7 +635,7 @@
  */
 @Composable
 private fun InputArea(
-    viewModel: BouncerSceneContentViewModel,
+    viewModel: BouncerOverlayContentViewModel,
     pinButtonRowVerticalSpacing: Dp,
     centerPatternDotsVertically: Boolean,
     modifier: Modifier = Modifier,
@@ -659,7 +663,7 @@
 }
 
 @Composable
-private fun ActionArea(viewModel: BouncerSceneContentViewModel, modifier: Modifier = Modifier) {
+private fun ActionArea(viewModel: BouncerOverlayContentViewModel, modifier: Modifier = Modifier) {
     val actionButton: BouncerActionButtonModel? by
         viewModel.actionButton.collectAsStateWithLifecycle()
     val appearFadeInAnimatable = remember { Animatable(0f) }
@@ -723,7 +727,7 @@
 
 @Composable
 private fun Dialog(
-    bouncerViewModel: BouncerSceneContentViewModel,
+    bouncerViewModel: BouncerOverlayContentViewModel,
     dialogFactory: BouncerDialogFactory,
 ) {
     val dialogViewModel by bouncerViewModel.dialogViewModel.collectAsStateWithLifecycle()
@@ -751,7 +755,7 @@
 
 /** Renders the UI of the user switcher that's displayed on large screens next to the bouncer UI. */
 @Composable
-private fun UserSwitcher(viewModel: BouncerSceneContentViewModel, modifier: Modifier = Modifier) {
+private fun UserSwitcher(viewModel: BouncerOverlayContentViewModel, modifier: Modifier = Modifier) {
     val isUserSwitcherVisible by viewModel.isUserSwitcherVisible.collectAsStateWithLifecycle()
     if (!isUserSwitcherVisible) {
         // Take up the same space as the user switcher normally would, but with nothing inside it.
@@ -829,7 +833,7 @@
 @Composable
 private fun UserSwitcherDropdownMenu(
     isExpanded: Boolean,
-    items: List<BouncerSceneContentViewModel.UserSwitcherDropdownItemViewModel>,
+    items: List<BouncerOverlayContentViewModel.UserSwitcherDropdownItemViewModel>,
     onDismissed: () -> Unit,
 ) {
     val context = LocalContext.current
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerScene.kt b/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerOverlay.kt
similarity index 78%
rename from packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerScene.kt
rename to packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerOverlay.kt
index fad8ae7..48dee24 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerScene.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerOverlay.kt
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2023 The Android Open Source Project
+ * Copyright (C) 2025 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,19 +29,19 @@
 import com.android.compose.animation.scene.UserAction
 import com.android.compose.animation.scene.UserActionResult
 import com.android.systemui.bouncer.ui.BouncerDialogFactory
-import com.android.systemui.bouncer.ui.viewmodel.BouncerSceneContentViewModel
+import com.android.systemui.bouncer.ui.viewmodel.BouncerOverlayContentViewModel
 import com.android.systemui.bouncer.ui.viewmodel.BouncerUserActionsViewModel
 import com.android.systemui.compose.modifiers.sysuiResTag
 import com.android.systemui.dagger.SysUISingleton
-import com.android.systemui.lifecycle.ExclusiveActivatable
 import com.android.systemui.lifecycle.rememberViewModel
-import com.android.systemui.scene.shared.model.Scenes
-import com.android.systemui.scene.ui.composable.Scene
+import com.android.systemui.scene.shared.model.Overlays
+import com.android.systemui.scene.ui.composable.Overlay
 import javax.inject.Inject
 import kotlinx.coroutines.flow.Flow
 
 object Bouncer {
     object Elements {
+        val Root = ElementKey("BouncerRoot")
         val Background = ElementKey("BouncerBackground")
         val Content = ElementKey("BouncerContent")
     }
@@ -51,16 +51,16 @@
     }
 }
 
-/** The bouncer scene displays authentication challenges like PIN, password, or pattern. */
+/** The bouncer overlay displays authentication challenges like PIN, password, or pattern. */
 @SysUISingleton
-class BouncerScene
+class BouncerOverlay
 @Inject
 constructor(
     private val actionsViewModelFactory: BouncerUserActionsViewModel.Factory,
-    private val contentViewModelFactory: BouncerSceneContentViewModel.Factory,
+    private val contentViewModelFactory: BouncerOverlayContentViewModel.Factory,
     private val dialogFactory: BouncerDialogFactory,
-) : ExclusiveActivatable(), Scene {
-    override val key = Scenes.Bouncer
+) : Overlay {
+    override val key = Overlays.Bouncer
 
     private val actionsViewModel: BouncerUserActionsViewModel by lazy {
         actionsViewModelFactory.create()
@@ -68,22 +68,22 @@
 
     override val userActions: Flow<Map<UserAction, UserActionResult>> = actionsViewModel.actions
 
-    override suspend fun onActivated(): Nothing {
+    override suspend fun activate(): Nothing {
         actionsViewModel.activate()
     }
 
     @Composable
     override fun ContentScope.Content(modifier: Modifier) =
-        BouncerScene(
-            viewModel = rememberViewModel("BouncerScene") { contentViewModelFactory.create() },
+        BouncerOverlay(
+            viewModel = rememberViewModel("BouncerOverlay") { contentViewModelFactory.create() },
             dialogFactory = dialogFactory,
-            modifier = modifier,
+            modifier = modifier.element(Bouncer.Elements.Root),
         )
 }
 
 @Composable
-private fun ContentScope.BouncerScene(
-    viewModel: BouncerSceneContentViewModel,
+private fun ContentScope.BouncerOverlay(
+    viewModel: BouncerOverlayContentViewModel,
     dialogFactory: BouncerDialogFactory,
     modifier: Modifier = Modifier,
 ) {
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerSceneLayout.kt b/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerOverlayLayout.kt
similarity index 74%
rename from packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerSceneLayout.kt
rename to packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerOverlayLayout.kt
index 328fec5..8651859 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerSceneLayout.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/bouncer/ui/composable/BouncerOverlayLayout.kt
@@ -23,12 +23,12 @@
 import com.android.compose.windowsizeclass.LocalWindowSizeClass
 
 /**
- * Returns the [BouncerSceneLayout] that should be used by the bouncer scene. If
- * [isOneHandedModeSupported] is `false`, then [BouncerSceneLayout.BESIDE_USER_SWITCHER] is replaced
- * by [BouncerSceneLayout.STANDARD_BOUNCER].
+ * Returns the [BouncerOverlayLayout] that should be used by the bouncer scene. If
+ * [isOneHandedModeSupported] is `false`, then [BouncerOverlayLayout.BESIDE_USER_SWITCHER] is
+ * replaced by [BouncerOverlayLayout.STANDARD_BOUNCER].
  */
 @Composable
-fun calculateLayout(isOneHandedModeSupported: Boolean): BouncerSceneLayout {
+fun calculateLayout(isOneHandedModeSupported: Boolean): BouncerOverlayLayout {
     val windowSizeClass = LocalWindowSizeClass.current
 
     return calculateLayoutInternal(
@@ -57,7 +57,7 @@
 }
 
 /** Enumerates all known adaptive layout configurations. */
-enum class BouncerSceneLayout {
+enum class BouncerOverlayLayout {
     /** The default UI with the bouncer laid out normally. */
     STANDARD_BOUNCER,
     /** The bouncer is displayed vertically stacked with the user switcher. */
@@ -84,21 +84,21 @@
     width: SizeClass,
     height: SizeClass,
     isOneHandedModeSupported: Boolean,
-): BouncerSceneLayout {
+): BouncerOverlayLayout {
     return when (height) {
-        SizeClass.COMPACT -> BouncerSceneLayout.SPLIT_BOUNCER
+        SizeClass.COMPACT -> BouncerOverlayLayout.SPLIT_BOUNCER
         SizeClass.MEDIUM ->
             when (width) {
-                SizeClass.COMPACT -> BouncerSceneLayout.STANDARD_BOUNCER
-                SizeClass.MEDIUM -> BouncerSceneLayout.STANDARD_BOUNCER
-                SizeClass.EXPANDED -> BouncerSceneLayout.BESIDE_USER_SWITCHER
+                SizeClass.COMPACT -> BouncerOverlayLayout.STANDARD_BOUNCER
+                SizeClass.MEDIUM -> BouncerOverlayLayout.STANDARD_BOUNCER
+                SizeClass.EXPANDED -> BouncerOverlayLayout.BESIDE_USER_SWITCHER
             }
         SizeClass.EXPANDED ->
             when (width) {
-                SizeClass.COMPACT -> BouncerSceneLayout.STANDARD_BOUNCER
-                SizeClass.MEDIUM -> BouncerSceneLayout.BELOW_USER_SWITCHER
-                SizeClass.EXPANDED -> BouncerSceneLayout.BESIDE_USER_SWITCHER
+                SizeClass.COMPACT -> BouncerOverlayLayout.STANDARD_BOUNCER
+                SizeClass.MEDIUM -> BouncerOverlayLayout.BELOW_USER_SWITCHER
+                SizeClass.EXPANDED -> BouncerOverlayLayout.BESIDE_USER_SWITCHER
             }
-    }.takeIf { it != BouncerSceneLayout.BESIDE_USER_SWITCHER || isOneHandedModeSupported }
-        ?: BouncerSceneLayout.STANDARD_BOUNCER
+    }.takeIf { it != BouncerOverlayLayout.BESIDE_USER_SWITCHER || isOneHandedModeSupported }
+        ?: BouncerOverlayLayout.STANDARD_BOUNCER
 }
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/notifications/ui/composable/NotificationLockscreenScrim.kt b/packages/SystemUI/compose/features/src/com/android/systemui/notifications/ui/composable/NotificationLockscreenScrim.kt
index ef8911d..624c560 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/notifications/ui/composable/NotificationLockscreenScrim.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/notifications/ui/composable/NotificationLockscreenScrim.kt
@@ -31,6 +31,7 @@
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.compose.animation.scene.ContentScope
 import com.android.compose.animation.scene.content.state.TransitionState
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.shade.shared.model.ShadeMode
 import com.android.systemui.statusbar.notification.stack.ui.viewmodel.NotificationLockscreenScrimViewModel
@@ -100,7 +101,7 @@
 
     val isBouncerToLockscreen =
         layoutState.currentTransition?.isTransitioning(
-            from = Scenes.Bouncer,
+            from = Overlays.Bouncer,
             to = Scenes.Lockscreen,
         ) ?: false
 
@@ -120,5 +121,5 @@
     return shadeMode != ShadeMode.Dual &&
         currentTransition.isInitiatedByUserInput &&
         (currentTransition.isTransitioning(from = Scenes.Shade, to = Scenes.Lockscreen) ||
-            currentTransition.isTransitioning(from = Scenes.Bouncer, to = Scenes.Lockscreen))
+            currentTransition.isTransitioning(from = Overlays.Bouncer, to = Scenes.Lockscreen))
 }
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettings.kt b/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettings.kt
index b826187..fe5c72f 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettings.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettings.kt
@@ -135,7 +135,8 @@
                 }
             }
         is TransitionState.Transition.OverlayTransition ->
-            error("Bad transition for QuickSettings scene: overlays not supported")
+            // Currently, no overlays use this QS impl, so we should make sure it's closed.
+            QSSceneAdapter.State.CLOSED
     }
 }
 
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerInterruptionHandler.kt b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerInterruptionHandler.kt
index 7e99847..4ff7f48 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerInterruptionHandler.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerInterruptionHandler.kt
@@ -20,9 +20,11 @@
 import com.android.compose.animation.scene.InterruptionResult
 import com.android.compose.animation.scene.SceneKey
 import com.android.compose.animation.scene.content.state.TransitionState
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.scene.ui.composable.transitions.TO_BOUNCER_FADE_FRACTION
 
+// TODO(b/394632609) update this class to handle Bouncer as an Overlay
 object SceneContainerInterruptionHandler : InterruptionHandler {
     override fun onInterruption(
         interrupted: TransitionState.Transition.ChangeScene,
@@ -39,7 +41,7 @@
         transition: TransitionState.Transition.ChangeScene,
         targetScene: SceneKey,
     ): InterruptionResult? {
-        if (targetScene != Scenes.Gone || !transition.isTransitioningFromOrTo(Scenes.Bouncer)) {
+        if (targetScene != Scenes.Gone || !transition.isTransitioningFromOrTo(Overlays.Bouncer)) {
             return null
         }
 
@@ -48,7 +50,7 @@
         // usually the Lockscreen scene).
         val otherScene: SceneKey
         val animatesFromBouncer =
-            if (transition.isTransitioning(to = Scenes.Bouncer)) {
+            if (transition.isTransitioning(to = Overlays.Bouncer)) {
                 otherScene = transition.fromScene
                 transition.progress >= TO_BOUNCER_FADE_FRACTION
             } else {
@@ -58,7 +60,7 @@
 
         return if (animatesFromBouncer) {
             InterruptionResult(
-                animateFrom = Scenes.Bouncer,
+                animateFrom = Scenes.Lockscreen,
 
                 // We don't want the content of the lockscreen to be shown during the Bouncer =>
                 // Launcher transition. We disable chaining of the transitions so that only the
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt
index 2ad9b7a..7fe19fe 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/SceneContainerTransitions.kt
@@ -1,5 +1,6 @@
 package com.android.systemui.scene.ui.composable
 
+import com.android.compose.animation.scene.DefaultInterruptionHandler
 import com.android.compose.animation.scene.SceneTransitions
 import com.android.compose.animation.scene.TransitionKey
 import com.android.compose.animation.scene.reveal.ContainerRevealHaptics
@@ -29,6 +30,7 @@
 import com.android.systemui.scene.ui.composable.transitions.lockscreenToShadeTransition
 import com.android.systemui.scene.ui.composable.transitions.lockscreenToSplitShadeTransition
 import com.android.systemui.scene.ui.composable.transitions.shadeToQuickSettingsTransition
+import com.android.systemui.scene.ui.composable.transitions.toBouncerTransition
 import com.android.systemui.scene.ui.composable.transitions.toNotificationsShadeTransition
 import com.android.systemui.scene.ui.composable.transitions.toQuickSettingsShadeTransition
 import com.android.systemui.shade.ui.composable.Shade
@@ -48,12 +50,10 @@
 class SceneContainerTransitions : SceneContainerTransitionsBuilder {
     override fun build(revealHaptics: ContainerRevealHaptics): SceneTransitions {
         return transitions {
-            interruptionHandler = SceneContainerInterruptionHandler
+            interruptionHandler = DefaultInterruptionHandler
 
             // Scene transitions
 
-            from(Scenes.Bouncer, to = Scenes.Gone) { bouncerToGoneTransition() }
-            from(Scenes.Dream, to = Scenes.Bouncer) { dreamToBouncerTransition() }
             from(Scenes.Dream, to = Scenes.Communal) { dreamToCommunalTransition() }
             from(Scenes.Dream, to = Scenes.Gone) { dreamToGoneTransition() }
             from(
@@ -102,15 +102,6 @@
                 goneToQuickSettingsTransition(durationScale = 0.9)
             }
 
-            from(Scenes.Lockscreen, to = Scenes.Bouncer) { lockscreenToBouncerTransition() }
-            from(
-                Scenes.Lockscreen,
-                to = Scenes.Bouncer,
-                key = TransitionKey.PredictiveBack,
-                reversePreview = { bouncerToLockscreenPreview() },
-            ) {
-                lockscreenToBouncerTransition()
-            }
             from(Scenes.Lockscreen, to = Scenes.Communal) { lockscreenToCommunalTransition() }
             from(Scenes.Lockscreen, to = Scenes.Dream) { lockscreenToDreamTransition() }
             from(
@@ -190,10 +181,22 @@
             ) {
                 communalToShadeTransition()
             }
-            from(Scenes.Communal, to = Scenes.Bouncer) { communalToBouncerTransition() }
 
             // Overlay transitions
 
+            to(Overlays.Bouncer) { toBouncerTransition() }
+            from(Overlays.Bouncer, to = Scenes.Gone) { bouncerToGoneTransition() }
+            from(Scenes.Dream, to = Overlays.Bouncer) { dreamToBouncerTransition() }
+            from(Scenes.Lockscreen, to = Overlays.Bouncer) { lockscreenToBouncerTransition() }
+            from(
+                Scenes.Lockscreen,
+                to = Overlays.Bouncer,
+                key = TransitionKey.PredictiveBack,
+                reversePreview = { bouncerToLockscreenPreview() },
+            ) {
+                lockscreenToBouncerTransition()
+            }
+            from(Scenes.Communal, to = Overlays.Bouncer) { communalToBouncerTransition() }
             to(
                 Overlays.NotificationsShade,
                 cuj = Cuj.CUJ_NOTIFICATION_SHADE_EXPAND_COLLAPSE, // NOTYPO
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromBouncerToGoneTransition.kt b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromBouncerToGoneTransition.kt
index 5eefe49..27cdf21 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromBouncerToGoneTransition.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/scene/ui/composable/transitions/FromBouncerToGoneTransition.kt
@@ -2,10 +2,10 @@
 
 import androidx.compose.animation.core.tween
 import com.android.compose.animation.scene.TransitionBuilder
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.bouncer.ui.composable.Bouncer
 
 fun TransitionBuilder.bouncerToGoneTransition() {
     spec = tween(durationMillis = 500)
 
-    fade(Scenes.Bouncer.rootElementKey)
+    fade(Bouncer.Elements.Root)
 }
diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/OverlayShade.kt b/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/OverlayShade.kt
index cdb1e2e..7e7b629 100644
--- a/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/OverlayShade.kt
+++ b/packages/SystemUI/compose/features/src/com/android/systemui/shade/ui/composable/OverlayShade.kt
@@ -54,6 +54,7 @@
 import com.android.compose.animation.scene.LowestZIndexContentPicker
 import com.android.compose.windowsizeclass.LocalWindowSizeClass
 import com.android.systemui.res.R
+import androidx.compose.ui.unit.Dp
 
 /** Renders a lightweight shade UI container, as an overlay. */
 @Composable
@@ -202,10 +203,15 @@
     }
 
     object Dimensions {
-        val PanelCornerRadius = 46.dp
+        val PanelCornerRadius: Dp
+            @Composable
+            @ReadOnlyComposable get() =
+                dimensionResource(R.dimen.overlay_shade_panel_shape_radius)
     }
 
     object Shapes {
-        val RoundedCornerPanel = RoundedCornerShape(Dimensions.PanelCornerRadius)
+        val RoundedCornerPanel: RoundedCornerShape
+            @Composable
+            @ReadOnlyComposable get() = RoundedCornerShape(Dimensions.PanelCornerRadius)
     }
 }
diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/ObservableTransitionState.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/ObservableTransitionState.kt
index 5bf77ae..f7f0bf19 100644
--- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/ObservableTransitionState.kt
+++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/ObservableTransitionState.kt
@@ -220,13 +220,70 @@
                     isInPreviewStage,
                 )
             }
+
+            fun showOverlay(
+                overlay: OverlayKey,
+                fromScene: SceneKey,
+                currentOverlays: Flow<Set<OverlayKey>>,
+                progress: Flow<Float>,
+                isInitiatedByUserInput: Boolean,
+                isUserInputOngoing: Flow<Boolean>,
+                previewProgress: Flow<Float> = flowOf(0f),
+                isInPreviewStage: Flow<Boolean> = flowOf(false),
+            ): ShowOrHideOverlay {
+                return ShowOrHideOverlay(
+                    overlay = overlay,
+                    fromContent = fromScene,
+                    toContent = overlay,
+                    currentScene = fromScene,
+                    currentOverlays = currentOverlays,
+                    progress = progress,
+                    isInitiatedByUserInput = isInitiatedByUserInput,
+                    isUserInputOngoing = isUserInputOngoing,
+                    previewProgress = previewProgress,
+                    isInPreviewStage = isInPreviewStage,
+                )
+            }
+
+            fun hideOverlay(
+                overlay: OverlayKey,
+                toScene: SceneKey,
+                currentOverlays: Flow<Set<OverlayKey>>,
+                progress: Flow<Float>,
+                isInitiatedByUserInput: Boolean,
+                isUserInputOngoing: Flow<Boolean>,
+                previewProgress: Flow<Float> = flowOf(0f),
+                isInPreviewStage: Flow<Boolean> = flowOf(false),
+            ): ShowOrHideOverlay {
+                return ShowOrHideOverlay(
+                    overlay = overlay,
+                    fromContent = overlay,
+                    toContent = toScene,
+                    currentScene = toScene,
+                    currentOverlays = currentOverlays,
+                    progress = progress,
+                    isInitiatedByUserInput = isInitiatedByUserInput,
+                    isUserInputOngoing = isUserInputOngoing,
+                    previewProgress = previewProgress,
+                    isInPreviewStage = isInPreviewStage,
+                )
+            }
         }
     }
 
-    fun isIdle(scene: SceneKey? = null): Boolean {
-        return this is Idle && (scene == null || this.currentScene == scene)
+    fun isIdle(scene: SceneKey? = null, overlay: OverlayKey? = null): Boolean {
+        return this is Idle &&
+            (scene == null || this.currentScene == scene) &&
+            (overlay == null || overlay in this.currentOverlays)
     }
 
+    fun isIdle(content: ContentKey?): Boolean =
+        when (content) {
+            is SceneKey -> isIdle(scene = content)
+            is OverlayKey -> isIdle(overlay = content)
+            null -> this is Idle
+        }
+
     fun isTransitioning(from: ContentKey? = null, to: ContentKey? = null): Boolean {
         return this is Transition &&
             (from == null || this.fromContent == from) &&
diff --git a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayout.kt b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayout.kt
index 72bb82b..f423bab 100644
--- a/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayout.kt
+++ b/packages/SystemUI/compose/scene/src/com/android/compose/animation/scene/SceneTransitionLayout.kt
@@ -447,7 +447,7 @@
     }
 
     infix fun to(overlay: OverlayKey): Pair<UserAction, UserActionResult> {
-        return this to UserActionResult(toOverlay = overlay)
+        return this to UserActionResult.ShowOverlay(overlay)
     }
 
     /** Resolve this into a [Resolved] user action given [layoutDirection]. */
@@ -677,22 +677,6 @@
              */
             requiresFullDistanceSwipe: Boolean = false,
         ): UserActionResult = ChangeScene(toScene, transitionKey, requiresFullDistanceSwipe)
-
-        /** A [UserActionResult] that shows [toOverlay]. */
-        operator fun invoke(
-            /** The overlay we should be transitioning to during the [UserAction]. */
-            toOverlay: OverlayKey,
-
-            /** The key of the transition that should be used. */
-            transitionKey: TransitionKey? = null,
-
-            /**
-             * If `true`, the swipe will be committed if only if the user swiped at least the swipe
-             * distance, i.e. the transition progress was already equal to or bigger than 100% when
-             * the user released their finger.
-             */
-            requiresFullDistanceSwipe: Boolean = false,
-        ): UserActionResult = ShowOverlay(toOverlay, transitionKey, requiresFullDistanceSwipe)
     }
 }
 
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FlexClockController.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FlexClockController.kt
index 004d1aa..ac1c5a8 100644
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FlexClockController.kt
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FlexClockController.kt
@@ -130,39 +130,25 @@
 
         private val FONT_AXES =
             listOf(
-                ClockFontAxis(
-                    key = GSFAxes.WEIGHT,
+                GSFAxes.WEIGHT.toClockAxis(
                     type = AxisType.Float,
-                    minValue = 25f,
                     currentValue = 400f,
-                    maxValue = 1000f,
                     name = "Weight",
                     description = "Glyph Weight",
                 ),
-                ClockFontAxis(
-                    key = GSFAxes.WIDTH,
+                GSFAxes.WIDTH.toClockAxis(
                     type = AxisType.Float,
-                    minValue = 25f,
                     currentValue = 85f,
-                    maxValue = 151f,
                     name = "Width",
                     description = "Glyph Width",
                 ),
-                ClockFontAxis(
-                    key = GSFAxes.ROUND,
+                GSFAxes.ROUND.toClockAxis(
                     type = AxisType.Boolean,
-                    minValue = 0f,
-                    currentValue = 0f,
-                    maxValue = 100f,
                     name = "Round",
                     description = "Glyph Roundness",
                 ),
-                ClockFontAxis(
-                    key = GSFAxes.SLANT,
+                GSFAxes.SLANT.toClockAxis(
                     type = AxisType.Boolean,
-                    minValue = 0f,
-                    currentValue = 0f,
-                    maxValue = -10f,
                     name = "Slant",
                     description = "Glyph Slant",
                 ),
@@ -170,10 +156,10 @@
 
         private val LEGACY_FLEX_SETTINGS =
             listOf(
-                ClockFontAxisSetting(GSFAxes.WEIGHT, 600f),
-                ClockFontAxisSetting(GSFAxes.WIDTH, 100f),
-                ClockFontAxisSetting(GSFAxes.ROUND, 100f),
-                ClockFontAxisSetting(GSFAxes.SLANT, 0f),
+                GSFAxes.WEIGHT.toClockAxisSetting(600f),
+                GSFAxes.WIDTH.toClockAxisSetting(100f),
+                GSFAxes.ROUND.toClockAxisSetting(100f),
+                GSFAxes.SLANT.toClockAxisSetting(0f),
             )
     }
 }
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FlexClockFaceController.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FlexClockFaceController.kt
index b2dbd65..b4c2f5d 100644
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FlexClockFaceController.kt
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FlexClockFaceController.kt
@@ -132,7 +132,7 @@
             if (!isLargeClock) {
                 axes =
                     axes.map { axis ->
-                        if (axis.key == GSFAxes.WIDTH && axis.value > SMALL_CLOCK_MAX_WDTH) {
+                        if (axis.key == GSFAxes.WIDTH.tag && axis.value > SMALL_CLOCK_MAX_WDTH) {
                             axis.copy(value = SMALL_CLOCK_MAX_WDTH)
                         } else {
                             axis
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FontUtils.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FontUtils.kt
new file mode 100644
index 0000000..212b1e2
--- /dev/null
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/FontUtils.kt
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2025 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.shared.clocks
+
+import com.android.systemui.animation.AxisDefinition
+import com.android.systemui.plugins.clocks.AxisType
+import com.android.systemui.plugins.clocks.ClockFontAxis
+import com.android.systemui.plugins.clocks.ClockFontAxisSetting
+
+fun AxisDefinition.toClockAxis(
+    type: AxisType,
+    currentValue: Float? = null,
+    name: String,
+    description: String,
+): ClockFontAxis {
+    return ClockFontAxis(
+        key = this.tag,
+        type = type,
+        maxValue = this.maxValue,
+        minValue = this.minValue,
+        currentValue = currentValue ?: this.defaultValue,
+        name = name,
+        description = description,
+    )
+}
+
+fun AxisDefinition.toClockAxisSetting(value: Float? = null): ClockFontAxisSetting {
+    return ClockFontAxisSetting(this.tag, value ?: this.defaultValue)
+}
diff --git a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/SimpleDigitalClockTextView.kt b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/SimpleDigitalClockTextView.kt
index 54be4d8..b7ce20e 100644
--- a/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/SimpleDigitalClockTextView.kt
+++ b/packages/SystemUI/customization/src/com/android/systemui/shared/clocks/view/SimpleDigitalClockTextView.kt
@@ -49,6 +49,7 @@
 import com.android.systemui.shared.clocks.DimensionParser
 import com.android.systemui.shared.clocks.FLEX_CLOCK_ID
 import com.android.systemui.shared.clocks.FontTextStyle
+import com.android.systemui.shared.clocks.toClockAxisSetting
 import java.lang.Thread
 import kotlin.math.max
 import kotlin.math.min
@@ -585,25 +586,25 @@
         val FIDGET_INTERPOLATOR = PathInterpolator(0.26873f, 0f, 0.45042f, 1f)
         val FIDGET_DISTS =
             mapOf(
-                GSFAxes.WEIGHT to Pair(200f, 500f),
-                GSFAxes.WIDTH to Pair(30f, 75f),
-                GSFAxes.ROUND to Pair(0f, 50f),
-                GSFAxes.SLANT to Pair(0f, -5f),
+                GSFAxes.WEIGHT.tag to Pair(200f, 500f),
+                GSFAxes.WIDTH.tag to Pair(30f, 75f),
+                GSFAxes.ROUND.tag to Pair(0f, 50f),
+                GSFAxes.SLANT.tag to Pair(0f, -5f),
             )
 
         val AOD_COLOR = Color.WHITE
-        val LS_WEIGHT_AXIS = ClockFontAxisSetting(GSFAxes.WEIGHT, 400f)
-        val AOD_WEIGHT_AXIS = ClockFontAxisSetting(GSFAxes.WEIGHT, 200f)
-        val WIDTH_AXIS = ClockFontAxisSetting(GSFAxes.WIDTH, 85f)
-        val ROUND_AXIS = ClockFontAxisSetting(GSFAxes.ROUND, 0f)
-        val SLANT_AXIS = ClockFontAxisSetting(GSFAxes.SLANT, 0f)
+        val LS_WEIGHT_AXIS = GSFAxes.WEIGHT.toClockAxisSetting(400f)
+        val AOD_WEIGHT_AXIS = GSFAxes.WEIGHT.toClockAxisSetting(200f)
+        val WIDTH_AXIS = GSFAxes.WIDTH.toClockAxisSetting(85f)
+        val ROUND_AXIS = GSFAxes.ROUND.toClockAxisSetting(0f)
+        val SLANT_AXIS = GSFAxes.SLANT.toClockAxisSetting(0f)
 
         // Axes for Legacy version of the Flex Clock
-        val FLEX_LS_WEIGHT_AXIS = ClockFontAxisSetting(GSFAxes.WEIGHT, 600f)
-        val FLEX_AOD_LARGE_WEIGHT_AXIS = ClockFontAxisSetting(GSFAxes.WEIGHT, 74f)
-        val FLEX_AOD_SMALL_WEIGHT_AXIS = ClockFontAxisSetting(GSFAxes.WEIGHT, 133f)
-        val FLEX_LS_WIDTH_AXIS = ClockFontAxisSetting(GSFAxes.WIDTH, 100f)
-        val FLEX_AOD_WIDTH_AXIS = ClockFontAxisSetting(GSFAxes.WIDTH, 43f)
-        val FLEX_ROUND_AXIS = ClockFontAxisSetting(GSFAxes.ROUND, 100f)
+        val FLEX_LS_WEIGHT_AXIS = GSFAxes.WEIGHT.toClockAxisSetting(600f)
+        val FLEX_AOD_LARGE_WEIGHT_AXIS = GSFAxes.WEIGHT.toClockAxisSetting(74f)
+        val FLEX_AOD_SMALL_WEIGHT_AXIS = GSFAxes.WEIGHT.toClockAxisSetting(133f)
+        val FLEX_LS_WIDTH_AXIS = GSFAxes.WIDTH.toClockAxisSetting(100f)
+        val FLEX_AOD_WIDTH_AXIS = GSFAxes.WIDTH.toClockAxisSetting(43f)
+        val FLEX_ROUND_AXIS = GSFAxes.ROUND.toClockAxisSetting(100f)
     }
 }
diff --git a/packages/SystemUI/lint.xml b/packages/SystemUI/lint.xml
index 59a7109..bef2edd 100644
--- a/packages/SystemUI/lint.xml
+++ b/packages/SystemUI/lint.xml
@@ -1,4 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<lint>
+<!-- TODO(397519800): Remove hard coded once ASfP is capable of configuring this automatically -->
+<lint lintJars="../../../../out/soong/.intermediates/frameworks/base/packages/SystemUI/checks/SystemUILintChecker/linux_glibc_common/combined/SystemUILintChecker.jar">
     <issue id="PrivateResource" severity="ignore" />
-</lint>
\ No newline at end of file
+</lint>
diff --git a/packages/SystemUI/multivalentTests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.kt
index 24b9e84..189d554 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.kt
@@ -43,6 +43,7 @@
 import com.android.systemui.bouncer.shared.constants.KeyguardBouncerConstants
 import com.android.systemui.classifier.FalsingA11yDelegate
 import com.android.systemui.classifier.FalsingCollector
+import com.android.systemui.coroutines.collectLastValue
 import com.android.systemui.deviceentry.domain.interactor.DeviceEntryFaceAuthInteractor
 import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor
 import com.android.systemui.deviceentry.domain.interactor.deviceEntryInteractor
@@ -65,6 +66,7 @@
 import com.android.systemui.scene.domain.interactor.sceneInteractor
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
 import com.android.systemui.scene.shared.model.FakeSceneDataSource
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.scene.shared.model.fakeSceneDataSource
 import com.android.systemui.statusbar.policy.ConfigurationController
@@ -797,6 +799,9 @@
     @EnableSceneContainer
     fun dismissesKeyguard_whenSceneChangesToGone() =
         kosmos.testScope.runTest {
+            // Collect sceneInteractor.currentOverlays so that show/hideOverlay receive updated
+            // overlay state during validation
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             // Upon init, we have never dismisses the keyguard.
             underTest.onInit()
             runCurrent()
@@ -807,19 +812,24 @@
             // is not enough to trigger a dismissal of the keyguard.
             underTest.onViewAttached()
             fakeSceneDataSource.pause()
-            sceneInteractor.changeScene(Scenes.Bouncer, "reason")
+            sceneInteractor.changeScene(Scenes.Lockscreen, "reason")
+            sceneInteractor.showOverlay(Overlays.Bouncer, "reason")
             sceneTransitionStateFlow.value =
-                ObservableTransitionState.Transition(
-                    Scenes.Lockscreen,
-                    Scenes.Bouncer,
-                    flowOf(Scenes.Bouncer),
-                    flowOf(.5f),
-                    false,
+                ObservableTransitionState.Transition.showOverlay(
+                    overlay = Overlays.Bouncer,
+                    fromScene = Scenes.Lockscreen,
+                    currentOverlays = flowOf(setOf(Overlays.Bouncer)),
+                    progress = flowOf(.5f),
+                    isInitiatedByUserInput = false,
                     isUserInputOngoing = flowOf(false),
                 )
             runCurrent()
-            fakeSceneDataSource.unpause(expectedScene = Scenes.Bouncer)
-            sceneTransitionStateFlow.value = ObservableTransitionState.Idle(Scenes.Bouncer)
+            fakeSceneDataSource.unpause(expectedOverlays = setOf(Overlays.Bouncer))
+            sceneTransitionStateFlow.value =
+                ObservableTransitionState.Idle(
+                    currentScene = Scenes.Lockscreen,
+                    currentOverlays = setOf(Overlays.Bouncer),
+                )
             runCurrent()
             verify(primaryBouncerInteractor, never())
                 .notifyKeyguardAuthenticatedPrimaryAuth(anyInt())
@@ -832,17 +842,18 @@
             runCurrent()
             fakeSceneDataSource.pause()
             sceneInteractor.changeScene(Scenes.Gone, "reason")
+            sceneInteractor.hideOverlay(Overlays.Bouncer, "reason")
             sceneTransitionStateFlow.value =
-                ObservableTransitionState.Transition(
-                    Scenes.Bouncer,
-                    Scenes.Gone,
-                    flowOf(Scenes.Gone),
-                    flowOf(.5f),
-                    false,
+                ObservableTransitionState.Transition.hideOverlay(
+                    overlay = Overlays.Bouncer,
+                    toScene = Scenes.Gone,
+                    currentOverlays = flowOf(emptySet()),
+                    progress = flowOf(.5f),
+                    isInitiatedByUserInput = false,
                     isUserInputOngoing = flowOf(false),
                 )
             runCurrent()
-            fakeSceneDataSource.unpause(expectedScene = Scenes.Gone)
+            fakeSceneDataSource.unpause(expectedScene = Scenes.Gone, expectedOverlays = emptySet())
             sceneTransitionStateFlow.value = ObservableTransitionState.Idle(Scenes.Gone)
             runCurrent()
             verify(primaryBouncerInteractor).notifyKeyguardAuthenticatedPrimaryAuth(anyInt())
@@ -850,20 +861,30 @@
             // While listening, moving back to the bouncer scene does not dismiss the keyguard
             // again.
             clearInvocations(primaryBouncerInteractor)
+
+            // switch to a different non-keyguard scene since showing overlay over Gone is
+            // prohibited
+            sceneInteractor.snapToScene(Scenes.Shade, "reason")
+            runCurrent()
+
             fakeSceneDataSource.pause()
-            sceneInteractor.changeScene(Scenes.Bouncer, "reason")
+            sceneInteractor.showOverlay(Overlays.Bouncer, "reason")
             sceneTransitionStateFlow.value =
-                ObservableTransitionState.Transition(
-                    Scenes.Gone,
-                    Scenes.Bouncer,
-                    flowOf(Scenes.Bouncer),
-                    flowOf(.5f),
-                    false,
+                ObservableTransitionState.Transition.showOverlay(
+                    overlay = Overlays.Bouncer,
+                    fromScene = Scenes.Shade,
+                    currentOverlays = flowOf(setOf(Overlays.Bouncer)),
+                    progress = flowOf(.5f),
+                    isInitiatedByUserInput = false,
                     isUserInputOngoing = flowOf(false),
                 )
             runCurrent()
-            fakeSceneDataSource.unpause(expectedScene = Scenes.Bouncer)
-            sceneTransitionStateFlow.value = ObservableTransitionState.Idle(Scenes.Bouncer)
+            fakeSceneDataSource.unpause(expectedOverlays = setOf(Overlays.Bouncer))
+            sceneTransitionStateFlow.value =
+                ObservableTransitionState.Idle(
+                    currentScene = Scenes.Lockscreen,
+                    currentOverlays = setOf(Overlays.Bouncer),
+                )
             runCurrent()
             verify(primaryBouncerInteractor, never())
                 .notifyKeyguardAuthenticatedPrimaryAuth(anyInt())
@@ -874,17 +895,18 @@
             underTest.onViewDetached()
             fakeSceneDataSource.pause()
             sceneInteractor.changeScene(Scenes.Gone, "reason")
+            sceneInteractor.hideOverlay(Overlays.Bouncer, "reason")
             sceneTransitionStateFlow.value =
-                ObservableTransitionState.Transition(
-                    Scenes.Bouncer,
-                    Scenes.Gone,
-                    flowOf(Scenes.Gone),
-                    flowOf(.5f),
-                    false,
+                ObservableTransitionState.Transition.hideOverlay(
+                    overlay = Overlays.Bouncer,
+                    toScene = Scenes.Gone,
+                    currentOverlays = flowOf(emptySet()),
+                    progress = flowOf(.5f),
+                    isInitiatedByUserInput = false,
                     isUserInputOngoing = flowOf(false),
                 )
             runCurrent()
-            fakeSceneDataSource.unpause(expectedScene = Scenes.Gone)
+            fakeSceneDataSource.unpause(expectedScene = Scenes.Gone, expectedOverlays = emptySet())
             sceneTransitionStateFlow.value = ObservableTransitionState.Idle(Scenes.Gone)
             runCurrent()
             verify(primaryBouncerInteractor, never())
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/animation/FontVariationUtilsTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/animation/FontVariationUtilsTest.kt
index f44769d..8d3640d 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/animation/FontVariationUtilsTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/animation/FontVariationUtilsTest.kt
@@ -21,7 +21,7 @@
                 roundness = 100,
             )
         Assert.assertEquals(
-            "'${GSFAxes.WEIGHT}' 100, '${GSFAxes.WIDTH}' 100, '${GSFAxes.ROUND}' 100",
+            "'${GSFAxes.WEIGHT.tag}' 100, '${GSFAxes.WIDTH.tag}' 100, '${GSFAxes.ROUND.tag}' 100",
             initFvar,
         )
         val updatedFvar =
@@ -32,7 +32,8 @@
                 roundness = 100,
             )
         Assert.assertEquals(
-            "'${GSFAxes.WEIGHT}' 200, '${GSFAxes.WIDTH}' 100, '${GSFAxes.OPTICAL_SIZE}' 0, '${GSFAxes.ROUND}' 100",
+            "'${GSFAxes.WEIGHT.tag}' 200, '${GSFAxes.WIDTH.tag}' 100," +
+                " '${GSFAxes.OPTICAL_SIZE.tag}' 0, '${GSFAxes.ROUND.tag}' 100",
             updatedFvar,
         )
     }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/domain/interactor/BouncerActionButtonInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/domain/interactor/BouncerActionButtonInteractorTest.kt
index f376e93..40295a2 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/domain/interactor/BouncerActionButtonInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/domain/interactor/BouncerActionButtonInteractorTest.kt
@@ -33,6 +33,7 @@
 import com.android.systemui.flags.EnableSceneContainer
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.scene.domain.interactor.sceneInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.statusbar.pipeline.mobile.data.repository.FakeMobileConnectionsRepository
 import com.android.systemui.statusbar.pipeline.mobile.data.repository.fake
@@ -94,7 +95,8 @@
 
         kosmos.telecomManager = telecomManager
 
-        kosmos.sceneInteractor.changeScene(Scenes.Bouncer, "")
+        kosmos.sceneInteractor.changeScene(Scenes.Lockscreen, "")
+        kosmos.sceneInteractor.showOverlay(Overlays.Bouncer, "")
     }
 
     @Test
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/composable/BouncerSceneLayoutTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/composable/BouncerOverlayLayoutTest.kt
similarity index 92%
rename from packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/composable/BouncerSceneLayoutTest.kt
rename to packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/composable/BouncerOverlayLayoutTest.kt
index b4b4178..2d0dd49 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/composable/BouncerSceneLayoutTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/composable/BouncerOverlayLayoutTest.kt
@@ -18,10 +18,10 @@
 
 import androidx.test.filters.SmallTest
 import com.android.systemui.SysuiTestCase
-import com.android.systemui.bouncer.ui.composable.BouncerSceneLayout.BELOW_USER_SWITCHER
-import com.android.systemui.bouncer.ui.composable.BouncerSceneLayout.BESIDE_USER_SWITCHER
-import com.android.systemui.bouncer.ui.composable.BouncerSceneLayout.SPLIT_BOUNCER
-import com.android.systemui.bouncer.ui.composable.BouncerSceneLayout.STANDARD_BOUNCER
+import com.android.systemui.bouncer.ui.composable.BouncerOverlayLayout.BELOW_USER_SWITCHER
+import com.android.systemui.bouncer.ui.composable.BouncerOverlayLayout.BESIDE_USER_SWITCHER
+import com.android.systemui.bouncer.ui.composable.BouncerOverlayLayout.SPLIT_BOUNCER
+import com.android.systemui.bouncer.ui.composable.BouncerOverlayLayout.STANDARD_BOUNCER
 import com.google.common.truth.Truth.assertThat
 import java.util.Locale
 import org.junit.Test
@@ -32,7 +32,7 @@
 
 @SmallTest
 @RunWith(ParameterizedAndroidJunit4::class)
-class BouncerSceneLayoutTest : SysuiTestCase() {
+class BouncerOverlayLayoutTest : SysuiTestCase() {
 
     data object Phone :
         Device(
@@ -186,7 +186,7 @@
     data class TestCase(
         val device: Device,
         val held: Held,
-        val expected: BouncerSceneLayout,
+        val expected: BouncerOverlayLayout,
         val isOneHandedModeSupported: Boolean = true,
     ) {
         override fun toString(): String {
@@ -203,10 +203,10 @@
     }
 
     data class Expected(
-        val whenNaturallyHeld: BouncerSceneLayout,
-        val whenUnnaturallyHeld: BouncerSceneLayout,
+        val whenNaturallyHeld: BouncerOverlayLayout,
+        val whenUnnaturallyHeld: BouncerOverlayLayout,
     ) {
-        fun layout(heldNaturally: Boolean): BouncerSceneLayout {
+        fun layout(heldNaturally: Boolean): BouncerOverlayLayout {
             return if (heldNaturally) {
                 whenNaturallyHeld
             } else {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/composable/BouncerPredictiveBackTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/composable/BouncerPredictiveBackTest.kt
index dda460a..0fe649c 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/composable/BouncerPredictiveBackTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/composable/BouncerPredictiveBackTest.kt
@@ -43,11 +43,10 @@
 import com.android.compose.animation.scene.isElement
 import com.android.compose.theme.PlatformTheme
 import com.android.systemui.SysuiTestCase
-import com.android.systemui.bouncer.domain.interactor.bouncerInteractor
 import com.android.systemui.bouncer.ui.BouncerDialogFactory
-import com.android.systemui.bouncer.ui.viewmodel.BouncerSceneContentViewModel
+import com.android.systemui.bouncer.ui.viewmodel.BouncerOverlayContentViewModel
 import com.android.systemui.bouncer.ui.viewmodel.BouncerUserActionsViewModel
-import com.android.systemui.bouncer.ui.viewmodel.bouncerSceneContentViewModel
+import com.android.systemui.bouncer.ui.viewmodel.bouncerOverlayContentViewModel
 import com.android.systemui.flags.EnableSceneContainer
 import com.android.systemui.kosmos.Kosmos
 import com.android.systemui.kosmos.Kosmos.Fixture
@@ -59,6 +58,7 @@
 import com.android.systemui.scene.domain.startable.sceneContainerStartable
 import com.android.systemui.scene.sceneContainerViewModelFactory
 import com.android.systemui.scene.sceneTransitionsBuilder
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.SceneContainerConfig
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.scene.shared.model.sceneDataSourceDelegator
@@ -103,10 +103,10 @@
         motionTestRule.toolkit.composeContentTestRule as AndroidComposeTestRule<*, *>
 
     private val sceneInteractor by lazy { kosmos.sceneInteractor }
-    private val Kosmos.sceneKeys by Fixture { listOf(Scenes.Lockscreen, Scenes.Bouncer) }
-    private val Kosmos.initialSceneKey by Fixture { Scenes.Bouncer }
+    private val Kosmos.sceneKeys by Fixture { listOf(Scenes.Lockscreen) }
+    private val Kosmos.initialSceneKey by Fixture { Scenes.Lockscreen }
     private val Kosmos.sceneContainerConfig by Fixture {
-        val navigationDistances = mapOf(Scenes.Lockscreen to 1, Scenes.Bouncer to 0)
+        val navigationDistances = mapOf(Scenes.Lockscreen to 1)
         SceneContainerConfig(
             sceneKeys,
             initialSceneKey,
@@ -137,17 +137,17 @@
         }
     private val bouncerSceneActionsViewModelFactory =
         object : BouncerUserActionsViewModel.Factory {
-            override fun create() = BouncerUserActionsViewModel(kosmos.bouncerInteractor)
+            override fun create() = BouncerUserActionsViewModel()
         }
-    private lateinit var bouncerSceneContentViewModel: BouncerSceneContentViewModel
-    private val bouncerSceneContentViewModelFactory =
-        object : BouncerSceneContentViewModel.Factory {
-            override fun create() = bouncerSceneContentViewModel
+    private lateinit var mBouncerOverlayContentViewModel: BouncerOverlayContentViewModel
+    private val mBouncerOverlayContentViewModelFactory =
+        object : BouncerOverlayContentViewModel.Factory {
+            override fun create() = mBouncerOverlayContentViewModel
         }
     private val bouncerScene =
-        BouncerScene(
+        BouncerOverlay(
             bouncerSceneActionsViewModelFactory,
-            bouncerSceneContentViewModelFactory,
+            mBouncerOverlayContentViewModelFactory,
             bouncerDialogFactory,
         )
 
@@ -155,7 +155,7 @@
     fun setUp() {
         MockitoAnnotations.initMocks(this)
 
-        bouncerSceneContentViewModel = kosmos.bouncerSceneContentViewModel
+        mBouncerOverlayContentViewModel = kosmos.bouncerOverlayContentViewModel
 
         val startable = kosmos.sceneContainerStartable
         startable.start()
@@ -175,14 +175,10 @@
                                     rememberViewModel("BouncerPredictiveBackTest") {
                                         sceneContainerViewModel
                                     },
-                                sceneByKey =
-                                    mapOf(
-                                        Scenes.Lockscreen to FakeLockscreen(),
-                                        Scenes.Bouncer to bouncerScene,
-                                    ),
-                                initialSceneKey = Scenes.Bouncer,
+                                sceneByKey = mapOf(Scenes.Lockscreen to FakeLockscreen()),
+                                initialSceneKey = Scenes.Lockscreen,
                                 transitionsBuilder = kosmos.sceneTransitionsBuilder,
-                                overlayByKey = emptyMap(),
+                                overlayByKey = mapOf(Overlays.Bouncer to bouncerScene),
                                 dataSourceDelegator = kosmos.sceneDataSourceDelegator,
                                 qsSceneAdapter = { kosmos.fakeQsSceneAdapter },
                                 sceneJankMonitorFactory = kosmos.sceneJankMonitorFactory,
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/BouncerSceneContentViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/BouncerOverlayContentViewModelTest.kt
similarity index 98%
rename from packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/BouncerSceneContentViewModelTest.kt
rename to packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/BouncerOverlayContentViewModelTest.kt
index eef8d9f..9cc09bd 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/BouncerSceneContentViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/BouncerOverlayContentViewModelTest.kt
@@ -61,17 +61,17 @@
 @SmallTest
 @RunWith(AndroidJUnit4::class)
 @EnableSceneContainer
-class BouncerSceneContentViewModelTest : SysuiTestCase() {
+class BouncerOverlayContentViewModelTest : SysuiTestCase() {
 
     private val kosmos = testKosmos()
     private val testScope = kosmos.testScope
 
-    private lateinit var underTest: BouncerSceneContentViewModel
+    private lateinit var underTest: BouncerOverlayContentViewModel
 
     @Before
     fun setUp() {
         kosmos.sceneContainerStartable.start()
-        underTest = kosmos.bouncerSceneContentViewModel
+        underTest = kosmos.bouncerOverlayContentViewModel
         underTest.activateIn(testScope)
     }
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModelTest.kt
index e12fabf..fe2f51f 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModelTest.kt
@@ -27,6 +27,7 @@
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.lifecycle.activateIn
 import com.android.systemui.scene.domain.startable.sceneContainerStartable
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.scene.shared.model.fakeSceneDataSource
 import com.android.systemui.testKosmos
@@ -62,13 +63,13 @@
             kosmos.fakeSceneDataSource.changeScene(Scenes.QuickSettings)
             runCurrent()
 
-            kosmos.fakeSceneDataSource.changeScene(Scenes.Bouncer)
+            kosmos.fakeSceneDataSource.showOverlay(Overlays.Bouncer)
             runCurrent()
 
             assertThat(actions)
                 .containsEntriesExactly(
-                    Back to UserActionResult(Scenes.QuickSettings),
-                    Swipe.Down to UserActionResult(Scenes.QuickSettings),
+                    Back to UserActionResult.HideOverlay(Overlays.Bouncer),
+                    Swipe.Down to UserActionResult.HideOverlay(Overlays.Bouncer),
                 )
         }
 }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PasswordBouncerViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PasswordBouncerViewModelTest.kt
index b2d2458..7cfbf5e 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PasswordBouncerViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PasswordBouncerViewModelTest.kt
@@ -22,7 +22,6 @@
 import androidx.compose.ui.input.key.KeyEventType
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
-import com.android.compose.animation.scene.SceneKey
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.authentication.data.repository.fakeAuthenticationRepository
 import com.android.systemui.authentication.domain.interactor.authenticationInteractor
@@ -38,7 +37,7 @@
 import com.android.systemui.lifecycle.activateIn
 import com.android.systemui.res.R
 import com.android.systemui.scene.domain.interactor.sceneInteractor
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.testKosmos
 import com.android.systemui.user.data.model.SelectedUserModel
 import com.android.systemui.user.data.model.SelectionStatus
@@ -86,12 +85,12 @@
     @Test
     fun onShown() =
         testScope.runTest {
-            val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             val password by collectLastValue(underTest.password)
             lockDeviceAndOpenPasswordBouncer()
 
             assertThat(password).isEmpty()
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
             assertThat(underTest.authenticationMethod).isEqualTo(AuthenticationMethodModel.Password)
         }
 
@@ -111,14 +110,14 @@
     @Test
     fun onPasswordInputChanged() =
         testScope.runTest {
-            val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             val password by collectLastValue(underTest.password)
             lockDeviceAndOpenPasswordBouncer()
 
             underTest.onPasswordInputChanged("password")
 
             assertThat(password).isEqualTo("password")
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
         }
 
     @Test
@@ -152,7 +151,7 @@
             kosmos.fakeAuthenticationRepository.setAuthenticationMethod(
                 AuthenticationMethodModel.Password
             )
-            switchToScene(Scenes.Bouncer)
+            showBouncer()
 
             // No input entered.
 
@@ -185,7 +184,7 @@
     @Test
     fun onShown_againAfterSceneChange_resetsPassword() =
         testScope.runTest {
-            val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             val password by collectLastValue(underTest.password)
             lockDeviceAndOpenPasswordBouncer()
 
@@ -194,14 +193,14 @@
             assertThat(password).isEqualTo("password")
 
             // The user doesn't confirm the password, but navigates back to the lockscreen instead.
-            switchToScene(Scenes.Lockscreen)
+            hideBouncer()
 
             // The user navigates to the bouncer again.
-            switchToScene(Scenes.Bouncer)
+            showBouncer()
 
             // Ensure the previously-entered password is not shown.
             assertThat(password).isEmpty()
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
         }
 
     @Test
@@ -379,21 +378,28 @@
         assertThat(underTest.onKeyEvent(KeyEventType.KeyDown, KeyEvent.KEYCODE_SPACE)).isFalse()
     }
 
-    private fun TestScope.switchToScene(toScene: SceneKey) {
-        val currentScene by collectLastValue(sceneInteractor.currentScene)
-        val bouncerHidden = currentScene == Scenes.Bouncer && toScene != Scenes.Bouncer
-        sceneInteractor.changeScene(toScene, "reason")
-        if (bouncerHidden) underTest.onHidden()
+    private fun TestScope.showBouncer() {
+        val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
+        sceneInteractor.showOverlay(Overlays.Bouncer, "reason")
         runCurrent()
 
-        assertThat(currentScene).isEqualTo(toScene)
+        assertThat(currentOverlays).contains(Overlays.Bouncer)
+    }
+
+    private fun TestScope.hideBouncer() {
+        val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
+        sceneInteractor.hideOverlay(Overlays.Bouncer, "reason")
+        underTest.onHidden()
+        runCurrent()
+
+        assertThat(currentOverlays).doesNotContain(Overlays.Bouncer)
     }
 
     private fun TestScope.lockDeviceAndOpenPasswordBouncer() {
         kosmos.fakeAuthenticationRepository.setAuthenticationMethod(
             AuthenticationMethodModel.Password
         )
-        switchToScene(Scenes.Bouncer)
+        showBouncer()
     }
 
     private suspend fun TestScope.setLockout(isLockedOut: Boolean, failedAttemptCount: Int = 5) {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PatternBouncerViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PatternBouncerViewModelTest.kt
index ec7d1c3..4075d11 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PatternBouncerViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PatternBouncerViewModelTest.kt
@@ -19,7 +19,6 @@
 import android.platform.test.annotations.EnableFlags
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
-import com.android.compose.animation.scene.SceneKey
 import com.android.systemui.Flags
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.authentication.data.repository.FakeAuthenticationRepository
@@ -36,7 +35,7 @@
 import com.android.systemui.lifecycle.activateIn
 import com.android.systemui.res.R
 import com.android.systemui.scene.domain.interactor.sceneInteractor
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.testKosmos
 import com.google.android.msdl.data.model.MSDLToken
 import com.google.common.truth.Truth.assertThat
@@ -58,7 +57,7 @@
     private val testScope = kosmos.testScope
     private val authenticationInteractor by lazy { kosmos.authenticationInteractor }
     private val sceneInteractor by lazy { kosmos.sceneInteractor }
-    private val bouncerViewModel by lazy { kosmos.bouncerSceneContentViewModel }
+    private val bouncerViewModel by lazy { kosmos.bouncerOverlayContentViewModel }
     private val msdlPlayer: FakeMSDLPlayer = kosmos.fakeMSDLPlayer
     private val bouncerHapticHelper = kosmos.bouncerHapticPlayer
     private val underTest =
@@ -81,21 +80,21 @@
     @Test
     fun onShown() =
         testScope.runTest {
-            val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             val selectedDots by collectLastValue(underTest.selectedDots)
             val currentDot by collectLastValue(underTest.currentDot)
             lockDeviceAndOpenPatternBouncer()
 
             assertThat(selectedDots).isEmpty()
             assertThat(currentDot).isNull()
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
             assertThat(underTest.authenticationMethod).isEqualTo(AuthenticationMethodModel.Pattern)
         }
 
     @Test
     fun onDragStart() =
         testScope.runTest {
-            val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             val selectedDots by collectLastValue(underTest.selectedDots)
             val currentDot by collectLastValue(underTest.currentDot)
             lockDeviceAndOpenPatternBouncer()
@@ -104,7 +103,7 @@
 
             assertThat(selectedDots).isEmpty()
             assertThat(currentDot).isNull()
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
         }
 
     @Test
@@ -143,7 +142,7 @@
     @Test
     fun onDragEnd_whenWrong() =
         testScope.runTest {
-            val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             val selectedDots by collectLastValue(underTest.selectedDots)
             val currentDot by collectLastValue(underTest.currentDot)
             lockDeviceAndOpenPatternBouncer()
@@ -154,7 +153,7 @@
 
             assertThat(selectedDots).isEmpty()
             assertThat(currentDot).isNull()
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
         }
 
     @Test
@@ -365,21 +364,16 @@
         )
     }
 
-    private fun TestScope.switchToScene(toScene: SceneKey) {
-        val currentScene by collectLastValue(sceneInteractor.currentScene)
-        val bouncerHidden = currentScene == Scenes.Bouncer && toScene != Scenes.Bouncer
-        sceneInteractor.changeScene(toScene, "reason")
-        if (bouncerHidden) underTest.onHidden()
-        runCurrent()
-
-        assertThat(currentScene).isEqualTo(toScene)
-    }
-
     private fun TestScope.lockDeviceAndOpenPatternBouncer() {
+        val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
         kosmos.fakeAuthenticationRepository.setAuthenticationMethod(
             AuthenticationMethodModel.Pattern
         )
-        switchToScene(Scenes.Bouncer)
+
+        sceneInteractor.showOverlay(Overlays.Bouncer, "reason")
+        runCurrent()
+
+        assertThat(currentOverlays).contains(Overlays.Bouncer)
     }
 
     companion object {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PinBouncerViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PinBouncerViewModelTest.kt
index 705e834..2518d2f 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PinBouncerViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/bouncer/ui/viewmodel/PinBouncerViewModelTest.kt
@@ -26,7 +26,6 @@
 import androidx.compose.ui.input.key.KeyEventType
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
-import com.android.compose.animation.scene.SceneKey
 import com.android.systemui.Flags
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.authentication.data.repository.FakeAuthenticationRepository
@@ -42,7 +41,7 @@
 import com.android.systemui.lifecycle.activateIn
 import com.android.systemui.res.R
 import com.android.systemui.scene.domain.interactor.sceneInteractor
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.testKosmos
 import com.google.android.msdl.data.model.MSDLToken
 import com.google.common.truth.Truth.assertThat
@@ -181,7 +180,7 @@
     @Test
     fun onBackspaceButtonLongPressed() =
         testScope.runTest {
-            val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             val pin by collectLastValue(underTest.pinInput.map { it.getPin() })
             lockDeviceAndOpenPinBouncer()
 
@@ -194,7 +193,7 @@
             underTest.onBackspaceButtonLongPressed()
 
             assertThat(pin).isEmpty()
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
         }
 
     @Test
@@ -213,7 +212,7 @@
     @Test
     fun onAuthenticateButtonClicked_whenWrong() =
         testScope.runTest {
-            val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             val pin by collectLastValue(underTest.pinInput.map { it.getPin() })
             lockDeviceAndOpenPinBouncer()
 
@@ -226,7 +225,7 @@
             underTest.onAuthenticateButtonClicked()
 
             assertThat(pin).isEmpty()
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
         }
 
     @Test
@@ -281,7 +280,7 @@
             val autoConfirmEnabled by
                 collectLastValue(authenticationInteractor.isAutoConfirmEnabled)
 
-            val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             val pin by collectLastValue(underTest.pinInput.map { it.getPin() })
             kosmos.fakeAuthenticationRepository.setAutoConfirmFeatureEnabled(true)
 
@@ -296,7 +295,7 @@
             ) // PIN is now wrong!
 
             assertThat(pin).isEmpty()
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
         }
 
     @Test
@@ -310,10 +309,10 @@
             assertThat(pin).isNotEmpty()
 
             // The user doesn't confirm the PIN, but navigates back to the lockscreen instead.
-            switchToScene(Scenes.Lockscreen)
+            hideBouncer()
 
             // The user navigates to the bouncer again.
-            switchToScene(Scenes.Bouncer)
+            showBouncer()
 
             // Ensure the previously-entered PIN is not shown.
             assertThat(pin).isEmpty()
@@ -527,19 +526,26 @@
         assertThat(msdlPlayer.latestPropertiesPlayed).isNull()
     }
 
-    private fun TestScope.switchToScene(toScene: SceneKey) {
-        val currentScene by collectLastValue(sceneInteractor.currentScene)
-        val bouncerHidden = currentScene == Scenes.Bouncer && toScene != Scenes.Bouncer
-        sceneInteractor.changeScene(toScene, "reason")
-        if (bouncerHidden) underTest.onHidden()
+    private fun TestScope.showBouncer() {
+        val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
+        sceneInteractor.showOverlay(Overlays.Bouncer, "reason")
         runCurrent()
 
-        assertThat(currentScene).isEqualTo(toScene)
+        assertThat(currentOverlays).contains(Overlays.Bouncer)
+    }
+
+    private fun TestScope.hideBouncer() {
+        val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
+        sceneInteractor.hideOverlay(Overlays.Bouncer, "reason")
+        underTest.onHidden()
+        runCurrent()
+
+        assertThat(currentOverlays).doesNotContain(Overlays.Bouncer)
     }
 
     private fun TestScope.lockDeviceAndOpenPinBouncer() {
         kosmos.fakeAuthenticationRepository.setAuthenticationMethod(AuthenticationMethodModel.Pin)
-        switchToScene(Scenes.Bouncer)
+        showBouncer()
     }
 
     companion object {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModelTest.kt
index 6199954..59fda98 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModelTest.kt
@@ -74,7 +74,8 @@
             setUpState(isShadeTouchable = true, isDeviceUnlocked = false)
             assertThat(actions).isNotEmpty()
             assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(Scenes.Lockscreen))
-            assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer))
+            assertThat(actions?.get(Swipe.Up))
+                .isEqualTo(UserActionResult.ShowOverlay(Overlays.Bouncer))
             assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade))
 
             setUpState(isShadeTouchable = false, isDeviceUnlocked = false)
@@ -96,7 +97,8 @@
             setUpState(isShadeTouchable = true, isDeviceUnlocked = false)
             assertThat(actions).isNotEmpty()
             assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(Scenes.Lockscreen))
-            assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer))
+            assertThat(actions?.get(Swipe.Up))
+                .isEqualTo(UserActionResult.ShowOverlay(Overlays.Bouncer))
             assertThat(actions?.get(Swipe.Down))
                 .isEqualTo(UserActionResult(Scenes.Shade, ToSplitShade))
 
@@ -120,7 +122,8 @@
             setUpState(isShadeTouchable = true, isDeviceUnlocked = false)
             assertThat(actions).isNotEmpty()
             assertThat(actions?.get(Swipe.End)).isEqualTo(UserActionResult(Scenes.Lockscreen))
-            assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer))
+            assertThat(actions?.get(Swipe.Up))
+                .isEqualTo(UserActionResult.ShowOverlay(Overlays.Bouncer))
             assertThat(actions?.get(Swipe.Down))
                 .isEqualTo(UserActionResult.ShowOverlay(Overlays.NotificationsShade))
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/view/viewmodel/CommunalViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/view/viewmodel/CommunalViewModelTest.kt
index 799054a..f47aa6b 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/view/viewmodel/CommunalViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/communal/view/viewmodel/CommunalViewModelTest.kt
@@ -85,6 +85,7 @@
 import com.android.systemui.scene.data.repository.Idle
 import com.android.systemui.scene.data.repository.Transition
 import com.android.systemui.scene.data.repository.setTransition
+import com.android.systemui.scene.domain.interactor.sceneInteractor
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.settings.fakeUserTracker
@@ -602,6 +603,7 @@
                 flowOf(ObservableTransitionState.Idle(CommunalScenes.Communal))
             )
             // Transitioned to Glanceable hub.
+            kosmos.sceneInteractor.changeScene(Scenes.Communal, "")
             kosmos.setTransition(
                 sceneTransition = Idle(Scenes.Communal),
                 stateTransition =
@@ -656,6 +658,7 @@
             keyguardRepository.setKeyguardOccluded(true)
 
             // And on hub
+            kosmos.sceneInteractor.changeScene(Scenes.Communal, "")
             kosmos.setTransition(
                 sceneTransition = Idle(Scenes.Communal),
                 stateTransition =
@@ -673,6 +676,7 @@
             assertThat(isCommunalContentFlowFrozen).isEqualTo(true)
 
             // 3. When transitioned to OCCLUDED and activity shows
+            kosmos.sceneInteractor.changeScene(Scenes.Lockscreen, "")
             kosmos.setTransition(
                 sceneTransition = Idle(Scenes.Lockscreen),
                 stateTransition =
@@ -759,6 +763,7 @@
             keyguardRepository.setKeyguardOccluded(true)
 
             // And transitioned to hub
+            kosmos.sceneInteractor.changeScene(Scenes.Communal, "")
             kosmos.setTransition(
                 sceneTransition = Idle(Scenes.Communal),
                 stateTransition =
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/data/repository/DeviceEntryFaceAuthRepositoryTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/data/repository/DeviceEntryFaceAuthRepositoryTest.kt
index f6016c6..651d474 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/data/repository/DeviceEntryFaceAuthRepositoryTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/data/repository/DeviceEntryFaceAuthRepositoryTest.kt
@@ -81,6 +81,7 @@
 import com.android.systemui.power.domain.interactor.powerInteractor
 import com.android.systemui.scene.domain.interactor.sceneInteractor
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.statusbar.phone.KeyguardBypassController
 import com.android.systemui.testKosmos
@@ -186,15 +187,13 @@
         underTest = createDeviceEntryFaceAuthRepositoryImpl(faceManager, bypassController)
 
         if (!SceneContainerFlag.isEnabled) {
-            mSetFlagsRule.disableFlags(
-                AConfigFlags.FLAG_KEYGUARD_WM_STATE_REFACTOR,
-            )
+            mSetFlagsRule.disableFlags(AConfigFlags.FLAG_KEYGUARD_WM_STATE_REFACTOR)
         }
     }
 
     private fun createDeviceEntryFaceAuthRepositoryImpl(
         fmOverride: FaceManager? = faceManager,
-        bypassControllerOverride: KeyguardBypassController? = bypassController
+        bypassControllerOverride: KeyguardBypassController? = bypassController,
     ): DeviceEntryFaceAuthRepositoryImpl {
         val faceAuthBuffer = logcatTableLogBuffer(kosmos, "face auth")
         val faceDetectBuffer = logcatTableLogBuffer(kosmos, "face detect")
@@ -256,7 +255,7 @@
                 0,
                 null,
                 keyguardSessionId,
-                faceAuthUiEvent.extraInfo
+                faceAuthUiEvent.extraInfo,
             )
     }
 
@@ -289,7 +288,7 @@
 
             authenticationCallback.value.onAuthenticationError(
                 FACE_ERROR_LOCKOUT_PERMANENT,
-                "face locked out"
+                "face locked out",
             )
 
             assertThat(lockedOut()).isTrue()
@@ -317,7 +316,7 @@
                 .thenReturn(
                     listOf(
                         createFaceSensorProperties(supportsFaceDetection = false),
-                        createFaceSensorProperties(supportsFaceDetection = true)
+                        createFaceSensorProperties(supportsFaceDetection = true),
                     )
                 )
             assertThat(createDeviceEntryFaceAuthRepositoryImpl().isDetectionSupported).isFalse()
@@ -326,7 +325,7 @@
                 .thenReturn(
                     listOf(
                         createFaceSensorProperties(supportsFaceDetection = true),
-                        createFaceSensorProperties(supportsFaceDetection = false)
+                        createFaceSensorProperties(supportsFaceDetection = false),
                     )
                 )
             assertThat(createDeviceEntryFaceAuthRepositoryImpl().isDetectionSupported).isTrue()
@@ -409,7 +408,7 @@
             // Auth is done cancelling.
             authenticationCallback.value.onAuthenticationError(
                 FACE_ERROR_CANCELED,
-                "First auth attempt cancellation completed"
+                "First auth attempt cancellation completed",
             )
             val value = authStatus() as ErrorFaceAuthenticationStatus
             assertThat(value.msgId).isEqualTo(FACE_ERROR_CANCELED)
@@ -472,7 +471,7 @@
             underTest =
                 createDeviceEntryFaceAuthRepositoryImpl(
                     fmOverride = null,
-                    bypassControllerOverride = null
+                    bypassControllerOverride = null,
                 )
             fakeUserRepository.setSelectedUserInfo(primaryUser)
 
@@ -499,7 +498,7 @@
             testGatingCheckForFaceAuth {
                 fakeUserRepository.setSelectedUserInfo(
                     primaryUser,
-                    SelectionStatus.SELECTION_IN_PROGRESS
+                    SelectionStatus.SELECTION_IN_PROGRESS,
                 )
             }
         }
@@ -510,7 +509,7 @@
             testGatingCheckForDetect {
                 fakeUserRepository.setSelectedUserInfo(
                     userInfo = primaryUser,
-                    selectionStatus = SelectionStatus.SELECTION_IN_PROGRESS
+                    selectionStatus = SelectionStatus.SELECTION_IN_PROGRESS,
                 )
             }
         }
@@ -544,11 +543,11 @@
             testGatingCheckForFaceAuth(sceneContainerEnabled = true) {
                 kosmos.sceneInteractor.setTransitionState(
                     MutableStateFlow(
-                        ObservableTransitionState.Transition(
-                            fromScene = Scenes.Bouncer,
+                        ObservableTransitionState.Transition.hideOverlay(
+                            overlay = Overlays.Bouncer,
                             toScene = Scenes.Gone,
-                            currentScene = flowOf(Scenes.Bouncer),
-                            progress = MutableStateFlow(0.2f),
+                            currentOverlays = flowOf(setOf(Overlays.Bouncer)),
+                            progress = flowOf(.2f),
                             isInitiatedByUserInput = true,
                             isUserInputOngoing = flowOf(false),
                         )
@@ -634,9 +633,11 @@
             assertThat(canFaceAuthRun()).isFalse()
 
             // but bouncer is shown after that.
-            kosmos.sceneInteractor.changeScene(Scenes.Bouncer, "for-test")
+            kosmos.sceneInteractor.showOverlay(Overlays.Bouncer, "for-test")
             kosmos.sceneInteractor.setTransitionState(
-                MutableStateFlow(ObservableTransitionState.Idle(Scenes.Bouncer))
+                MutableStateFlow(
+                    ObservableTransitionState.Idle(Scenes.Lockscreen, setOf(Overlays.Bouncer))
+                )
             )
             runCurrent()
 
@@ -666,7 +667,7 @@
             assertThat(canFaceAuthRun()).isFalse()
             underTest.requestAuthenticate(
                 FACE_AUTH_TRIGGERED_SWIPE_UP_ON_BOUNCER,
-                fallbackToDetection = true
+                fallbackToDetection = true,
             )
             faceAuthenticateIsNotCalled()
 
@@ -687,7 +688,7 @@
             assertThat(canFaceAuthRun()).isFalse()
             underTest.requestAuthenticate(
                 FACE_AUTH_TRIGGERED_SWIPE_UP_ON_BOUNCER,
-                fallbackToDetection = true
+                fallbackToDetection = true,
             )
             faceAuthenticateIsNotCalled()
 
@@ -704,7 +705,7 @@
             keyguardTransitionRepository.sendTransitionSteps(
                 from = KeyguardState.LOCKSCREEN,
                 to = KeyguardState.OFF,
-                testScope
+                testScope,
             )
             runCurrent()
             keyguardTransitionRepository.sendTransitionStep(
@@ -730,7 +731,7 @@
                 keyguardTransitionRepository.sendTransitionSteps(
                     from = KeyguardState.OFF,
                     to = KeyguardState.LOCKSCREEN,
-                    testScope
+                    testScope,
                 )
                 runCurrent()
 
@@ -834,7 +835,7 @@
 
             fakeUserRepository.setSelectedUserInfo(
                 primaryUser,
-                SelectionStatus.SELECTION_IN_PROGRESS
+                SelectionStatus.SELECTION_IN_PROGRESS,
             )
 
             assertThat(authenticated()).isFalse()
@@ -896,11 +897,11 @@
             testGatingCheckForDetect(sceneContainerEnabled = true) {
                 kosmos.sceneInteractor.setTransitionState(
                     MutableStateFlow(
-                        ObservableTransitionState.Transition(
-                            fromScene = Scenes.Bouncer,
+                        ObservableTransitionState.Transition.hideOverlay(
+                            overlay = Overlays.Bouncer,
                             toScene = Scenes.Gone,
-                            currentScene = flowOf(Scenes.Bouncer),
-                            progress = MutableStateFlow(0.2f),
+                            currentOverlays = flowOf(setOf(Overlays.Bouncer)),
+                            progress = flowOf(.2f),
                             isInitiatedByUserInput = true,
                             isUserInputOngoing = flowOf(false),
                         )
@@ -1032,7 +1033,7 @@
             keyguardTransitionRepository.sendTransitionSteps(
                 from = KeyguardState.DOZING,
                 to = KeyguardState.GONE,
-                testScope
+                testScope,
             )
             runCurrent()
             verify(faceManager).scheduleWatchdog()
@@ -1044,7 +1045,7 @@
             keyguardTransitionRepository.sendTransitionSteps(
                 from = KeyguardState.AOD,
                 to = KeyguardState.GONE,
-                testScope
+                testScope,
             )
             runCurrent()
             verify(faceManager).scheduleWatchdog()
@@ -1056,7 +1057,7 @@
             keyguardTransitionRepository.sendTransitionSteps(
                 from = KeyguardState.LOCKSCREEN,
                 to = KeyguardState.GONE,
-                testScope
+                testScope,
             )
             runCurrent()
             verify(faceManager).scheduleWatchdog()
@@ -1068,7 +1069,7 @@
             keyguardTransitionRepository.sendTransitionSteps(
                 from = KeyguardState.PRIMARY_BOUNCER,
                 to = KeyguardState.GONE,
-                testScope
+                testScope,
             )
             runCurrent()
             verify(faceManager).scheduleWatchdog()
@@ -1085,7 +1086,7 @@
 
             authenticationCallback.value.onAuthenticationError(
                 FACE_ERROR_HW_UNAVAILABLE,
-                "HW unavailable"
+                "HW unavailable",
             )
 
             advanceTimeBy(DeviceEntryFaceAuthRepositoryImpl.HAL_ERROR_RETRY_TIMEOUT)
@@ -1137,7 +1138,7 @@
 
     private suspend fun TestScope.testGatingCheckForFaceAuth(
         sceneContainerEnabled: Boolean = false,
-        gatingCheckModifier: suspend () -> Unit
+        gatingCheckModifier: suspend () -> Unit,
     ) {
         initCollectors()
         allPreconditionsToRunFaceAuthAreTrue(sceneContainerEnabled)
@@ -1180,7 +1181,7 @@
 
     private suspend fun TestScope.testGatingCheckForDetect(
         sceneContainerEnabled: Boolean = false,
-        gatingCheckModifier: suspend () -> Unit
+        gatingCheckModifier: suspend () -> Unit,
     ) {
         initCollectors()
         allPreconditionsToRunFaceAuthAreTrue(sceneContainerEnabled)
@@ -1194,7 +1195,7 @@
         // Trigger authenticate with detection fallback
         underTest.requestAuthenticate(
             FACE_AUTH_TRIGGERED_SWIPE_UP_ON_BOUNCER,
-            fallbackToDetection = true
+            fallbackToDetection = true,
         )
         runCurrent()
 
@@ -1213,7 +1214,7 @@
         // Try to run detect again
         underTest.requestAuthenticate(
             FACE_AUTH_TRIGGERED_SWIPE_UP_ON_BOUNCER,
-            fallbackToDetection = true
+            fallbackToDetection = true,
         )
 
         // Detect won't run because preconditions are not true anymore.
@@ -1242,7 +1243,7 @@
             // Keyguard is not going away
             kosmos.fakeKeyguardTransitionRepository.sendTransitionStep(
                 TransitionStep(KeyguardState.OFF, KeyguardState.LOCKSCREEN, value = 1.0f),
-                validateStep = false
+                validateStep = false,
             )
             kosmos.sceneInteractor.setTransitionState(
                 MutableStateFlow(ObservableTransitionState.Idle(Scenes.Lockscreen))
@@ -1263,7 +1264,7 @@
         keyguardTransitionRepository.sendTransitionSteps(
             from = KeyguardState.AOD,
             to = KeyguardState.LOCKSCREEN,
-            testScope
+            testScope,
         )
         runCurrent()
     }
@@ -1315,7 +1316,7 @@
                 any(),
                 any(),
                 isNull(),
-                any(FaceAuthenticateOptions::class.java)
+                any(FaceAuthenticateOptions::class.java),
             )
     }
 
@@ -1334,7 +1335,7 @@
                     "vendor/model/revision" /* hardwareVersion */,
                     "1.01" /* firmwareVersion */,
                     "00000001" /* serialNumber */,
-                    "" /* softwareVersion */
+                    "", /* softwareVersion */
                 )
             )
         return FaceSensorPropertiesInternal(
@@ -1345,7 +1346,7 @@
             FaceSensorProperties.TYPE_UNKNOWN,
             supportsFaceDetection /* supportsFaceDetection */,
             true /* supportsSelfIllumination */,
-            false /* resetLockoutRequiresChallenge */
+            false, /* resetLockoutRequiresChallenge */
         )
     }
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryFaceAuthInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryFaceAuthInteractorTest.kt
index e36d245..d2d8ab9 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryFaceAuthInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryFaceAuthInteractorTest.kt
@@ -55,6 +55,7 @@
 import com.android.systemui.power.domain.interactor.powerInteractor
 import com.android.systemui.power.shared.model.WakeSleepReason
 import com.android.systemui.scene.domain.interactor.sceneInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.testKosmos
 import com.android.systemui.user.data.model.SelectionStatus
@@ -298,9 +299,12 @@
         testScope.runTest {
             underTest.start()
 
-            kosmos.sceneInteractor.changeScene(Scenes.Bouncer, "for-test")
+            kosmos.sceneInteractor.snapToScene(Scenes.Lockscreen, "for-test")
+            kosmos.sceneInteractor.showOverlay(Overlays.Bouncer, "for-test")
             kosmos.sceneInteractor.setTransitionState(
-                MutableStateFlow(ObservableTransitionState.Idle(Scenes.Bouncer))
+                MutableStateFlow(
+                    ObservableTransitionState.Idle(Scenes.Lockscreen, setOf(Overlays.Bouncer))
+                )
             )
 
             runCurrent()
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractorTest.kt
index 84f08f1..d247137 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractorTest.kt
@@ -45,6 +45,7 @@
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.scene.domain.interactor.sceneInteractor
 import com.android.systemui.scene.domain.startable.sceneContainerStartable
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.statusbar.sysuiStatusBarStateController
 import com.android.systemui.testKosmos
@@ -179,7 +180,7 @@
             kosmos.fakeDeviceEntryRepository.setLockscreenEnabled(true)
             switchToScene(Scenes.Lockscreen)
             runCurrent()
-            switchToScene(Scenes.Bouncer)
+            showBouncer()
 
             val isDeviceEntered by collectLastValue(underTest.isDeviceEntered)
             assertThat(isDeviceEntered).isFalse()
@@ -375,6 +376,7 @@
     fun showOrUnlockDevice_noAlternateBouncer_switchesToBouncerScene() =
         testScope.runTest {
             val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             switchToScene(Scenes.Lockscreen)
             assertThat(currentScene).isEqualTo(Scenes.Lockscreen)
 
@@ -386,7 +388,7 @@
 
             underTest.attemptDeviceEntry()
 
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
         }
 
     @Test
@@ -437,6 +439,7 @@
             assertThat(isDeviceEntered).isFalse()
             assertThat(isDeviceEnteredDirectly).isFalse()
             val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             assertThat(currentScene).isEqualTo(Scenes.Lockscreen)
 
             // Navigate to shade and bouncer:
@@ -446,8 +449,8 @@
             // be shown and successful authentication should take the user back to where they are,
             // the shade scene.
             sysuiStatusBarStateController.setLeaveOpenOnKeyguardHide(true)
-            switchToScene(Scenes.Bouncer)
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            showBouncer()
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
 
             assertThat(isDeviceEntered).isFalse()
             assertThat(isDeviceEnteredDirectly).isFalse()
@@ -465,6 +468,19 @@
         runCurrent()
     }
 
+    private fun TestScope.showBouncer() {
+        sceneInteractor.showOverlay(Overlays.Bouncer, "reason")
+        sceneInteractor.setTransitionState(
+            flowOf(
+                ObservableTransitionState.Idle(
+                    sceneInteractor.currentScene.value,
+                    setOf(Overlays.Bouncer),
+                )
+            )
+        )
+        runCurrent()
+    }
+
     private suspend fun givenCanShowAlternateBouncer() {
         val canShowAlternateBouncer by
             testScope.collectLastValue(kosmos.alternateBouncerInteractor.canShowAlternateBouncer)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntrySourceInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntrySourceInteractorTest.kt
index a5c0da5..f15fd28 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntrySourceInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntrySourceInteractorTest.kt
@@ -45,6 +45,7 @@
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.scene.domain.interactor.sceneInteractor
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.statusbar.phone.dozeScrimController
 import com.android.systemui.statusbar.phone.screenOffAnimationController
@@ -145,6 +146,7 @@
             whenever(kosmos.keyguardUpdateMonitor.isDeviceInteractive).thenReturn(true)
             configureDeviceEntryBiometricAuthSuccessState(isFingerprintAuth = true)
             configureBiometricUnlockState(
+                primaryBouncerVisible = false,
                 alternateBouncerVisible = false,
                 sceneKey = Scenes.Lockscreen,
             )
@@ -167,7 +169,11 @@
 
             whenever(kosmos.keyguardUpdateMonitor.isDeviceInteractive).thenReturn(false)
             configureDeviceEntryBiometricAuthSuccessState(isFingerprintAuth = true)
-            configureBiometricUnlockState(alternateBouncerVisible = false, sceneKey = Scenes.Dream)
+            configureBiometricUnlockState(
+                primaryBouncerVisible = false,
+                alternateBouncerVisible = false,
+                sceneKey = Scenes.Dream,
+            )
             runCurrent()
 
             assertThat(deviceEntryFromBiometricSource)
@@ -185,8 +191,9 @@
             whenever(kosmos.keyguardUpdateMonitor.isDeviceInteractive).thenReturn(true)
             configureDeviceEntryBiometricAuthSuccessState(isFingerprintAuth = true)
             configureBiometricUnlockState(
+                primaryBouncerVisible = true,
                 alternateBouncerVisible = false,
-                sceneKey = Scenes.Bouncer,
+                sceneKey = Scenes.Lockscreen,
             )
             runCurrent()
 
@@ -205,6 +212,7 @@
             whenever(kosmos.keyguardUpdateMonitor.isDeviceInteractive).thenReturn(true)
             configureDeviceEntryBiometricAuthSuccessState(isFingerprintAuth = true)
             configureBiometricUnlockState(
+                primaryBouncerVisible = false,
                 alternateBouncerVisible = false,
                 sceneKey = Scenes.Lockscreen,
             )
@@ -225,6 +233,7 @@
             whenever(kosmos.keyguardUpdateMonitor.isDeviceInteractive).thenReturn(true)
             configureDeviceEntryBiometricAuthSuccessState(isFingerprintAuth = true)
             configureBiometricUnlockState(
+                primaryBouncerVisible = false,
                 alternateBouncerVisible = true,
                 sceneKey = Scenes.Lockscreen,
             )
@@ -247,6 +256,7 @@
             whenever(kosmos.keyguardUpdateMonitor.isDeviceInteractive).thenReturn(true)
             configureDeviceEntryBiometricAuthSuccessState(isFaceAuth = true)
             configureBiometricUnlockState(
+                primaryBouncerVisible = false,
                 alternateBouncerVisible = false,
                 sceneKey = Scenes.Lockscreen,
             )
@@ -274,6 +284,7 @@
             whenever(kosmos.keyguardUpdateMonitor.isDeviceInteractive).thenReturn(true)
             configureDeviceEntryBiometricAuthSuccessState(isFaceAuth = true)
             configureBiometricUnlockState(
+                primaryBouncerVisible = false,
                 alternateBouncerVisible = false,
                 sceneKey = Scenes.Lockscreen,
             )
@@ -295,8 +306,9 @@
             whenever(kosmos.keyguardUpdateMonitor.isDeviceInteractive).thenReturn(true)
             configureDeviceEntryBiometricAuthSuccessState(isFaceAuth = true)
             configureBiometricUnlockState(
+                primaryBouncerVisible = true,
                 alternateBouncerVisible = false,
-                sceneKey = Scenes.Bouncer,
+                sceneKey = Scenes.Lockscreen,
             )
             runCurrent()
 
@@ -314,7 +326,11 @@
 
             whenever(kosmos.keyguardUpdateMonitor.isDeviceInteractive).thenReturn(true)
             configureDeviceEntryBiometricAuthSuccessState(isFaceAuth = true)
-            configureBiometricUnlockState(alternateBouncerVisible = false, sceneKey = Scenes.Shade)
+            configureBiometricUnlockState(
+                primaryBouncerVisible = false,
+                alternateBouncerVisible = false,
+                sceneKey = Scenes.Shade,
+            )
             runCurrent()
 
             // MODE_NONE does not dismiss keyguard
@@ -333,6 +349,7 @@
             whenever(kosmos.keyguardUpdateMonitor.isDeviceInteractive).thenReturn(true)
             configureDeviceEntryBiometricAuthSuccessState(isFaceAuth = true)
             configureBiometricUnlockState(
+                primaryBouncerVisible = false,
                 alternateBouncerVisible = false,
                 sceneKey = Scenes.Lockscreen,
             )
@@ -354,6 +371,7 @@
             kosmos.keyguardOcclusionRepository.setShowWhenLockedActivityInfo(onTop = true)
             configureDeviceEntryBiometricAuthSuccessState(isFaceAuth = true)
             configureBiometricUnlockState(
+                primaryBouncerVisible = false,
                 alternateBouncerVisible = true,
                 sceneKey = Scenes.Lockscreen,
             )
@@ -381,13 +399,20 @@
     }
 
     private fun configureBiometricUnlockState(
+        primaryBouncerVisible: Boolean,
         alternateBouncerVisible: Boolean,
         sceneKey: SceneKey,
     ) {
         kosmos.keyguardBouncerRepository.setAlternateVisible(alternateBouncerVisible)
         kosmos.sceneInteractor.changeScene(sceneKey, "reason")
+        if (primaryBouncerVisible) kosmos.sceneInteractor.showOverlay(Overlays.Bouncer, "reason")
         kosmos.sceneInteractor.setTransitionState(
-            MutableStateFlow<ObservableTransitionState>(ObservableTransitionState.Idle(sceneKey))
+            MutableStateFlow<ObservableTransitionState>(
+                ObservableTransitionState.Idle(
+                    sceneKey,
+                    if (primaryBouncerVisible) setOf(Overlays.Bouncer) else emptySet(),
+                )
+            )
         )
     }
 }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/dreams/DreamOverlayServiceTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/dreams/DreamOverlayServiceTest.kt
index 526510a..b42eddd 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/dreams/DreamOverlayServiceTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/dreams/DreamOverlayServiceTest.kt
@@ -77,6 +77,7 @@
 import com.android.systemui.navigationbar.gestural.domain.TaskMatcher
 import com.android.systemui.scene.data.repository.sceneContainerRepository
 import com.android.systemui.scene.domain.interactor.sceneInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.testKosmos
 import com.android.systemui.touch.TouchInsetManager
@@ -1073,7 +1074,8 @@
         assertThat(lifecycleRegistry.currentState).isEqualTo(Lifecycle.State.RESUMED)
 
         // Bouncer shows.
-        kosmos.sceneInteractor.changeScene(Scenes.Bouncer, "test")
+        kosmos.sceneInteractor.snapToScene(Scenes.Lockscreen, "test")
+        kosmos.sceneInteractor.showOverlay(Overlays.Bouncer, "test")
         testScope.runCurrent()
         mMainExecutor.runAllReady()
 
@@ -1082,6 +1084,7 @@
 
         // Bouncer closes.
         kosmos.sceneInteractor.changeScene(Scenes.Dream, "test")
+        kosmos.sceneInteractor.hideOverlay(Overlays.Bouncer, "test")
         testScope.runCurrent()
         mMainExecutor.runAllReady()
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModelTest.kt
index 102ce0b..69b6e6c 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModelTest.kt
@@ -74,7 +74,8 @@
 
             setUpState(isShadeTouchable = true, isDeviceUnlocked = false)
             assertThat(actions).isNotEmpty()
-            assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer))
+            assertThat(actions?.get(Swipe.Up))
+                .isEqualTo(UserActionResult.ShowOverlay(Overlays.Bouncer))
             assertThat(actions?.get(Swipe.Down)).isEqualTo(UserActionResult(Scenes.Shade))
             assertThat(actions?.get(Swipe.Start)).isNull()
             assertThat(actions?.get(Swipe.End)).isNull()
@@ -99,7 +100,8 @@
 
             setUpState(isShadeTouchable = true, isDeviceUnlocked = false)
             assertThat(actions).isNotEmpty()
-            assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer))
+            assertThat(actions?.get(Swipe.Up))
+                .isEqualTo(UserActionResult.ShowOverlay(Overlays.Bouncer))
             assertThat(actions?.get(Swipe.Down))
                 .isEqualTo(UserActionResult(Scenes.Shade, ToSplitShade))
             assertThat(actions?.get(Swipe.Start)).isNull()
@@ -126,7 +128,8 @@
 
             setUpState(isShadeTouchable = true, isDeviceUnlocked = false)
             assertThat(actions).isNotEmpty()
-            assertThat(actions?.get(Swipe.Up)).isEqualTo(UserActionResult(Scenes.Bouncer))
+            assertThat(actions?.get(Swipe.Up))
+                .isEqualTo(UserActionResult.ShowOverlay(Overlays.Bouncer))
             assertThat(actions?.get(Swipe.Down))
                 .isEqualTo(UserActionResult.ShowOverlay(Overlays.NotificationsShade))
             assertThat(actions?.get(Swipe.Start)).isNull()
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/inputdevice/tutorial/ui/viewmodel/KeyboardTouchpadTutorialViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/inputdevice/tutorial/ui/viewmodel/KeyboardTouchpadTutorialViewModelTest.kt
index 57bcc14..63be132 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/inputdevice/tutorial/ui/viewmodel/KeyboardTouchpadTutorialViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/inputdevice/tutorial/ui/viewmodel/KeyboardTouchpadTutorialViewModelTest.kt
@@ -248,6 +248,23 @@
         }
 
     @Test
+    fun screensOrderUntilFinish_whenAutoProceed() =
+        testScope.runTest {
+            val screens by collectValues(viewModel.screen)
+            val closeActivity by collectLastValue(viewModel.closeActivity)
+
+            peripheralsState(keyboardConnected = true, touchpadConnected = true)
+
+            autoProceed()
+            autoProceed()
+            // No autoproceeding at the last screen
+            goToNextScreen()
+
+            assertThat(screens).containsExactly(BACK_GESTURE, HOME_GESTURE, ACTION_KEY).inOrder()
+            assertThat(closeActivity).isTrue()
+        }
+
+    @Test
     fun activityFinishes_ifTouchpadModuleIsNotPresent() =
         testScope.runTest {
             val viewModel =
@@ -299,6 +316,11 @@
         runCurrent()
     }
 
+    private suspend fun TestScope.autoProceed() {
+        viewModel.onAutoProceed()
+        runCurrent()
+    }
+
     private fun TestScope.goBack() {
         viewModel.onBack()
         runCurrent()
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt
index 32a631b..043daf0 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ResourceTrimmerTest.kt
@@ -8,16 +8,19 @@
 import com.android.systemui.flags.DisableSceneContainer
 import com.android.systemui.flags.EnableSceneContainer
 import com.android.systemui.flags.fakeFeatureFlagsClassic
+import com.android.systemui.keyguard.data.repository.fakeDeviceEntryFingerprintAuthRepository
 import com.android.systemui.keyguard.data.repository.fakeKeyguardRepository
 import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository
 import com.android.systemui.keyguard.domain.interactor.keyguardTransitionInteractor
 import com.android.systemui.keyguard.shared.model.KeyguardState
+import com.android.systemui.keyguard.shared.model.SuccessFingerprintAuthenticationStatus
 import com.android.systemui.kosmos.testDispatcher
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.power.domain.interactor.PowerInteractor.Companion.setAsleepForTest
 import com.android.systemui.power.domain.interactor.powerInteractor
 import com.android.systemui.scene.data.repository.Idle
 import com.android.systemui.scene.data.repository.setSceneTransition
+import com.android.systemui.scene.domain.interactor.sceneInteractor
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.testKosmos
 import com.android.systemui.utils.GlobalWindowManager
@@ -130,7 +133,7 @@
             keyguardTransitionRepository.sendTransitionSteps(
                 from = KeyguardState.LOCKSCREEN,
                 to = KeyguardState.GONE,
-                testScope
+                testScope,
             )
             verify(globalWindowManager, times(1))
                 .trimMemory(ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN)
@@ -141,6 +144,13 @@
     @EnableSceneContainer
     fun keyguardTransitionsToGone_trimsFontCache_scene_container() =
         testScope.runTest {
+            kosmos.sceneInteractor.snapToScene(Scenes.Lockscreen, "reason")
+            kosmos.fakeDeviceEntryFingerprintAuthRepository.setAuthenticationStatus(
+                SuccessFingerprintAuthenticationStatus(0, true)
+            )
+            runCurrent()
+
+            kosmos.sceneInteractor.changeScene(Scenes.Gone, "")
             kosmos.setSceneTransition(Idle(Scenes.Gone))
 
             verify(globalWindowManager, times(1))
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/DeviceEntrySideFpsOverlayInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/DeviceEntrySideFpsOverlayInteractorTest.kt
index 425079d..5bcf73b 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/DeviceEntrySideFpsOverlayInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/DeviceEntrySideFpsOverlayInteractorTest.kt
@@ -41,7 +41,7 @@
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.res.R
 import com.android.systemui.scene.domain.interactor.sceneInteractor
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.statusbar.policy.KeyguardStateController
 import com.android.systemui.testKosmos
 import com.android.systemui.user.domain.interactor.SelectedUserInteractor
@@ -173,7 +173,7 @@
                 collectLastValue(underTest.showIndicatorForDeviceEntry)
             runCurrent()
 
-            updateBouncerScene(
+            updateBouncer(
                 isActive = true,
                 fpsDetectionRunning = true,
                 isUnlockingWithFpAllowed = true,
@@ -199,7 +199,7 @@
                 collectLastValue(underTest.showIndicatorForDeviceEntry)
             runCurrent()
 
-            updateBouncerScene(
+            updateBouncer(
                 isActive = false,
                 fpsDetectionRunning = true,
                 isUnlockingWithFpAllowed = true,
@@ -248,7 +248,7 @@
                 collectLastValue(underTest.showIndicatorForDeviceEntry)
             runCurrent()
 
-            updateBouncerScene(
+            updateBouncer(
                 isActive = true,
                 fpsDetectionRunning = false,
                 isUnlockingWithFpAllowed = true,
@@ -264,7 +264,7 @@
                 collectLastValue(underTest.showIndicatorForDeviceEntry)
             runCurrent()
 
-            updateBouncerScene(
+            updateBouncer(
                 isActive = true,
                 fpsDetectionRunning = true,
                 isUnlockingWithFpAllowed = false,
@@ -349,15 +349,16 @@
         )
     }
 
-    private fun TestScope.updateBouncerScene(
+    private fun TestScope.updateBouncer(
         isActive: Boolean,
         fpsDetectionRunning: Boolean,
         isUnlockingWithFpAllowed: Boolean,
     ) {
-        kosmos.sceneInteractor.changeScene(
-            if (isActive) Scenes.Bouncer else Scenes.Lockscreen,
-            "reason",
-        )
+        if (isActive) {
+            kosmos.sceneInteractor.showOverlay(Overlays.Bouncer, "reason")
+        } else {
+            kosmos.sceneInteractor.hideOverlay(Overlays.Bouncer, "reason")
+        }
 
         whenever(keyguardUpdateMonitor.isFingerprintDetectionRunning)
             .thenReturn(fpsDetectionRunning)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractorTest.kt
index c63f6f6..0a5f079 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractorTest.kt
@@ -38,10 +38,12 @@
 import com.android.systemui.kosmos.collectLastValue
 import com.android.systemui.kosmos.runTest
 import com.android.systemui.kosmos.testScope
+import com.android.systemui.scene.data.repository.HideOverlay
 import com.android.systemui.scene.data.repository.Idle
 import com.android.systemui.scene.data.repository.Transition
 import com.android.systemui.scene.data.repository.setSceneTransition
 import com.android.systemui.scene.domain.interactor.sceneInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.testKosmos
 import com.google.common.truth.Truth.assertThat
@@ -221,7 +223,7 @@
     @Test
     fun doNotResetDismissActionOnUnlockedShade() =
         testScope.runTest {
-            kosmos.setSceneTransition(Idle(Scenes.Bouncer))
+            kosmos.setSceneTransition(Idle(Scenes.Lockscreen, setOf(Overlays.Bouncer)))
             kosmos.fakeAuthenticationRepository.setAuthenticationMethod(
                 AuthenticationMethodModel.None
             )
@@ -238,7 +240,12 @@
             assertThat(wasOnCancelInvoked).isFalse()
 
             kosmos.setSceneTransition(
-                Transition(from = Scenes.Bouncer, to = Scenes.Shade, progress = flowOf(1f))
+                HideOverlay(
+                    overlay = Overlays.Bouncer,
+                    toScene = Scenes.Shade,
+                    currentOverlays = flowOf(emptySet()),
+                    progress = flowOf(1f),
+                )
             )
             runCurrent()
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractorTest.kt
index 6d53e6c..3fe30b7 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractorTest.kt
@@ -24,9 +24,11 @@
 import com.android.systemui.flags.DisableSceneContainer
 import com.android.systemui.flags.EnableSceneContainer
 import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepository
+import com.android.systemui.keyguard.data.repository.fakeDeviceEntryFingerprintAuthRepository
 import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository
 import com.android.systemui.keyguard.shared.model.KeyguardState
 import com.android.systemui.keyguard.shared.model.KeyguardSurfaceBehindModel
+import com.android.systemui.keyguard.shared.model.SuccessFingerprintAuthenticationStatus
 import com.android.systemui.keyguard.shared.model.TransitionState
 import com.android.systemui.keyguard.shared.model.TransitionStep
 import com.android.systemui.keyguard.util.mockTopActivityClassName
@@ -34,6 +36,7 @@
 import com.android.systemui.scene.data.repository.Idle
 import com.android.systemui.scene.data.repository.Transition
 import com.android.systemui.scene.data.repository.setSceneTransition
+import com.android.systemui.scene.domain.interactor.sceneInteractor
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.shared.system.ActivityManagerWrapper
 import com.android.systemui.shared.system.activityManagerWrapper
@@ -84,7 +87,7 @@
             assertThat(values)
                 .containsExactly(
                     // We're initialized in LOCKSCREEN.
-                    KeyguardSurfaceBehindModel(alpha = 0f),
+                    KeyguardSurfaceBehindModel(alpha = 0f)
                 )
 
             transitionRepository.sendTransitionStep(
@@ -105,7 +108,7 @@
                         it.alpha == 1f &&
                         it.animateFromTranslationY != 0f &&
                         it.translationY == 0f
-                }
+                },
             )
 
             transitionRepository.sendTransitionStep(
@@ -125,7 +128,7 @@
                         it.alpha == 1f &&
                         it.animateFromTranslationY != 0f &&
                         it.translationY == 0f
-                }
+                },
             )
 
             transitionRepository.sendTransitionStep(
@@ -146,7 +149,7 @@
                         it.translationY == 0f
                 },
                 // Once the current state is GONE, we should default to alpha = 1f.
-                { it == KeyguardSurfaceBehindModel(alpha = 1f) }
+                { it == KeyguardSurfaceBehindModel(alpha = 1f) },
             )
         }
 
@@ -161,7 +164,7 @@
             assertThat(values)
                 .containsExactly(
                     // We're initialized in LOCKSCREEN.
-                    KeyguardSurfaceBehindModel(alpha = 0f),
+                    KeyguardSurfaceBehindModel(alpha = 0f)
                 )
                 .inOrder()
 
@@ -242,8 +245,7 @@
 
             values.assertValuesMatch(
                 // We should be at alpha = 0f during the animation.
-                { it == KeyguardSurfaceBehindModel(alpha = 0f) },
-            )
+                { it == KeyguardSurfaceBehindModel(alpha = 0f) })
         }
 
     @Test
@@ -251,14 +253,19 @@
     fun testSurfaceBehindModel_toAppSurface_scene_container() =
         testScope.runTest {
             val values by collectValues(underTest.viewParams)
+            kosmos.sceneInteractor.snapToScene(Scenes.Lockscreen, "")
+            kosmos.fakeDeviceEntryFingerprintAuthRepository.setAuthenticationStatus(
+                SuccessFingerprintAuthenticationStatus(0, true)
+            )
             runCurrent()
 
             assertThat(values)
                 .containsExactly(
                     // We're initialized in LOCKSCREEN.
-                    KeyguardSurfaceBehindModel(alpha = 0f),
+                    KeyguardSurfaceBehindModel(alpha = 0f)
                 )
 
+            kosmos.sceneInteractor.changeScene(Scenes.Gone, "")
             kosmos.setSceneTransition(Transition(Scenes.Lockscreen, Scenes.Gone))
 
             values.assertValuesMatch(
@@ -270,7 +277,7 @@
                         it.alpha == 1f &&
                         it.animateFromTranslationY != 0f &&
                         it.translationY == 0f
-                }
+                },
             )
 
             kosmos.setSceneTransition(Idle(Scenes.Gone))
@@ -284,7 +291,7 @@
                         it.translationY == 0f
                 },
                 // Once the current state is GONE, we should default to alpha = 1f.
-                { it == KeyguardSurfaceBehindModel(alpha = 1f) }
+                { it == KeyguardSurfaceBehindModel(alpha = 1f) },
             )
         }
 
@@ -294,15 +301,20 @@
         testScope.runTest {
             val values by collectValues(underTest.viewParams)
             activityManagerWrapper.mockTopActivityClassName(LAUNCHER_ACTIVITY_NAME)
+            kosmos.sceneInteractor.snapToScene(Scenes.Lockscreen, "")
+            kosmos.fakeDeviceEntryFingerprintAuthRepository.setAuthenticationStatus(
+                SuccessFingerprintAuthenticationStatus(0, true)
+            )
             runCurrent()
 
             assertThat(values)
                 .containsExactly(
                     // We're initialized in LOCKSCREEN.
-                    KeyguardSurfaceBehindModel(alpha = 0f),
+                    KeyguardSurfaceBehindModel(alpha = 0f)
                 )
                 .inOrder()
 
+            kosmos.sceneInteractor.changeScene(Scenes.Gone, "")
             kosmos.setSceneTransition(Transition(Scenes.Lockscreen, Scenes.Gone))
 
             assertThat(values)
@@ -340,8 +352,7 @@
 
             values.assertValuesMatch(
                 // We should be at alpha = 0f during the animation.
-                { it == KeyguardSurfaceBehindModel(alpha = 0f) },
-            )
+                { it == KeyguardSurfaceBehindModel(alpha = 0f) })
         }
 
     @Test
@@ -435,6 +446,13 @@
         testScope.runTest {
             val isAnimatingSurface by collectLastValue(underTest.isAnimatingSurface)
 
+            kosmos.sceneInteractor.snapToScene(Scenes.Lockscreen, "")
+            kosmos.fakeDeviceEntryFingerprintAuthRepository.setAuthenticationStatus(
+                SuccessFingerprintAuthenticationStatus(0, true)
+            )
+            runCurrent()
+
+            kosmos.sceneInteractor.changeScene(Scenes.Gone, "")
             kosmos.setSceneTransition(Idle(Scenes.Gone))
             kosmos.notificationLaunchAnimationInteractor.setIsLaunchAnimationRunning(true)
             runCurrent()
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionInteractorTest.kt
index 0b42898..2d1c905 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionInteractorTest.kt
@@ -24,6 +24,7 @@
 import com.android.systemui.flags.DisableSceneContainer
 import com.android.systemui.flags.EnableSceneContainer
 import com.android.systemui.keyguard.data.repository.FakeKeyguardTransitionRepository
+import com.android.systemui.keyguard.data.repository.fakeDeviceEntryFingerprintAuthRepository
 import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository
 import com.android.systemui.keyguard.shared.model.Edge
 import com.android.systemui.keyguard.shared.model.KeyguardState
@@ -34,15 +35,20 @@
 import com.android.systemui.keyguard.shared.model.KeyguardState.OFF
 import com.android.systemui.keyguard.shared.model.KeyguardState.PRIMARY_BOUNCER
 import com.android.systemui.keyguard.shared.model.KeyguardState.UNDEFINED
+import com.android.systemui.keyguard.shared.model.SuccessFingerprintAuthenticationStatus
 import com.android.systemui.keyguard.shared.model.TransitionState.CANCELED
 import com.android.systemui.keyguard.shared.model.TransitionState.FINISHED
 import com.android.systemui.keyguard.shared.model.TransitionState.RUNNING
 import com.android.systemui.keyguard.shared.model.TransitionState.STARTED
 import com.android.systemui.keyguard.shared.model.TransitionStep
 import com.android.systemui.kosmos.testScope
+import com.android.systemui.scene.data.repository.HideOverlay
 import com.android.systemui.scene.data.repository.Idle
+import com.android.systemui.scene.data.repository.ShowOverlay
 import com.android.systemui.scene.data.repository.Transition
 import com.android.systemui.scene.data.repository.setSceneTransition
+import com.android.systemui.scene.domain.interactor.sceneInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.testKosmos
 import com.google.common.truth.Truth.assertThat
@@ -295,11 +301,13 @@
                 inTransition,
             )
 
-            kosmos.setSceneTransition(Transition(Scenes.Gone, Scenes.Bouncer))
+            kosmos.setSceneTransition(
+                ShowOverlay(overlay = Overlays.Bouncer, fromScene = Scenes.Gone)
+            )
 
             assertEquals(listOf(false, true, false, true), inTransition)
 
-            kosmos.setSceneTransition(Idle(Scenes.Bouncer))
+            kosmos.setSceneTransition(Idle(Scenes.Lockscreen, setOf(Overlays.Bouncer)))
 
             assertEquals(listOf(false, true, false, true, false), inTransition)
         }
@@ -713,6 +721,11 @@
                 TransitionStep(AOD, DOZING, 1f, FINISHED),
             )
 
+            kosmos.sceneInteractor.snapToScene(Scenes.Lockscreen, "reason")
+            kosmos.fakeDeviceEntryFingerprintAuthRepository.setAuthenticationStatus(
+                SuccessFingerprintAuthenticationStatus(0, true)
+            )
+
             assertThat(results)
                 .isEqualTo(
                     listOf(
@@ -724,6 +737,7 @@
 
             assertThat(results).isEqualTo(listOf(false))
 
+            kosmos.sceneInteractor.changeScene(Scenes.Gone, "reason")
             kosmos.setSceneTransition(Idle(Scenes.Gone))
 
             assertThat(results).isEqualTo(listOf(false, true))
@@ -732,6 +746,7 @@
 
             assertThat(results).isEqualTo(listOf(false, true))
 
+            kosmos.sceneInteractor.changeScene(Scenes.Lockscreen, "reason")
             kosmos.setSceneTransition(Idle(Scenes.Lockscreen))
 
             assertThat(results).isEqualTo(listOf(false, true, false))
@@ -740,6 +755,7 @@
 
             assertThat(results).isEqualTo(listOf(false, true, false))
 
+            kosmos.sceneInteractor.changeScene(Scenes.Gone, "reason")
             kosmos.setSceneTransition(Idle(Scenes.Gone))
 
             assertThat(results).isEqualTo(listOf(false, true, false, true))
@@ -1042,13 +1058,23 @@
             progress.emit(0.6f)
             runCurrent()
 
-            kosmos.setSceneTransition(Transition(Scenes.Gone, Scenes.Bouncer, progress = progress))
+            kosmos.setSceneTransition(
+                ShowOverlay(
+                    overlay = Overlays.Bouncer,
+                    fromScene = Scenes.Gone,
+                    progress = progress,
+                )
+            )
 
             progress.emit(0.1f)
             runCurrent()
 
             kosmos.setSceneTransition(
-                Transition(Scenes.Bouncer, Scenes.Lockscreen, progress = progress)
+                HideOverlay(
+                    overlay = Overlays.Bouncer,
+                    toScene = Scenes.Lockscreen,
+                    progress = progress,
+                )
             )
 
             progress.emit(0.3f)
@@ -1087,12 +1113,20 @@
 
             kosmos.setSceneTransition(Idle(Scenes.Gone))
 
-            kosmos.setSceneTransition(Transition(Scenes.Gone, Scenes.Bouncer, progress = progress))
+            kosmos.setSceneTransition(
+                ShowOverlay(
+                    overlay = Overlays.Bouncer,
+                    fromScene = Scenes.Gone,
+                    progress = progress,
+                )
+            )
 
             progress.emit(0.1f)
             runCurrent()
 
-            kosmos.setSceneTransition(Transition(Scenes.Bouncer, Scenes.Gone, progress = progress))
+            kosmos.setSceneTransition(
+                HideOverlay(overlay = Overlays.Bouncer, toScene = Scenes.Gone, progress = progress)
+            )
 
             progress.emit(0.3f)
             runCurrent()
@@ -1125,7 +1159,13 @@
             progress1.emit(0.1f)
             runCurrent()
 
-            kosmos.setSceneTransition(Transition(Scenes.Gone, Scenes.Bouncer, progress = progress2))
+            kosmos.setSceneTransition(
+                ShowOverlay(
+                    overlay = Overlays.Bouncer,
+                    fromScene = Scenes.Gone,
+                    progress = progress2,
+                )
+            )
 
             progress2.emit(0.3f)
             runCurrent()
@@ -1152,8 +1192,14 @@
             val currentStatesMapped by
                 collectValues(underTest.transition(Edge.create(LOCKSCREEN, Scenes.Gone)))
 
+            kosmos.sceneInteractor.snapToScene(Scenes.Lockscreen, "reason")
+            kosmos.fakeDeviceEntryFingerprintAuthRepository.setAuthenticationStatus(
+                SuccessFingerprintAuthenticationStatus(0, true)
+            )
+
             kosmos.setSceneTransition(Transition(Scenes.Gone, Scenes.Lockscreen))
             val sendStep1 = TransitionStep(UNDEFINED, LOCKSCREEN, 0f, STARTED)
+            kosmos.sceneInteractor.changeScene(Scenes.Gone, "reason")
             kosmos.setSceneTransition(Idle(Scenes.Gone))
             val sendStep2 = TransitionStep(UNDEFINED, LOCKSCREEN, 0.6f, CANCELED)
             sendSteps(sendStep1, sendStep2)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/WindowManagerLockscreenVisibilityInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/WindowManagerLockscreenVisibilityInteractorTest.kt
index b7c162b..f0eedee 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/WindowManagerLockscreenVisibilityInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/WindowManagerLockscreenVisibilityInteractorTest.kt
@@ -37,11 +37,13 @@
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.scene.data.model.asIterable
 import com.android.systemui.scene.data.model.sceneStackOf
+import com.android.systemui.scene.data.repository.HideOverlay
 import com.android.systemui.scene.data.repository.Idle
 import com.android.systemui.scene.data.repository.Transition
 import com.android.systemui.scene.data.repository.setSceneTransition
 import com.android.systemui.scene.domain.interactor.sceneBackInteractor
 import com.android.systemui.scene.domain.interactor.sceneInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.testKosmos
 import com.android.systemui.util.mockito.mock
@@ -250,12 +252,14 @@
     fun surfaceBehindVisibility_fromBouncerToGone_becomesTrue() =
         testScope.runTest {
             val isSurfaceBehindVisible by collectLastValue(underTest.value.surfaceBehindVisibility)
-            val currentScene by collectLastValue(kosmos.sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(kosmos.sceneInteractor.currentOverlays)
 
             // Before the transition, we start on Bouncer so the surface should start invisible.
-            kosmos.setSceneTransition(ObservableTransitionState.Idle(Scenes.Bouncer))
-            kosmos.sceneInteractor.changeScene(Scenes.Bouncer, "")
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            kosmos.setSceneTransition(
+                ObservableTransitionState.Idle(Scenes.Lockscreen, setOf(Overlays.Bouncer))
+            )
+            kosmos.sceneInteractor.showOverlay(Overlays.Bouncer, "")
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
             assertThat(isSurfaceBehindVisible).isFalse()
 
             // Unlocked with fingerprint.
@@ -267,44 +271,45 @@
             // the
             // threshold.
             kosmos.setSceneTransition(
-                ObservableTransitionState.Transition(
-                    fromScene = Scenes.Bouncer,
+                ObservableTransitionState.Transition.hideOverlay(
+                    overlay = Overlays.Bouncer,
                     toScene = Scenes.Gone,
-                    isInitiatedByUserInput = false,
-                    isUserInputOngoing = flowOf(false),
+                    currentOverlays = flowOf(setOf(Overlays.Bouncer)),
                     progress =
                         flowOf(
                             FromPrimaryBouncerTransitionInteractor
                                 .TO_GONE_SURFACE_BEHIND_VISIBLE_THRESHOLD
                         ),
-                    currentScene = flowOf(Scenes.Bouncer),
+                    isInitiatedByUserInput = false,
+                    isUserInputOngoing = flowOf(false),
                 )
             )
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
             assertThat(isSurfaceBehindVisible).isFalse()
 
             // Once the transition passes the threshold, the surface should become visible.
             kosmos.setSceneTransition(
-                ObservableTransitionState.Transition(
-                    fromScene = Scenes.Bouncer,
+                ObservableTransitionState.Transition.hideOverlay(
+                    overlay = Overlays.Bouncer,
                     toScene = Scenes.Gone,
-                    isInitiatedByUserInput = false,
-                    isUserInputOngoing = flowOf(false),
+                    currentOverlays = flowOf(setOf(Overlays.Bouncer)),
                     progress =
                         flowOf(
                             FromPrimaryBouncerTransitionInteractor
                                 .TO_GONE_SURFACE_BEHIND_VISIBLE_THRESHOLD + 0.01f
                         ),
-                    currentScene = flowOf(Scenes.Gone),
+                    isInitiatedByUserInput = false,
+                    isUserInputOngoing = flowOf(false),
                 )
             )
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
             assertThat(isSurfaceBehindVisible).isTrue()
 
             // After the transition, settles on Gone. Surface behind should stay visible now.
             kosmos.setSceneTransition(ObservableTransitionState.Idle(Scenes.Gone))
             kosmos.sceneInteractor.changeScene(Scenes.Gone, "")
-            assertThat(currentScene).isEqualTo(Scenes.Gone)
+            kosmos.sceneInteractor.hideOverlay(Overlays.Bouncer, "")
+            assertThat(currentOverlays).doesNotContain(Overlays.Bouncer)
             assertThat(isSurfaceBehindVisible).isTrue()
         }
 
@@ -1012,6 +1017,7 @@
 
             kosmos.setSceneTransition(Idle(Scenes.Lockscreen))
             val currentScene by collectLastValue(kosmos.sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(kosmos.sceneInteractor.currentOverlays)
             assertThat(currentScene).isEqualTo(Scenes.Lockscreen)
 
             val lockscreenVisibility by collectLastValue(underTest.value.lockscreenVisibility)
@@ -1038,12 +1044,16 @@
             assertThat(currentScene).isEqualTo(Scenes.Shade)
             assertThat(lockscreenVisibility).isTrue()
 
-            kosmos.setSceneTransition(Idle(Scenes.Bouncer))
-            kosmos.sceneInteractor.changeScene(Scenes.Bouncer, "")
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            kosmos.setSceneTransition(Idle(Scenes.Lockscreen, setOf(Overlays.Bouncer)))
+            kosmos.sceneInteractor.snapToScene(Scenes.Lockscreen, "")
+            kosmos.sceneInteractor.showOverlay(Overlays.Bouncer, "")
+            assertThat(currentScene).isEqualTo(Scenes.Lockscreen)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
             assertThat(lockscreenVisibility).isTrue()
 
-            kosmos.setSceneTransition(Transition(from = Scenes.Bouncer, to = Scenes.Gone))
+            kosmos.setSceneTransition(
+                HideOverlay(overlay = Overlays.Bouncer, toScene = Scenes.Gone)
+            )
             assertThat(lockscreenVisibility).isTrue()
 
             kosmos.setSceneTransition(Idle(Scenes.Gone))
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/scenetransition/LockscreenSceneTransitionInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/scenetransition/LockscreenSceneTransitionInteractorTest.kt
index 3cff0fc..41ec065 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/scenetransition/LockscreenSceneTransitionInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/scenetransition/LockscreenSceneTransitionInteractorTest.kt
@@ -1220,13 +1220,13 @@
 
             progress.value = 0.4f
             sceneTransitions.value =
-                ObservableTransitionState.Transition(
-                    Scenes.Lockscreen,
-                    Scenes.Bouncer,
-                    flowOf(Scenes.Lockscreen),
-                    progress,
-                    false,
-                    flowOf(false),
+                ObservableTransitionState.Transition.showOverlay(
+                    overlay = Overlays.Bouncer,
+                    fromScene = Scenes.Lockscreen,
+                    currentOverlays = flowOf(setOf(Overlays.Bouncer)),
+                    progress = progress,
+                    isInitiatedByUserInput = false,
+                    isUserInputOngoing = flowOf(false),
                 )
 
             assertTransition(
@@ -1342,7 +1342,7 @@
             sceneTransitions.value =
                 ObservableTransitionState.Transition(
                     Scenes.Gone,
-                    Scenes.Bouncer,
+                    Scenes.Dream,
                     flowOf(Scenes.Lockscreen),
                     progress,
                     false,
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModelTest.kt
index a31728c..91cb1ff 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModelTest.kt
@@ -39,6 +39,7 @@
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.scene.data.repository.sceneContainerRepository
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.shade.shadeTestUtil
 import com.android.systemui.testKosmos
@@ -125,14 +126,15 @@
 
             kosmos.sceneContainerRepository.setTransitionState(transitionState)
             transitionState.value =
-                ObservableTransitionState.Transition(
+                ObservableTransitionState.Transition.showOverlay(
+                    overlay = Overlays.Bouncer,
                     fromScene = Scenes.Lockscreen,
-                    toScene = Scenes.Bouncer,
-                    emptyFlow(),
-                    emptyFlow(),
-                    false,
-                    emptyFlow(),
+                    currentOverlays = emptyFlow(),
+                    progress = emptyFlow(),
+                    isInitiatedByUserInput = false,
+                    isUserInputOngoing = emptyFlow(),
                 )
+
             runCurrent()
             // fade out
             repository.sendTransitionStep(step(0f, TransitionState.STARTED))
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModelTest.kt
index f357d0c..f98ddd2 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModelTest.kt
@@ -19,6 +19,7 @@
 import android.platform.test.annotations.EnableFlags
 import android.testing.TestableLooper.RunWithLooper
 import androidx.test.filters.SmallTest
+import com.android.compose.animation.scene.ContentKey
 import com.android.compose.animation.scene.Edge
 import com.android.compose.animation.scene.SceneKey
 import com.android.compose.animation.scene.Swipe
@@ -135,11 +136,11 @@
         private fun expectedUpDestination(
             canSwipeToEnter: Boolean,
             isShadeTouchable: Boolean,
-        ): SceneKey? {
+        ): ContentKey? {
             return when {
                 !isShadeTouchable -> null
                 canSwipeToEnter -> Scenes.Gone
-                else -> Scenes.Bouncer
+                else -> Overlays.Bouncer
             }
         }
     }
@@ -215,15 +216,17 @@
                     )
                 )
 
-            val upScene by
-                collectLastValue(
-                    (userActions?.get(Swipe.Up) as? UserActionResult.ChangeScene)?.toScene?.let {
-                        scene ->
-                        kosmos.sceneInteractor.resolveSceneFamily(scene)
-                    } ?: flowOf(null)
-                )
+            val upContent =
+                userActions?.get(Swipe.Up)?.let { result ->
+                    when (result) {
+                        is UserActionResult.ChangeScene -> result.toScene
+                        is UserActionResult.ShowOverlay -> result.overlay
+                        is UserActionResult.HideOverlay -> result.overlay
+                        is UserActionResult.ReplaceByOverlay -> result.overlay
+                    }
+                }
 
-            assertThat(upScene)
+            assertThat(upContent)
                 .isEqualTo(
                     expectedUpDestination(
                         canSwipeToEnter = canSwipeToEnter,
@@ -292,15 +295,17 @@
                 }
             }
 
-            val upScene by
-                collectLastValue(
-                    (userActions?.get(Swipe.Up) as? UserActionResult.ChangeScene)?.toScene?.let {
-                        scene ->
-                        kosmos.sceneInteractor.resolveSceneFamily(scene)
-                    } ?: flowOf(null)
-                )
+            val upContent =
+                userActions?.get(Swipe.Up)?.let { result ->
+                    when (result) {
+                        is UserActionResult.ChangeScene -> result.toScene
+                        is UserActionResult.ShowOverlay -> result.overlay
+                        is UserActionResult.HideOverlay -> result.overlay
+                        is UserActionResult.ReplaceByOverlay -> result.overlay
+                    }
+                }
 
-            assertThat(upScene)
+            assertThat(upContent)
                 .isEqualTo(
                     expectedUpDestination(
                         canSwipeToEnter = canSwipeToEnter,
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/dialog/MediaOutputAdapterLegacyTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/dialog/MediaOutputAdapterLegacyTest.java
index f293614..2db2199 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/media/dialog/MediaOutputAdapterLegacyTest.java
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/media/dialog/MediaOutputAdapterLegacyTest.java
@@ -268,6 +268,10 @@
 
         assertThat(mViewHolder.mSeekBar.getContentDescription()).isNotNull();
         assertThat(mViewHolder.mContainerLayout.isFocusable()).isFalse();
+        assertThat(mViewHolder.mContainerLayout.getImportantForAccessibility()).isEqualTo(
+                View.IMPORTANT_FOR_ACCESSIBILITY_NO);
+        assertThat(mViewHolder.mTextContent.getImportantForAccessibility()).isEqualTo(
+                View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
     }
 
     @Test
@@ -511,6 +515,11 @@
         assertThat(mViewHolder.mTitleText.getVisibility()).isEqualTo(View.VISIBLE);
         assertThat(mViewHolder.mTitleText.getText().toString()).isEqualTo(TEST_DEVICE_NAME_2);
         assertThat(mViewHolder.mSeekBar.getVisibility()).isEqualTo(View.GONE);
+        assertThat(mViewHolder.mContainerLayout.isFocusable()).isTrue();
+        assertThat(mViewHolder.mContainerLayout.getImportantForAccessibility()).isEqualTo(
+                View.IMPORTANT_FOR_ACCESSIBILITY_YES);
+        assertThat(mViewHolder.mTextContent.getImportantForAccessibility()).isEqualTo(
+                View.IMPORTANT_FOR_ACCESSIBILITY_YES);
         assertThat(mViewHolder.mProgressBar.getVisibility()).isEqualTo(View.GONE);
         assertThat(mViewHolder.mCheckBox.getVisibility()).isEqualTo(View.GONE);
         assertThat(mViewHolder.mSubTitleText.getVisibility()).isEqualTo(View.VISIBLE);
@@ -750,7 +759,7 @@
                 .onCreateViewHolder(new LinearLayout(mContext), 0);
         mMediaOutputAdapter.onBindViewHolder(mViewHolder, 1);
 
-        mViewHolder.mEndTouchArea.performClick();
+        mViewHolder.mCheckBox.performClick();
 
         verify(mMediaSwitchingController).addDeviceToPlayMedia(mMediaDevice2);
     }
@@ -894,7 +903,7 @@
                 .onCreateViewHolder(new LinearLayout(mContext), 0);
         mMediaOutputAdapter.onBindViewHolder(mViewHolder, 0);
 
-        mViewHolder.mEndTouchArea.performClick();
+        mViewHolder.mCheckBox.performClick();
 
         verify(mMediaSwitchingController).removeDeviceFromPlayMedia(mMediaDevice1);
     }
@@ -1050,7 +1059,7 @@
                         new LinearLayout(mContext), MediaItem.MediaItemType.TYPE_DEVICE);
         mMediaOutputAdapter.onBindViewHolder(mViewHolder, 0);
 
-        mViewHolder.mEndTouchArea.performClick();
+        mViewHolder.mEndClickIcon.performClick();
         mViewHolder = (MediaOutputAdapterLegacy.MediaDeviceViewHolderLegacy) mMediaOutputAdapter
                 .onCreateViewHolder(
                         new LinearLayout(mContext), MediaItem.MediaItemType.TYPE_DEVICE);
@@ -1073,7 +1082,7 @@
                         new LinearLayout(mContext), MediaItem.MediaItemType.TYPE_DEVICE);
         mMediaOutputAdapter.onBindViewHolder(mViewHolder, 0);
 
-        mViewHolder.mEndTouchArea.performClick();
+        mViewHolder.mEndClickIcon.performClick();
         mViewHolder = (MediaOutputAdapterLegacy.MediaDeviceViewHolderLegacy) mMediaOutputAdapter
                 .onCreateViewHolder(
                         new LinearLayout(mContext), MediaItem.MediaItemType.TYPE_DEVICE);
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayContentViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayContentViewModelTest.kt
index b23cd5e..917f356 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayContentViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayContentViewModelTest.kt
@@ -103,20 +103,6 @@
         }
 
     @Test
-    fun bouncerShown_hidesShade() =
-        testScope.runTest {
-            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
-            lockDevice()
-            sceneInteractor.showOverlay(Overlays.NotificationsShade, "test")
-            assertThat(currentOverlays).contains(Overlays.NotificationsShade)
-
-            sceneInteractor.changeScene(Scenes.Bouncer, "test")
-            runCurrent()
-
-            assertThat(currentOverlays).doesNotContain(Overlays.NotificationsShade)
-        }
-
-    @Test
     fun shadeNotTouchable_hidesShade() =
         testScope.runTest {
             val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/CastTileTest.java b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/CastTileTest.java
index 31a627f..765c574 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/CastTileTest.java
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/CastTileTest.java
@@ -50,6 +50,8 @@
 import com.android.systemui.qs.QSHost;
 import com.android.systemui.qs.QsEventLogger;
 import com.android.systemui.qs.logging.QSLogger;
+import com.android.systemui.shade.domain.interactor.FakeShadeDialogContextInteractor;
+import com.android.systemui.shade.domain.interactor.ShadeDialogContextInteractor;
 import com.android.systemui.statusbar.connectivity.IconState;
 import com.android.systemui.statusbar.connectivity.NetworkController;
 import com.android.systemui.statusbar.connectivity.SignalCallback;
@@ -107,6 +109,8 @@
     private final FakeConnectivityRepository mConnectivityRepository =
             new FakeConnectivityRepository();
     private final FakeFeatureFlags mFeatureFlags = new FakeFeatureFlags();
+    private final ShadeDialogContextInteractor mShadeDialogContextInteractor =
+            new FakeShadeDialogContextInteractor(mContext);
 
     private TestableLooper mTestableLooper;
     private CastTile mCastTile;
@@ -535,7 +539,8 @@
                 mDialogTransitionAnimator,
                 mConnectivityRepository,
                 mJavaAdapter,
-                mFeatureFlags
+                mFeatureFlags,
+                mShadeDialogContextInteractor
         );
         mCastTile.initialize();
 
@@ -578,7 +583,8 @@
                 mDialogTransitionAnimator,
                 mConnectivityRepository,
                 mJavaAdapter,
-                mFeatureFlags
+                mFeatureFlags,
+                mShadeDialogContextInteractor
         );
         mCastTile.initialize();
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayContentViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayContentViewModelTest.kt
index bf5f9f4..c69ebab 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayContentViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayContentViewModelTest.kt
@@ -99,20 +99,6 @@
         }
 
     @Test
-    fun bouncerShown_hidesShade() =
-        testScope.runTest {
-            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
-            lockDevice()
-            sceneInteractor.showOverlay(Overlays.QuickSettingsShade, "test")
-            assertThat(currentOverlays).contains(Overlays.QuickSettingsShade)
-
-            sceneInteractor.changeScene(Scenes.Bouncer, "test")
-            runCurrent()
-
-            assertThat(currentOverlays).doesNotContain(Overlays.QuickSettingsShade)
-        }
-
-    @Test
     fun shadeNotTouchable_hidesShade() =
         testScope.runTest {
             val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt
index c5fac08..eb630b4 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/SceneFrameworkIntegrationTest.kt
@@ -22,6 +22,7 @@
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
 import com.android.compose.animation.scene.ObservableTransitionState
+import com.android.compose.animation.scene.OverlayKey
 import com.android.compose.animation.scene.SceneKey
 import com.android.compose.animation.scene.Swipe
 import com.android.compose.animation.scene.UserActionResult
@@ -34,7 +35,7 @@
 import com.android.systemui.authentication.shared.model.AuthenticationMethodModel
 import com.android.systemui.bouncer.ui.viewmodel.PasswordBouncerViewModel
 import com.android.systemui.bouncer.ui.viewmodel.PinBouncerViewModel
-import com.android.systemui.bouncer.ui.viewmodel.bouncerSceneContentViewModel
+import com.android.systemui.bouncer.ui.viewmodel.bouncerOverlayContentViewModel
 import com.android.systemui.deviceentry.data.repository.fakeDeviceEntryRepository
 import com.android.systemui.deviceentry.domain.interactor.deviceEntryInteractor
 import com.android.systemui.flags.EnableSceneContainer
@@ -54,6 +55,7 @@
 import com.android.systemui.power.domain.interactor.powerInteractor
 import com.android.systemui.scene.domain.interactor.sceneInteractor
 import com.android.systemui.scene.domain.startable.sceneContainerStartable
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.scene.shared.model.fakeSceneDataSource
 import com.android.systemui.scene.ui.viewmodel.SceneContainerViewModel
@@ -87,7 +89,7 @@
  *   Therefore, when adding or modifying test cases, consider whether what you're testing is better
  *   covered by a more granular unit test.
  * * Please reuse the helper methods in this class (for example, [putDeviceToSleep] or
- *   [emulateUserDrivenTransition]).
+ *   [emulateUserDrivenSceneTransition]).
  * * All tests start with the device locked and with a PIN auth method. The class offers useful
  *   methods like [setAuthMethod], [unlockDevice], [lockDevice], etc. to help you set up a starting
  *   state that makes more sense for your test case.
@@ -101,7 +103,7 @@
 @EnableSceneContainer
 class SceneFrameworkIntegrationTest : SysuiTestCase() {
     private val kosmos = testKosmos()
-    private var bouncerSceneJob: Job? = null
+    private var bouncerOverlayJob: Job? = null
 
     @Before
     fun setUp() =
@@ -125,7 +127,7 @@
             lockscreenUserActionsViewModel.activateIn(testScope)
             shadeSceneContentViewModel.activateIn(testScope)
             shadeUserActionsViewModel.activateIn(testScope)
-            bouncerSceneContentViewModel.activateIn(testScope)
+            bouncerOverlayContentViewModel.activateIn(testScope)
             sceneContainerViewModel.activateIn(testScope)
 
             assertWithMessage("Initial scene key mismatch!")
@@ -141,27 +143,29 @@
     @Test
     fun clickLockButtonAndEnterCorrectPin_unlocksDevice() =
         kosmos.runTest {
-            emulateUserDrivenTransition(Scenes.Bouncer)
+            emulateUserDrivenOverlayTransition(show = Overlays.Bouncer)
 
             fakeSceneDataSource.pause()
             enterPin()
             emulatePendingTransitionProgress(expectedVisible = false)
             assertCurrentScene(Scenes.Gone)
+            assertOverlaysEmpty()
         }
 
     @Test
     fun swipeUpOnLockscreen_enterCorrectPin_unlocksDevice() =
         kosmos.runTest {
             val actions by collectLastValue(kosmos.lockscreenUserActionsViewModel.actions)
-            val upDestinationSceneKey =
-                (actions?.get(Swipe.Up) as? UserActionResult.ChangeScene)?.toScene
-            assertThat(upDestinationSceneKey).isEqualTo(Scenes.Bouncer)
-            emulateUserDrivenTransition(to = upDestinationSceneKey)
+            val upDestinationOverlayKey =
+                (actions?.get(Swipe.Up) as? UserActionResult.ShowOverlay)?.overlay
+            assertThat(upDestinationOverlayKey).isEqualTo(Overlays.Bouncer)
+            emulateUserDrivenOverlayTransition(show = upDestinationOverlayKey)
 
             fakeSceneDataSource.pause()
             enterPin()
             emulatePendingTransitionProgress(expectedVisible = false)
             assertCurrentScene(Scenes.Gone)
+            assertOverlaysEmpty()
         }
 
     @Test
@@ -173,7 +177,7 @@
             val upDestinationSceneKey =
                 (actions?.get(Swipe.Up) as? UserActionResult.ChangeScene)?.toScene
             assertThat(upDestinationSceneKey).isEqualTo(Scenes.Gone)
-            emulateUserDrivenTransition(to = upDestinationSceneKey)
+            emulateUserDrivenSceneTransition(to = upDestinationSceneKey)
         }
 
     @Test
@@ -184,13 +188,13 @@
             assertCurrentScene(Scenes.Lockscreen)
 
             // Emulate a user swipe to the shade scene.
-            emulateUserDrivenTransition(to = Scenes.Shade)
+            emulateUserDrivenSceneTransition(to = Scenes.Shade)
             assertCurrentScene(Scenes.Shade)
 
             val upDestinationSceneKey =
                 (actions?.get(Swipe.Up) as? UserActionResult.ChangeScene)?.toScene
             assertThat(upDestinationSceneKey).isEqualTo(Scenes.Lockscreen)
-            emulateUserDrivenTransition(to = Scenes.Lockscreen)
+            emulateUserDrivenSceneTransition(to = Scenes.Lockscreen)
         }
 
     @Test
@@ -205,17 +209,17 @@
             assertCurrentScene(Scenes.Lockscreen)
 
             // Emulate a user swipe to dismiss the lockscreen.
-            emulateUserDrivenTransition(to = Scenes.Gone)
+            emulateUserDrivenSceneTransition(to = Scenes.Gone)
             assertCurrentScene(Scenes.Gone)
 
             // Emulate a user swipe to the shade scene.
-            emulateUserDrivenTransition(to = Scenes.Shade)
+            emulateUserDrivenSceneTransition(to = Scenes.Shade)
             assertCurrentScene(Scenes.Shade)
 
             val upDestinationSceneKey =
                 (actions?.get(Swipe.Up) as? UserActionResult.ChangeScene)?.toScene
             assertThat(upDestinationSceneKey).isEqualTo(Scenes.Gone)
-            emulateUserDrivenTransition(to = Scenes.Gone)
+            emulateUserDrivenSceneTransition(to = Scenes.Gone)
         }
 
     @Test
@@ -270,6 +274,8 @@
             wakeUpDevice()
             assertCurrentScene(Scenes.Lockscreen)
 
+            // set UI state to match view-model
+            transitionState.value = ObservableTransitionState.Idle(Scenes.Lockscreen)
             unlockDevice()
             assertCurrentScene(Scenes.Gone)
         }
@@ -302,10 +308,10 @@
         kosmos.runTest {
             setAuthMethod(AuthenticationMethodModel.Password)
             val actions by collectLastValue(lockscreenUserActionsViewModel.actions)
-            val upDestinationSceneKey =
-                (actions?.get(Swipe.Up) as? UserActionResult.ChangeScene)?.toScene
-            assertThat(upDestinationSceneKey).isEqualTo(Scenes.Bouncer)
-            emulateUserDrivenTransition(to = upDestinationSceneKey)
+            val upDestinationOverlayKey =
+                (actions?.get(Swipe.Up) as? UserActionResult.ShowOverlay)?.overlay
+            assertThat(upDestinationOverlayKey).isEqualTo(Overlays.Bouncer)
+            emulateUserDrivenOverlayTransition(show = upDestinationOverlayKey)
 
             fakeSceneDataSource.pause()
             dismissIme()
@@ -319,16 +325,16 @@
         kosmos.runTest {
             setAuthMethod(AuthenticationMethodModel.Password)
             val actions by collectLastValue(lockscreenUserActionsViewModel.actions)
-            val upDestinationSceneKey =
-                (actions?.get(Swipe.Up) as? UserActionResult.ChangeScene)?.toScene
-            assertThat(upDestinationSceneKey).isEqualTo(Scenes.Bouncer)
-            emulateUserDrivenTransition(to = upDestinationSceneKey)
+            val upDestinationOverlayKey =
+                (actions?.get(Swipe.Up) as? UserActionResult.ShowOverlay)?.overlay
+            assertThat(upDestinationOverlayKey).isEqualTo(Overlays.Bouncer)
+            emulateUserDrivenOverlayTransition(show = upDestinationOverlayKey)
 
-            val bouncerActionButton by collectLastValue(bouncerSceneContentViewModel.actionButton)
+            val bouncerActionButton by collectLastValue(bouncerOverlayContentViewModel.actionButton)
             assertWithMessage("Bouncer action button not visible")
                 .that(bouncerActionButton)
                 .isNotNull()
-            kosmos.bouncerSceneContentViewModel.onActionButtonClicked(bouncerActionButton!!)
+            kosmos.bouncerOverlayContentViewModel.onActionButtonClicked(bouncerActionButton!!)
 
             // TODO(b/369765704): Assert that an activity was started once we use ActivityStarter.
         }
@@ -339,16 +345,16 @@
             setAuthMethod(AuthenticationMethodModel.Password)
             startPhoneCall()
             val actions by collectLastValue(lockscreenUserActionsViewModel.actions)
-            val upDestinationSceneKey =
-                (actions?.get(Swipe.Up) as? UserActionResult.ChangeScene)?.toScene
-            assertThat(upDestinationSceneKey).isEqualTo(Scenes.Bouncer)
-            emulateUserDrivenTransition(to = upDestinationSceneKey)
+            val upDestinationOverlayKey =
+                (actions?.get(Swipe.Up) as? UserActionResult.ShowOverlay)?.overlay
+            assertThat(upDestinationOverlayKey).isEqualTo(Overlays.Bouncer)
+            emulateUserDrivenOverlayTransition(show = upDestinationOverlayKey)
 
-            val bouncerActionButton by collectLastValue(bouncerSceneContentViewModel.actionButton)
+            val bouncerActionButton by collectLastValue(bouncerOverlayContentViewModel.actionButton)
             assertWithMessage("Bouncer action button not visible during call")
                 .that(bouncerActionButton)
                 .isNotNull()
-            kosmos.bouncerSceneContentViewModel.onActionButtonClicked(bouncerActionButton!!)
+            kosmos.bouncerOverlayContentViewModel.onActionButtonClicked(bouncerActionButton!!)
 
             verifyCurrent(mockTelecomManager).showInCallScreen(any())
         }
@@ -358,7 +364,7 @@
         kosmos.runTest {
             setAuthMethod(AuthenticationMethodModel.None)
             introduceLockedSim()
-            assertCurrentScene(Scenes.Bouncer)
+            assertCurrentOverlay(Overlays.Bouncer)
         }
 
     @Test
@@ -366,7 +372,7 @@
         kosmos.runTest {
             fakeSceneDataSource.pause()
             introduceLockedSim()
-            emulatePendingTransitionProgress(expectedVisible = true)
+            emulatePendingTransitionProgress()
             enterSimPin(
                 authMethodAfterSimUnlock = AuthenticationMethodModel.None,
                 enableLockscreen = false,
@@ -380,7 +386,7 @@
         kosmos.runTest {
             fakeSceneDataSource.pause()
             introduceLockedSim()
-            emulatePendingTransitionProgress(expectedVisible = true)
+            emulatePendingTransitionProgress()
             enterSimPin(authMethodAfterSimUnlock = AuthenticationMethodModel.Pin)
             assertCurrentScene(Scenes.Lockscreen)
         }
@@ -396,6 +402,18 @@
             .isEqualTo(expected)
     }
 
+    private fun Kosmos.assertCurrentOverlay(expected: OverlayKey) {
+        assertWithMessage("Expected overlay missing!")
+            .that(currentValue(sceneInteractor.currentOverlays))
+            .contains(expected)
+    }
+
+    private fun Kosmos.assertOverlaysEmpty() {
+        assertWithMessage("Expected no overlays, but at least one was present")
+            .that(currentValue(sceneInteractor.currentOverlays))
+            .isEmpty()
+    }
+
     /**
      * Returns the [SceneKey] of the current scene as displayed in the UI.
      *
@@ -439,9 +457,10 @@
     }
 
     /**
-     * Emulates a gradual transition to the currently pending scene that's sitting in the
-     * [fakeSceneDataSource]. This emits a series of progress updates to the [transitionState] and
-     * finishes by committing the pending scene as the current scene.
+     * Emulates a gradual transition to the currently pending scene and overlay that are sitting in
+     * the [fakeSceneDataSource]. This emits a series of progress updates to the [transitionState]
+     * and finishes by committing the pending scene as the current scene, and the pending overlay as
+     * the current overlay
      *
      * In order to use this, the [fakeSceneDataSource] must be paused before this method is called.
      */
@@ -450,49 +469,96 @@
             .that(fakeSceneDataSource.isPaused)
             .isTrue()
 
-        val to = fakeSceneDataSource.pendingScene ?: return
-        val from = getCurrentSceneInUi()
+        val fromScene = getCurrentSceneInUi()
+        val toScene = fakeSceneDataSource.pendingScene ?: fromScene
 
-        if (to == from) {
-            return
+        val fromOverlays =
+            collectLastValue(currentValue(transitionState).currentOverlays()).invoke() ?: emptySet()
+        val toOverlays = fakeSceneDataSource.pendingOverlays ?: fromOverlays
+
+        val addedOverlays = toOverlays - fromOverlays
+        val removedOverlays = fromOverlays - toOverlays
+        check(
+            addedOverlays.size + removedOverlays.size < 2 &&
+                (addedOverlays.size <= 1 || removedOverlays.size <= 1)
+        ) {
+            "Detected multiple overlays being added/removed. Currently only testing single-overlay transitions."
         }
 
-        // Begin to transition.
-        val progressFlow = MutableStateFlow(0f)
-        transitionState.value =
-            ObservableTransitionState.Transition(
-                fromScene = getCurrentSceneInUi(),
-                toScene = to,
-                currentScene = flowOf(to),
-                progress = progressFlow,
-                isInitiatedByUserInput = false,
-                isUserInputOngoing = flowOf(false),
-            )
+        if (toScene != fromScene) {
+            // Begin scene transition.
+            val progressFlow = MutableStateFlow(0f)
+            transitionState.value =
+                ObservableTransitionState.Transition(
+                    fromScene = getCurrentSceneInUi(),
+                    toScene = toScene,
+                    currentScene = flowOf(toScene),
+                    progress = progressFlow,
+                    isInitiatedByUserInput = false,
+                    isUserInputOngoing = flowOf(false),
+                )
 
-        // Report progress of transition.
-        while (currentValue(progressFlow) < 1f) {
-            progressFlow.value += 0.2f
+            // Report progress of transition.
+            while (currentValue(progressFlow) < 1f) {
+                progressFlow.value += 0.2f
+            }
+
+            // End the transition and report the change.
+            transitionState.value = ObservableTransitionState.Idle(toScene)
         }
 
-        // End the transition and report the change.
-        transitionState.value = ObservableTransitionState.Idle(to)
+        if (addedOverlays.isNotEmpty() || removedOverlays.isNotEmpty()) {
+            // Begin overlay transition.
+            val progressFlow = MutableStateFlow(0f)
+            transitionState.value =
+                if (addedOverlays.size == 1) {
+                    ObservableTransitionState.Transition.showOverlay(
+                        overlay = addedOverlays.first(),
+                        fromScene = toScene,
+                        currentOverlays = flowOf(addedOverlays),
+                        progress = progressFlow,
+                        isInitiatedByUserInput = false,
+                        isUserInputOngoing = flowOf(false),
+                    )
+                } else {
+                    ObservableTransitionState.Transition.hideOverlay(
+                        overlay = removedOverlays.first(),
+                        toScene = toScene,
+                        currentOverlays = flowOf(removedOverlays),
+                        progress = progressFlow,
+                        isInitiatedByUserInput = false,
+                        isUserInputOngoing = flowOf(false),
+                    )
+                }
+
+            // Report progress of transition.
+            while (currentValue(progressFlow) < 1f) {
+                progressFlow.value += 0.2f
+            }
+
+            // End the transition and report the change, taking any scene transition into account.
+            transitionState.value = ObservableTransitionState.Idle(toScene, toOverlays)
+        }
 
         fakeSceneDataSource.unpause(force = true)
 
-        assertWithMessage("Visibility mismatch after scene transition from $from to $to!")
+        assertWithMessage(
+                "Visibility mismatch after transition from $fromScene to $toScene and $fromOverlays to $toOverlays!"
+            )
             .that(currentValue { sceneContainerViewModel.isVisible })
             .isEqualTo(expectedVisible)
-        assertThat(currentValue(sceneContainerViewModel.currentScene)).isEqualTo(to)
+        assertThat(currentValue(sceneContainerViewModel.currentScene)).isEqualTo(toScene)
+        assertThat(currentValue(sceneInteractor.currentOverlays)).isEqualTo(toOverlays)
 
-        bouncerSceneJob =
-            if (to == Scenes.Bouncer) {
+        bouncerOverlayJob =
+            if (Overlays.Bouncer in addedOverlays) {
                 testScope.backgroundScope.launch {
-                    bouncerSceneContentViewModel.authMethodViewModel.collect {
+                    bouncerOverlayContentViewModel.authMethodViewModel.collect {
                         // Do nothing. Need this to turn this otherwise cold flow, hot.
                     }
                 }
             } else {
-                bouncerSceneJob?.cancel()
+                bouncerOverlayJob?.cancel()
                 null
             }
     }
@@ -506,7 +572,7 @@
      *
      * @param to The scene to transition to.
      */
-    private fun Kosmos.emulateUserDrivenTransition(to: SceneKey?) {
+    private fun Kosmos.emulateUserDrivenSceneTransition(to: SceneKey?) {
         checkNotNull(to)
 
         fakeSceneDataSource.pause()
@@ -515,6 +581,22 @@
         emulatePendingTransitionProgress(expectedVisible = to != Scenes.Gone)
     }
 
+    private fun Kosmos.emulateUserDrivenOverlayTransition(
+        show: OverlayKey? = null,
+        hide: OverlayKey? = null,
+    ) {
+        fakeSceneDataSource.pause()
+        if (show != null && hide != null) {
+            sceneInteractor.replaceOverlay(from = show, to = hide, "reason")
+        } else if (show != null) {
+            sceneInteractor.showOverlay(overlay = show, "reason")
+        } else if (hide != null) {
+            sceneInteractor.hideOverlay(overlay = hide, "reason")
+        }
+
+        emulatePendingTransitionProgress()
+    }
+
     /**
      * Locks the device.
      *
@@ -548,7 +630,7 @@
             .that(currentValue(deviceEntryInteractor.isUnlocked))
             .isFalse()
 
-        emulateUserDrivenTransition(Scenes.Bouncer)
+        emulateUserDrivenOverlayTransition(show = Overlays.Bouncer)
         fakeSceneDataSource.pause()
         enterPin()
 
@@ -558,17 +640,18 @@
     /**
      * Enters the correct PIN in the bouncer UI.
      *
-     * Asserts that the current scene is [Scenes.Bouncer] and that the current bouncer UI is a PIN
-     * before proceeding.
+     * Asserts that [Overlays.Bouncer] is showing and that the current bouncer UI is a PIN before
+     * proceeding.
      *
      * Does not assert that the device is locked or unlocked.
      */
     private fun Kosmos.enterPin() {
-        assertWithMessage("Cannot enter PIN when not on the Bouncer scene!")
-            .that(getCurrentSceneInUi())
-            .isEqualTo(Scenes.Bouncer)
+        val currentOverlays by collectLastValue(currentValue(transitionState).currentOverlays())
+        assertWithMessage("Cannot enter PIN when Bouncer not showing!")
+            .that(currentOverlays)
+            .contains(Overlays.Bouncer)
         val authMethodViewModel by
-            collectLastValue(bouncerSceneContentViewModel.authMethodViewModel)
+            collectLastValue(bouncerOverlayContentViewModel.authMethodViewModel)
         assertWithMessage("Cannot enter PIN when not using a PIN authentication method!")
             .that(authMethodViewModel)
             .isInstanceOf(PinBouncerViewModel::class.java)
@@ -583,8 +666,8 @@
     /**
      * Enters the correct PIN in the sim bouncer UI.
      *
-     * Asserts that the current scene is [Scenes.Bouncer] and that the current bouncer UI is a PIN
-     * before proceeding.
+     * Asserts that [Overlays.Bouncer] is showing and that the current bouncer UI is a PIN before
+     * proceeding.
      *
      * Does not assert that the device is locked or unlocked.
      */
@@ -592,11 +675,12 @@
         authMethodAfterSimUnlock: AuthenticationMethodModel = AuthenticationMethodModel.None,
         enableLockscreen: Boolean = true,
     ) {
-        assertWithMessage("Cannot enter PIN when not on the Bouncer scene!")
-            .that(getCurrentSceneInUi())
-            .isEqualTo(Scenes.Bouncer)
+        val currentOverlays by collectLastValue(currentValue(transitionState).currentOverlays())
+        assertWithMessage("Cannot enter PIN when Bouncer not showing!")
+            .that(currentOverlays)
+            .contains(Overlays.Bouncer)
         val authMethodViewModel by
-            collectLastValue(bouncerSceneContentViewModel.authMethodViewModel)
+            collectLastValue(bouncerOverlayContentViewModel.authMethodViewModel)
         assertWithMessage("Cannot enter PIN when not using a PIN authentication method!")
             .that(authMethodViewModel)
             .isInstanceOf(PinBouncerViewModel::class.java)
@@ -643,7 +727,7 @@
 
     /** Emulates the dismissal of the IME (soft keyboard). */
     private fun Kosmos.dismissIme() {
-        (currentValue(bouncerSceneContentViewModel.authMethodViewModel)
+        (currentValue(bouncerOverlayContentViewModel.authMethodViewModel)
                 as? PasswordBouncerViewModel)
             ?.let { it.onImeDismissed() }
     }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneBackInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneBackInteractorTest.kt
index 9cc6c0f..0345853 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneBackInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneBackInteractorTest.kt
@@ -53,7 +53,7 @@
 
     @Test
     @EnableSceneContainer
-    fun navigateToQs_thenBouncer_thenBack_whileLocked() =
+    fun navigateToQs_thenBack_whileLocked() =
         testScope.runTest {
             sceneContainerStartable.start()
 
@@ -61,8 +61,6 @@
                 RouteNode(Scenes.Lockscreen, null),
                 RouteNode(Scenes.Shade, Scenes.Lockscreen),
                 RouteNode(Scenes.QuickSettings, Scenes.Shade),
-                RouteNode(Scenes.Bouncer, Scenes.QuickSettings),
-                RouteNode(Scenes.QuickSettings, Scenes.Shade),
                 RouteNode(Scenes.Shade, Scenes.Lockscreen),
                 RouteNode(Scenes.Lockscreen, null),
             )
@@ -70,57 +68,39 @@
 
     @Test
     @EnableSceneContainer
-    fun navigateToQs_thenBouncer_thenUnlock() =
+    fun navigateToQs_thenUnlock() =
         testScope.runTest {
             sceneContainerStartable.start()
 
             assertRoute(
                 RouteNode(Scenes.Lockscreen, null),
                 RouteNode(Scenes.Shade, Scenes.Lockscreen),
-                RouteNode(Scenes.QuickSettings, Scenes.Shade),
-                RouteNode(Scenes.Bouncer, Scenes.QuickSettings, unlockDevice = true),
+                RouteNode(Scenes.QuickSettings, Scenes.Shade, unlockDevice = true),
                 RouteNode(Scenes.Gone, null),
             )
         }
 
     @Test
     @EnableSceneContainer
-    fun navigateToQs_skippingShade_thenBouncer_thenBack_whileLocked() =
+    fun navigateToQs_skippingShade_thenBack_whileLocked() =
         testScope.runTest {
             sceneContainerStartable.start()
 
             assertRoute(
                 RouteNode(Scenes.Lockscreen, null),
                 RouteNode(Scenes.QuickSettings, Scenes.Lockscreen),
-                RouteNode(Scenes.Bouncer, Scenes.QuickSettings),
-                RouteNode(Scenes.QuickSettings, Scenes.Lockscreen),
                 RouteNode(Scenes.Lockscreen, null),
             )
         }
 
     @Test
     @EnableSceneContainer
-    fun navigateToBouncer_thenBack_whileLocked() =
+    fun navigateToQs_skippingShade_thenBack_thenShade_whileLocked() =
         testScope.runTest {
             sceneContainerStartable.start()
 
             assertRoute(
                 RouteNode(Scenes.Lockscreen, null),
-                RouteNode(Scenes.Bouncer, Scenes.Lockscreen),
-                RouteNode(Scenes.Lockscreen, null),
-            )
-        }
-
-    @Test
-    @EnableSceneContainer
-    fun navigateToQs_skippingShade_thenBouncer_thenBack_thenShade_whileLocked() =
-        testScope.runTest {
-            sceneContainerStartable.start()
-
-            assertRoute(
-                RouteNode(Scenes.Lockscreen, null),
-                RouteNode(Scenes.QuickSettings, Scenes.Lockscreen),
-                RouteNode(Scenes.Bouncer, Scenes.QuickSettings),
                 RouteNode(Scenes.QuickSettings, Scenes.Lockscreen),
                 RouteNode(Scenes.Lockscreen, null),
                 RouteNode(Scenes.Shade, Scenes.Lockscreen),
@@ -178,9 +158,8 @@
         testScope.runTest {
             underTest.onSceneChange(from = Scenes.Lockscreen, to = Scenes.Shade)
             underTest.onSceneChange(from = Scenes.Shade, to = Scenes.QuickSettings)
-            underTest.onSceneChange(from = Scenes.QuickSettings, to = Scenes.Bouncer)
             assertThat(underTest.backStack.value.asIterable().toList())
-                .isEqualTo(listOf(Scenes.QuickSettings, Scenes.Shade, Scenes.Lockscreen))
+                .isEqualTo(listOf(Scenes.Shade, Scenes.Lockscreen))
 
             underTest.updateBackStack { stack ->
                 // Reverse the stack, just to see if it can be done:
@@ -188,7 +167,7 @@
             }
 
             assertThat(underTest.backStack.value.asIterable().toList())
-                .isEqualTo(listOf(Scenes.Lockscreen, Scenes.Shade, Scenes.QuickSettings))
+                .isEqualTo(listOf(Scenes.Lockscreen, Scenes.Shade))
         }
 
     private suspend fun TestScope.assertRoute(vararg route: RouteNode) {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt
index 23a0f62..559e363 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/interactor/SceneInteractorTest.kt
@@ -799,4 +799,88 @@
             verify(processor, never()).onSceneAboutToChange(any(), any())
             assertThat(fakeSceneDataSource.freezeAndAnimateToCurrentStateCallCount).isEqualTo(0)
         }
+
+    @Test
+    fun topmostContent_sceneChange_noOverlays() =
+        kosmos.runTest {
+            val topmostContent by collectLastValue(underTest.topmostContent)
+
+            kosmos.fakeDeviceEntryFingerprintAuthRepository.setAuthenticationStatus(
+                SuccessFingerprintAuthenticationStatus(0, true)
+            )
+
+            underTest.snapToScene(Scenes.Lockscreen, "reason")
+
+            assertThat(topmostContent).isEqualTo(Scenes.Lockscreen)
+
+            underTest.changeScene(Scenes.Gone, "reason")
+
+            assertThat(topmostContent).isEqualTo(Scenes.Gone)
+        }
+
+    @Test
+    fun topmostContent_sceneChange_withOverlay() =
+        kosmos.runTest {
+            kosmos.enableDualShade()
+            runCurrent()
+
+            val topmostContent by collectLastValue(underTest.topmostContent)
+
+            kosmos.fakeDeviceEntryFingerprintAuthRepository.setAuthenticationStatus(
+                SuccessFingerprintAuthenticationStatus(0, true)
+            )
+
+            underTest.snapToScene(Scenes.Lockscreen, "reason")
+            underTest.showOverlay(Overlays.NotificationsShade, "reason")
+
+            assertThat(topmostContent).isEqualTo(Overlays.NotificationsShade)
+
+            underTest.changeScene(Scenes.Gone, "reason")
+
+            assertThat(topmostContent).isEqualTo(Overlays.NotificationsShade)
+        }
+
+    @Test
+    fun topmostContent_overlayChange_higherZOrder() =
+        kosmos.runTest {
+            kosmos.enableDualShade()
+            runCurrent()
+
+            val topmostContent by collectLastValue(underTest.topmostContent)
+
+            kosmos.fakeDeviceEntryFingerprintAuthRepository.setAuthenticationStatus(
+                SuccessFingerprintAuthenticationStatus(0, true)
+            )
+
+            underTest.snapToScene(Scenes.Lockscreen, "reason")
+            underTest.showOverlay(Overlays.NotificationsShade, "reason")
+
+            assertThat(topmostContent).isEqualTo(Overlays.NotificationsShade)
+
+            underTest.showOverlay(Overlays.QuickSettingsShade, "reason")
+
+            assertThat(topmostContent).isEqualTo(Overlays.QuickSettingsShade)
+        }
+
+    @Test
+    fun topmostContent_overlayChange_lowerZOrder() =
+        kosmos.runTest {
+            kosmos.enableDualShade()
+            runCurrent()
+
+            val topmostContent by collectLastValue(underTest.topmostContent)
+
+            kosmos.fakeDeviceEntryFingerprintAuthRepository.setAuthenticationStatus(
+                SuccessFingerprintAuthenticationStatus(0, true)
+            )
+
+            underTest.snapToScene(Scenes.Lockscreen, "reason")
+            underTest.showOverlay(Overlays.QuickSettingsShade, "reason")
+
+            assertThat(topmostContent).isEqualTo(Overlays.QuickSettingsShade)
+
+            underTest.showOverlay(Overlays.NotificationsShade, "reason")
+
+            assertThat(topmostContent).isEqualTo(Overlays.QuickSettingsShade)
+        }
 }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt
index ae77ac4..9adf24f 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/SceneContainerStartableTest.kt
@@ -475,17 +475,18 @@
     @Test
     fun switchFromBouncerToGoneWhenDeviceUnlocked() =
         testScope.runTest {
-            val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             prepareState(
                 authenticationMethod = AuthenticationMethodModel.Pin,
                 isDeviceUnlocked = false,
-                initialSceneKey = Scenes.Bouncer,
+                initialSceneKey = Scenes.Lockscreen,
+                initialOverlays = setOf(Overlays.Bouncer),
             )
-            assertThat(currentSceneKey).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
             underTest.start()
 
             updateFingerprintAuthStatus(isSuccess = true)
-            assertThat(currentSceneKey).isEqualTo(Scenes.Gone)
+            assertThat(currentOverlays).doesNotContain(Overlays.Bouncer)
         }
 
     @Test
@@ -548,6 +549,7 @@
     fun switchFromBouncerToQuickSettingsWhenDeviceUnlocked_whenLeaveOpenShade() =
         testScope.runTest {
             val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             val backStack by collectLastValue(sceneBackInteractor.backStack)
             kosmos.sysuiStatusBarStateController.leaveOpen = true // leave shade open
 
@@ -566,14 +568,16 @@
             runCurrent()
             assertThat(currentSceneKey).isEqualTo(Scenes.QuickSettings)
 
-            sceneInteractor.changeScene(Scenes.Bouncer, "switching to bouncer for test")
-            transitionState.value = ObservableTransitionState.Idle(Scenes.Bouncer)
+            sceneInteractor.showOverlay(Overlays.Bouncer, "showing bouncer for test")
+            transitionState.value =
+                ObservableTransitionState.Idle(Scenes.QuickSettings, setOf(Overlays.Bouncer))
             runCurrent()
-            assertThat(currentSceneKey).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
             assertThat(backStack?.asIterable()?.last()).isEqualTo(Scenes.Lockscreen)
 
             updateFingerprintAuthStatus(isSuccess = true)
             assertThat(currentSceneKey).isEqualTo(Scenes.QuickSettings)
+            assertThat(currentOverlays).doesNotContain(Overlays.Bouncer)
             assertThat(backStack?.asIterable()?.last()).isEqualTo(Scenes.Gone)
         }
 
@@ -581,6 +585,7 @@
     fun switchFromBouncerToGoneWhenDeviceUnlocked_whenDoNotLeaveOpenShade() =
         testScope.runTest {
             val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             kosmos.sysuiStatusBarStateController.leaveOpen = false // don't leave shade open
 
             val transitionState =
@@ -598,13 +603,15 @@
             runCurrent()
             assertThat(currentSceneKey).isEqualTo(Scenes.QuickSettings)
 
-            sceneInteractor.changeScene(Scenes.Bouncer, "switching to bouncer for test")
-            transitionState.value = ObservableTransitionState.Idle(Scenes.Bouncer)
+            sceneInteractor.showOverlay(Overlays.Bouncer, "showing bouncer for test")
+            transitionState.value =
+                ObservableTransitionState.Idle(Scenes.QuickSettings, setOf(Overlays.Bouncer))
             runCurrent()
-            assertThat(currentSceneKey).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
 
             updateFingerprintAuthStatus(isSuccess = true)
             assertThat(currentSceneKey).isEqualTo(Scenes.Gone)
+            assertThat(currentOverlays).doesNotContain(Overlays.Bouncer)
         }
 
     @Test
@@ -664,14 +671,21 @@
     fun switchToGoneWhenDeviceIsUnlockedAndUserIsOnBouncerWithBypassDisabled() =
         testScope.runTest {
             val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
-            prepareState(isBypassEnabled = false, initialSceneKey = Scenes.Bouncer)
-            assertThat(currentSceneKey).isEqualTo(Scenes.Bouncer)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
+            prepareState(
+                isBypassEnabled = false,
+                initialSceneKey = Scenes.Lockscreen,
+                initialOverlays = setOf(Overlays.Bouncer),
+            )
+            assertThat(currentSceneKey).isEqualTo(Scenes.Lockscreen)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
             underTest.start()
 
             // Authenticate using a passive auth method like face auth while bypass is disabled.
             faceAuthRepository.isAuthenticated.value = true
 
             assertThat(currentSceneKey).isEqualTo(Scenes.Gone)
+            assertThat(currentOverlays).doesNotContain(Overlays.Bouncer)
         }
 
     @Test
@@ -1192,14 +1206,7 @@
             runCurrent()
             clearInvocations(sysUiState)
 
-            listOf(
-                    Scenes.Gone,
-                    Scenes.Lockscreen,
-                    Scenes.Bouncer,
-                    Scenes.Gone,
-                    Scenes.Shade,
-                    Scenes.QuickSettings,
-                )
+            listOf(Scenes.Gone, Scenes.Lockscreen, Scenes.Gone, Scenes.Shade, Scenes.QuickSettings)
                 .forEachIndexed { index, sceneKey ->
                     if (sceneKey == Scenes.Gone) {
                         updateFingerprintAuthStatus(isSuccess = true)
@@ -1385,19 +1392,13 @@
             verify(falsingCollector, never()).onSuccessfulUnlock()
 
             // Move around scenes without unlocking.
-            listOf(
-                    Scenes.Shade,
-                    Scenes.QuickSettings,
-                    Scenes.Shade,
-                    Scenes.Lockscreen,
-                    Scenes.Bouncer,
-                )
-                .forEach { sceneKey ->
-                    sceneInteractor.changeScene(sceneKey, "reason")
-                    transitionStateFlow.value = ObservableTransitionState.Idle(sceneKey)
-                    runCurrent()
-                    verify(falsingCollector, never()).onSuccessfulUnlock()
-                }
+            listOf(Scenes.Shade, Scenes.QuickSettings, Scenes.Shade, Scenes.Lockscreen).forEach {
+                sceneKey ->
+                sceneInteractor.changeScene(sceneKey, "reason")
+                transitionStateFlow.value = ObservableTransitionState.Idle(sceneKey)
+                runCurrent()
+                verify(falsingCollector, never()).onSuccessfulUnlock()
+            }
 
             // Changing to the Gone scene should report a successful unlock.
             kosmos.authenticationInteractor.authenticate(FakeAuthenticationRepository.DEFAULT_PIN)
@@ -1444,19 +1445,13 @@
             verify(falsingCollector, times(1)).onSuccessfulUnlock()
 
             // Move around scenes without unlocking.
-            listOf(
-                    Scenes.Shade,
-                    Scenes.QuickSettings,
-                    Scenes.Shade,
-                    Scenes.Lockscreen,
-                    Scenes.Bouncer,
-                )
-                .forEach { sceneKey ->
-                    sceneInteractor.changeScene(sceneKey, "reason")
-                    transitionStateFlow.value = ObservableTransitionState.Idle(sceneKey)
-                    runCurrent()
-                    verify(falsingCollector, times(1)).onSuccessfulUnlock()
-                }
+            listOf(Scenes.Shade, Scenes.QuickSettings, Scenes.Shade, Scenes.Lockscreen).forEach {
+                sceneKey ->
+                sceneInteractor.changeScene(sceneKey, "reason")
+                transitionStateFlow.value = ObservableTransitionState.Idle(sceneKey)
+                runCurrent()
+                verify(falsingCollector, times(1)).onSuccessfulUnlock()
+            }
 
             kosmos.authenticationInteractor.authenticate(FakeAuthenticationRepository.DEFAULT_PIN)
             runCurrent()
@@ -1565,13 +1560,13 @@
             runCurrent()
             verify(falsingCollector).onBouncerHidden()
 
-            sceneInteractor.changeScene(Scenes.Bouncer, "reason")
+            sceneInteractor.showOverlay(Overlays.Bouncer, "reason")
             runCurrent()
             verify(falsingCollector).onBouncerShown()
 
             updateFingerprintAuthStatus(isSuccess = true)
             runCurrent()
-            sceneInteractor.changeScene(Scenes.Gone, "reason")
+            sceneInteractor.hideOverlay(Overlays.Bouncer, "reason")
             runCurrent()
             verify(falsingCollector, times(2)).onBouncerHidden()
         }
@@ -1579,7 +1574,7 @@
     @Test
     fun switchesToBouncer_whenSimBecomesLocked() =
         testScope.runTest {
-            val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
 
             prepareState(
                 initialSceneKey = Scenes.Lockscreen,
@@ -1592,17 +1587,18 @@
             kosmos.fakeMobileConnectionsRepository.isAnySimSecure.value = true
             runCurrent()
 
-            assertThat(currentSceneKey).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
         }
 
     @Test
     fun switchesToLockscreen_whenSimBecomesUnlocked() =
         testScope.runTest {
             kosmos.fakeMobileConnectionsRepository.isAnySimSecure.value = true
-            val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
 
             prepareState(
-                initialSceneKey = Scenes.Bouncer,
+                initialSceneKey = Scenes.Lockscreen,
+                initialOverlays = setOf(Overlays.Bouncer),
                 authenticationMethod = AuthenticationMethodModel.Pin,
                 isDeviceUnlocked = false,
             )
@@ -1611,7 +1607,7 @@
             kosmos.fakeMobileConnectionsRepository.isAnySimSecure.value = false
             runCurrent()
 
-            assertThat(currentSceneKey).isEqualTo(Scenes.Lockscreen)
+            assertThat(currentOverlays).doesNotContain(Overlays.Bouncer)
         }
 
     @Test
@@ -1700,7 +1696,7 @@
             assertThat(currentScene).isEqualTo(Scenes.Lockscreen)
             verify(notificationShadeWindowController).setKeyguardShowing(true)
 
-            emulateSceneTransition(transitionStateFlow, Scenes.Bouncer)
+            emulateOverlayTransition(transitionStateFlow, Overlays.Bouncer)
             verify(notificationShadeWindowController, times(1)).setKeyguardShowing(true)
 
             emulateSceneTransition(transitionStateFlow, Scenes.Lockscreen)
@@ -1748,9 +1744,9 @@
             verify(centralSurfaces).setInteracting(StatusBarManager.WINDOW_STATUS_BAR, true)
 
             clearInvocations(centralSurfaces)
-            emulateSceneTransition(
+            emulateOverlayTransition(
                 transitionStateFlow = transitionStateFlow,
-                toScene = Scenes.Bouncer,
+                toOverlay = Overlays.Bouncer,
                 verifyBeforeTransition = {
                     verify(centralSurfaces, never()).setInteracting(anyInt(), anyBoolean())
                 },
@@ -1839,9 +1835,9 @@
             verify(centralSurfaces, never()).setInteracting(anyInt(), anyBoolean())
 
             clearInvocations(centralSurfaces)
-            emulateSceneTransition(
+            emulateOverlayTransition(
                 transitionStateFlow = transitionStateFlow,
-                toScene = Scenes.Bouncer,
+                toOverlay = Overlays.Bouncer,
                 verifyBeforeTransition = {
                     verify(centralSurfaces, never()).setInteracting(anyInt(), anyBoolean())
                 },
@@ -1926,9 +1922,9 @@
             assertThat(currentDesiredOverlays).isEmpty()
 
             clearInvocations(centralSurfaces)
-            emulateSceneTransition(
+            emulateOverlayTransition(
                 transitionStateFlow = transitionStateFlow,
-                toScene = Scenes.Bouncer,
+                toOverlay = Overlays.Bouncer,
                 verifyBeforeTransition = {
                     verify(centralSurfaces, never()).setInteracting(anyInt(), anyBoolean())
                 },
@@ -2019,9 +2015,9 @@
             assertThat(currentDesiredOverlays).isEmpty()
 
             clearInvocations(centralSurfaces)
-            emulateSceneTransition(
+            emulateOverlayTransition(
                 transitionStateFlow = transitionStateFlow,
-                toScene = Scenes.Bouncer,
+                toOverlay = Overlays.Bouncer,
                 verifyBeforeTransition = {
                     verify(centralSurfaces, never()).setInteracting(anyInt(), anyBoolean())
                 },
@@ -2098,32 +2094,42 @@
     fun respondToFalsingDetections() =
         testScope.runTest {
             val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             val transitionStateFlow = prepareState()
             underTest.start()
             runCurrent()
-            emulateSceneTransition(transitionStateFlow, toScene = Scenes.Bouncer)
-            assertThat(currentScene).isNotEqualTo(Scenes.Lockscreen)
+            emulateOverlayTransition(
+                transitionStateFlow = transitionStateFlow,
+                toOverlay = Overlays.Bouncer,
+            )
+            assertThat(currentScene).isEqualTo(Scenes.Lockscreen)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
 
             kosmos.falsingManager.sendFalsingBelief()
+            runCurrent()
 
             assertThat(currentScene).isEqualTo(Scenes.Lockscreen)
+            assertThat(currentOverlays).isEmpty()
         }
 
     @Test
     fun handleBouncerOverscroll() =
         testScope.runTest {
-            val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             val transitionStateFlow = prepareState()
             underTest.start()
             runCurrent()
-            emulateSceneTransition(transitionStateFlow, toScene = Scenes.Bouncer)
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            emulateOverlayTransition(
+                transitionStateFlow = transitionStateFlow,
+                toOverlay = Overlays.Bouncer,
+            )
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
 
             transitionStateFlow.value =
-                ObservableTransitionState.Transition(
-                    fromScene = Scenes.Bouncer,
+                ObservableTransitionState.Transition.hideOverlay(
+                    overlay = Overlays.Bouncer,
                     toScene = Scenes.Lockscreen,
-                    currentScene = flowOf(Scenes.Bouncer),
+                    currentOverlays = flowOf(setOf(Overlays.Bouncer)),
                     progress = flowOf(-0.4f),
                     isInitiatedByUserInput = true,
                     isUserInputOngoing = flowOf(true),
@@ -2137,16 +2143,17 @@
     fun switchToLockscreen_whenShadeBecomesNotTouchable() =
         testScope.runTest {
             val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             val isShadeTouchable by collectLastValue(kosmos.shadeInteractor.isShadeTouchable)
             val transitionStateFlow = prepareState()
             underTest.start()
             assertThat(currentScene).isEqualTo(Scenes.Lockscreen)
             // Flung to bouncer, 90% of the way there:
             transitionStateFlow.value =
-                ObservableTransitionState.Transition(
+                ObservableTransitionState.Transition.showOverlay(
+                    overlay = Overlays.Bouncer,
                     fromScene = Scenes.Lockscreen,
-                    toScene = Scenes.Bouncer,
-                    currentScene = flowOf(Scenes.Bouncer),
+                    currentOverlays = flowOf(setOf(Overlays.Bouncer)),
                     progress = flowOf(0.9f),
                     isInitiatedByUserInput = true,
                     isUserInputOngoing = flowOf(false),
@@ -2159,22 +2166,27 @@
             assertThat(isShadeTouchable).isFalse()
 
             assertThat(currentScene).isEqualTo(Scenes.Lockscreen)
+            assertThat(currentOverlays).doesNotContain(Overlays.Bouncer)
         }
 
     @Test
     fun switchToGone_extendUnlock() =
         testScope.runTest {
             val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             prepareState(
-                initialSceneKey = Scenes.Bouncer,
+                initialSceneKey = Scenes.Lockscreen,
+                initialOverlays = setOf(Overlays.Bouncer),
                 authenticationMethod = AuthenticationMethodModel.Pin,
             )
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentScene).isEqualTo(Scenes.Lockscreen)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
 
             underTest.start()
             fakeTrustRepository.setCurrentUserTrusted(true)
 
             assertThat(currentScene).isEqualTo(Scenes.Gone)
+            assertThat(currentOverlays).doesNotContain(Overlays.Bouncer)
             assertThat(uiEventLoggerFake[0].eventId)
                 .isEqualTo(BouncerUiEvent.BOUNCER_DISMISS_EXTENDED_ACCESS.id)
             assertThat(uiEventLoggerFake.numLogs()).isEqualTo(1)
@@ -2285,12 +2297,15 @@
     fun notifyKeyguardDismissCallbacks_whenUnlockingFromBouncer_onDismissSucceeded() =
         testScope.runTest {
             val currentSceneKey by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             prepareState(
                 authenticationMethod = AuthenticationMethodModel.Pin,
                 isDeviceUnlocked = false,
-                initialSceneKey = Scenes.Bouncer,
+                initialSceneKey = Scenes.Lockscreen,
+                initialOverlays = setOf(Overlays.Bouncer),
             )
-            assertThat(currentSceneKey).isEqualTo(Scenes.Bouncer)
+            assertThat(currentSceneKey).isEqualTo(Scenes.Lockscreen)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
             underTest.start()
 
             // run all pending dismiss succeeded/cancelled calls from setup:
@@ -2311,7 +2326,7 @@
     fun notifyKeyguardDismissCallbacks_whenLeavingBouncer_onDismissCancelled() =
         testScope.runTest {
             val isUnlocked by collectLastValue(kosmos.deviceEntryInteractor.isUnlocked)
-            val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             prepareState()
             underTest.start()
             runCurrent()
@@ -2323,13 +2338,13 @@
             kosmos.dismissCallbackRegistry.addCallback(dismissCallback)
 
             // Switch to bouncer:
-            sceneInteractor.changeScene(Scenes.Bouncer, "")
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            sceneInteractor.showOverlay(Overlays.Bouncer, "")
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
             runCurrent()
 
             // Return to lockscreen when isUnlocked=false:
-            sceneInteractor.changeScene(Scenes.Lockscreen, "")
-            assertThat(currentScene).isEqualTo(Scenes.Lockscreen)
+            sceneInteractor.hideOverlay(Overlays.Bouncer, "")
+            assertThat(currentOverlays).doesNotContain(Overlays.Bouncer)
             assertThat(isUnlocked).isFalse()
             runCurrent()
             kosmos.fakeExecutor.runAllReady()
@@ -2844,6 +2859,7 @@
         isDeviceUnlocked: Boolean = false,
         isBypassEnabled: Boolean = false,
         initialSceneKey: SceneKey? = null,
+        initialOverlays: Set<OverlayKey> = emptySet(),
         authenticationMethod: AuthenticationMethodModel? = null,
         isLockscreenEnabled: Boolean = true,
         startsAwake: Boolean = true,
@@ -2870,7 +2886,7 @@
         runCurrent()
         val transitionStateFlow =
             MutableStateFlow<ObservableTransitionState>(
-                ObservableTransitionState.Idle(Scenes.Lockscreen)
+                ObservableTransitionState.Idle(Scenes.Lockscreen, initialOverlays)
             )
         sceneInteractor.setTransitionState(transitionStateFlow)
         initialSceneKey?.let {
@@ -2881,9 +2897,12 @@
                 runCurrent()
             }
 
-            transitionStateFlow.value = ObservableTransitionState.Idle(it)
+            transitionStateFlow.value = ObservableTransitionState.Idle(it, initialOverlays)
             sceneInteractor.changeScene(it, "prepareState, initialSceneKey isn't null")
         }
+        for (overlay in initialOverlays) {
+            sceneInteractor.showOverlay(overlay, "prepareState, initialOverlays isn't empty")
+        }
         if (startsAwake) {
             powerInteractor.setAwakeForTest()
         } else {
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/ScrimStartableTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/ScrimStartableTest.kt
index 572bc4d..46f4970 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/ScrimStartableTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/ScrimStartableTest.kt
@@ -18,6 +18,7 @@
 
 import androidx.test.filters.SmallTest
 import com.android.compose.animation.scene.ObservableTransitionState
+import com.android.compose.animation.scene.OverlayKey
 import com.android.compose.animation.scene.SceneKey
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.bouncer.data.repository.fakeKeyguardBouncerRepository
@@ -33,6 +34,7 @@
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.scene.data.repository.setSceneTransition
 import com.android.systemui.scene.domain.interactor.sceneInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.settings.brightness.domain.interactor.brightnessMirrorShowingInteractor
 import com.android.systemui.statusbar.domain.interactor.keyguardOcclusionInteractor
@@ -90,34 +92,28 @@
                 TestSpec(
                     id = 2,
                     expectedState = ScrimState.BOUNCER,
-                    Preconditions(
-                        isOnKeyguard = true,
-                        isCurrentSceneBouncer = true,
-                    ),
+                    Preconditions(isOnKeyguard = true, isIdleOnBouncer = true),
                 ),
                 TestSpec(
                     id = 3,
                     expectedState = ScrimState.BOUNCER_SCRIMMED,
                     Preconditions(
                         isOnKeyguard = true,
-                        isCurrentSceneBouncer = true,
+                        isIdleOnBouncer = true,
                         isBouncerScrimmingNeeded = true,
                     ),
                 ),
                 TestSpec(
                     id = 4,
                     expectedState = ScrimState.BRIGHTNESS_MIRROR,
-                    Preconditions(
-                        isOnKeyguard = true,
-                        isBrightnessMirrorVisible = true,
-                    ),
+                    Preconditions(isOnKeyguard = true, isBrightnessMirrorVisible = true),
                 ),
                 TestSpec(
                     id = 5,
                     expectedState = ScrimState.BRIGHTNESS_MIRROR,
                     Preconditions(
                         isOnKeyguard = true,
-                        isCurrentSceneBouncer = true,
+                        isIdleOnBouncer = true,
                         isBiometricWakeAndUnlock = true,
                         isBrightnessMirrorVisible = true,
                     ),
@@ -125,42 +121,27 @@
                 TestSpec(
                     id = 6,
                     expectedState = ScrimState.SHADE_LOCKED,
-                    Preconditions(
-                        isOnKeyguard = true,
-                        isCurrentSceneShade = true,
-                    ),
+                    Preconditions(isOnKeyguard = true, isCurrentSceneShade = true),
                 ),
                 TestSpec(
                     id = 7,
                     expectedState = ScrimState.PULSING,
-                    Preconditions(
-                        isOnKeyguard = true,
-                        isDozing = true,
-                        isPulsing = true,
-                    ),
+                    Preconditions(isOnKeyguard = true, isDozing = true, isPulsing = true),
                 ),
                 TestSpec(
                     id = 8,
                     expectedState = ScrimState.OFF,
-                    Preconditions(
-                        isOnKeyguard = true,
-                        hasPendingScreenOffCallback = true,
-                    ),
+                    Preconditions(isOnKeyguard = true, hasPendingScreenOffCallback = true),
                 ),
                 TestSpec(
                     id = 9,
                     expectedState = ScrimState.AOD,
-                    Preconditions(
-                        isOnKeyguard = true,
-                        isDozing = true,
-                    ),
+                    Preconditions(isOnKeyguard = true, isDozing = true),
                 ),
                 TestSpec(
                     id = 10,
                     expectedState = ScrimState.GLANCEABLE_HUB,
-                    Preconditions(
-                        isIdleOnCommunal = true,
-                    ),
+                    Preconditions(isIdleOnCommunal = true),
                 ),
                 TestSpec(
                     id = 11,
@@ -170,39 +151,23 @@
                 TestSpec(
                     id = 12,
                     expectedState = ScrimState.UNLOCKED,
-                    Preconditions(
-                        isDeviceEntered = true,
-                    ),
+                    Preconditions(isDeviceEntered = true),
                 ),
                 TestSpec(
                     id = 13,
                     expectedState = ScrimState.UNLOCKED,
-                    Preconditions(
-                        isOnKeyguard = true,
-                        isBiometricWakeAndUnlock = true,
-                    ),
+                    Preconditions(isOnKeyguard = true, isBiometricWakeAndUnlock = true),
                 ),
-                TestSpec(
-                    id = 14,
-                    expectedState = ScrimState.KEYGUARD,
-                    Preconditions(),
-                ),
+                TestSpec(id = 14, expectedState = ScrimState.KEYGUARD, Preconditions()),
                 TestSpec(
                     id = 15,
                     expectedState = ScrimState.DREAMING,
-                    Preconditions(
-                        isOnKeyguard = true,
-                        isOccluded = true,
-                        isDreaming = true,
-                    ),
+                    Preconditions(isOnKeyguard = true, isOccluded = true, isDreaming = true),
                 ),
                 TestSpec(
                     id = 16,
                     expectedState = ScrimState.UNLOCKED,
-                    Preconditions(
-                        isOnKeyguard = true,
-                        isOccluded = true,
-                    ),
+                    Preconditions(isOnKeyguard = true, isOccluded = true),
                 ),
             )
         }
@@ -253,9 +218,7 @@
         }
 
     /** Sets up the state to match what's specified in the given [preconditions]. */
-    private fun TestScope.setUpWith(
-        preconditions: Preconditions,
-    ) {
+    private fun TestScope.setUpWith(preconditions: Preconditions) {
         kosmos.fakeKeyguardBouncerRepository.setAlternateVisible(
             preconditions.isAlternateBouncerVisible
         )
@@ -272,17 +235,12 @@
 
         when {
             preconditions.isTransitioningToShade ->
-                whenTransitioning(
-                    from = Scenes.Lockscreen,
-                    to = Scenes.Shade,
-                )
+                whenTransitioning(from = Scenes.Lockscreen, to = Scenes.Shade)
             preconditions.isTransitioningAwayFromKeyguard ->
-                whenTransitioning(
-                    from = Scenes.Lockscreen,
-                    to = Scenes.Gone,
-                )
+                whenTransitioning(from = Scenes.Lockscreen, to = Scenes.Gone)
             preconditions.isCurrentSceneShade -> whenIdle(on = Scenes.Shade)
-            preconditions.isCurrentSceneBouncer -> whenIdle(on = Scenes.Bouncer)
+            preconditions.isIdleOnBouncer ->
+                whenIdle(on = Scenes.Lockscreen, overlays = setOf(Overlays.Bouncer))
             preconditions.isIdleOnCommunal -> whenIdle(on = Scenes.Communal)
         }
 
@@ -323,9 +281,12 @@
     }
 
     /** Sets up an idle state on the given [on] scene. */
-    private fun whenIdle(on: SceneKey) {
-        kosmos.setSceneTransition(ObservableTransitionState.Idle(on))
+    private fun whenIdle(on: SceneKey, overlays: Set<OverlayKey> = emptySet()) {
+        kosmos.setSceneTransition(ObservableTransitionState.Idle(on, overlays))
         kosmos.sceneInteractor.changeScene(on, "")
+        for (overlay in overlays) {
+            kosmos.sceneInteractor.showOverlay(overlay, "")
+        }
     }
 
     /** Sets up a transitioning state between the [given] and [to] scenes. */
@@ -351,7 +312,7 @@
         /** Whether any non-shade nor QS scene is transitioning to a shade or QS scene. */
         val isTransitioningToShade: Boolean = false,
         val isOccluded: Boolean = false,
-        val isCurrentSceneBouncer: Boolean = false,
+        val isIdleOnBouncer: Boolean = false,
         val isBiometricWakeAndUnlock: Boolean = false,
         /** Whether there's an active transition from lockscreen or bouncer to gone. */
         val isTransitioningAwayFromKeyguard: Boolean = false,
@@ -388,7 +349,7 @@
             assertWithMessage(
                     "isCurrentSceneBouncer cannot be true without isOnKeyguard also being true"
                 )
-                .that(!isCurrentSceneBouncer || isOnKeyguard)
+                .that(!isIdleOnBouncer || isOnKeyguard)
                 .isTrue()
 
             assertWithMessage(
@@ -400,13 +361,13 @@
             assertWithMessage(
                     "isCurrentSceneBouncer cannot be true at the same time as isCurrentSceneShade"
                 )
-                .that(!isCurrentSceneBouncer || !isCurrentSceneShade)
+                .that(!isIdleOnBouncer || !isCurrentSceneShade)
                 .isTrue()
 
             assertWithMessage(
                     "isCurrentSceneBouncer cannot be true at the same time as isIdleOnCommunal"
                 )
-                .that(!isCurrentSceneBouncer || !isIdleOnCommunal)
+                .that(!isIdleOnBouncer || !isIdleOnCommunal)
                 .isTrue()
 
             assertWithMessage(
@@ -422,7 +383,7 @@
             assertWithMessage(
                     "isDeviceEntered cannot be true at the same time as isCurrentSceneBouncer"
                 )
-                .that(!isDeviceEntered || !isCurrentSceneBouncer)
+                .that(!isDeviceEntered || !isIdleOnBouncer)
                 .isTrue()
 
             assertWithMessage(
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/StatusBarStartableTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/StatusBarStartableTest.kt
index 99146d8..eebbc84 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/StatusBarStartableTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/domain/startable/StatusBarStartableTest.kt
@@ -21,6 +21,7 @@
 import android.view.WindowManagerPolicyConstants
 import androidx.test.filters.SmallTest
 import com.android.compose.animation.scene.ObservableTransitionState
+import com.android.compose.animation.scene.OverlayKey
 import com.android.compose.animation.scene.SceneKey
 import com.android.internal.config.sysui.SystemUiDeviceConfigFlags
 import com.android.internal.statusbar.statusBarService
@@ -40,6 +41,7 @@
 import com.android.systemui.power.shared.model.WakefulnessState
 import com.android.systemui.scene.data.repository.setSceneTransition
 import com.android.systemui.scene.domain.interactor.sceneInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.statusbar.domain.interactor.keyguardOcclusionInteractor
 import com.android.systemui.testKosmos
@@ -246,16 +248,14 @@
         }
 
     /** Sets up the state to match what's specified in the given [preconditions]. */
-    private fun TestScope.setUpWith(
-        preconditions: Preconditions,
-    ) {
+    private fun TestScope.setUpWith(preconditions: Preconditions) {
         if (!preconditions.isKeyguardShowing) {
             kosmos.fakeDeviceEntryFingerprintAuthRepository.setAuthenticationStatus(
                 SuccessFingerprintAuthenticationStatus(0, true)
             )
         }
         if (preconditions.isForceHideHomeAndRecents) {
-            whenIdle(Scenes.Bouncer)
+            whenIdle(Scenes.Lockscreen, setOf(Overlays.Bouncer))
         } else if (preconditions.isKeyguardShowing) {
             whenIdle(Scenes.Lockscreen)
         } else {
@@ -308,9 +308,12 @@
     }
 
     /** Sets up an idle state on the given [on] scene. */
-    private fun whenIdle(on: SceneKey) {
-        kosmos.setSceneTransition(ObservableTransitionState.Idle(on))
+    private fun whenIdle(on: SceneKey, overlays: Set<OverlayKey> = emptySet()) {
+        kosmos.setSceneTransition(ObservableTransitionState.Idle(on, overlays))
         kosmos.sceneInteractor.changeScene(on, "")
+        for (overlay in overlays) {
+            kosmos.sceneInteractor.showOverlay(overlay, "")
+        }
     }
 
     data class Preconditions(
@@ -350,11 +353,7 @@
         }
     }
 
-    data class TestSpec(
-        val id: Int,
-        val expectedFlags: Int,
-        val preconditions: Preconditions,
-    ) {
+    data class TestSpec(val id: Int, val expectedFlags: Int, val preconditions: Preconditions) {
         override fun toString(): String {
             return "id=$id, expected=$expectedFlags, preconditions=$preconditions"
         }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/shared/model/SceneDataSourceDelegatorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/shared/model/SceneDataSourceDelegatorTest.kt
index 2720c57..c9dab34 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/shared/model/SceneDataSourceDelegatorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/shared/model/SceneDataSourceDelegatorTest.kt
@@ -55,9 +55,9 @@
         testScope.runTest {
             val currentScene by collectLastValue(underTest.currentScene)
             underTest.setDelegate(null)
-            assertThat(currentScene).isNotEqualTo(Scenes.Bouncer)
+            assertThat(currentScene).isNotEqualTo(Scenes.Gone)
 
-            underTest.changeScene(toScene = Scenes.Bouncer)
+            underTest.changeScene(toScene = Scenes.Gone)
 
             assertThat(currentScene).isEqualTo(initialSceneKey)
         }
@@ -73,11 +73,11 @@
     fun currentScene_withDelegate_changesScenes() =
         testScope.runTest {
             val currentScene by collectLastValue(underTest.currentScene)
-            assertThat(currentScene).isNotEqualTo(Scenes.Bouncer)
+            assertThat(currentScene).isNotEqualTo(Scenes.Gone)
 
-            underTest.changeScene(toScene = Scenes.Bouncer)
+            underTest.changeScene(toScene = Scenes.Gone)
 
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentScene).isEqualTo(Scenes.Gone)
         }
 
     @Test
@@ -85,8 +85,8 @@
         testScope.runTest {
             val currentScene by collectLastValue(underTest.currentScene)
 
-            fakeSceneDataSource.changeScene(toScene = Scenes.Bouncer)
+            fakeSceneDataSource.changeScene(toScene = Scenes.Gone)
 
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentScene).isEqualTo(Scenes.Gone)
         }
 }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/view/SceneJankMonitorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/view/SceneJankMonitorTest.kt
index 984f8fd..9b00e21 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/view/SceneJankMonitorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/view/SceneJankMonitorTest.kt
@@ -31,6 +31,7 @@
 import com.android.systemui.kosmos.runTest
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.lifecycle.activateIn
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.testKosmos
 import com.google.common.truth.Truth.assertThat
@@ -158,22 +159,22 @@
         underTest.onTransitionStart(
             view = mock(),
             from = Scenes.Lockscreen,
-            to = Scenes.Bouncer,
+            to = Overlays.Bouncer,
             cuj = null,
         )
         verifyCujCounts(beginAppearCount = 1)
-        underTest.onTransitionEnd(from = Scenes.Lockscreen, to = Scenes.Bouncer, cuj = null)
+        underTest.onTransitionEnd(from = Scenes.Lockscreen, to = Overlays.Bouncer, cuj = null)
         verifyCujCounts(beginAppearCount = 1, endAppearCount = 1)
 
         // Bouncer disappear CUJ but it doesn't log because the device isn't unlocked.
         underTest.onTransitionStart(
             view = mock(),
-            from = Scenes.Bouncer,
+            from = Overlays.Bouncer,
             to = Scenes.Lockscreen,
             cuj = null,
         )
         verifyCujCounts(beginAppearCount = 1, endAppearCount = 1)
-        underTest.onTransitionEnd(from = Scenes.Bouncer, to = Scenes.Lockscreen, cuj = null)
+        underTest.onTransitionEnd(from = Overlays.Bouncer, to = Scenes.Lockscreen, cuj = null)
         verifyCujCounts(beginAppearCount = 1, endAppearCount = 1)
 
         if (!testUnlockedDisappearance) {
@@ -190,12 +191,12 @@
         // Bouncer disappear CUJ and it doeslog because the device is unlocked.
         underTest.onTransitionStart(
             view = mock(),
-            from = Scenes.Bouncer,
+            from = Overlays.Bouncer,
             to = Scenes.Gone,
             cuj = null,
         )
         verifyCujCounts(beginAppearCount = 1, endAppearCount = 1, beginDisappearCount = 1)
-        underTest.onTransitionEnd(from = Scenes.Bouncer, to = Scenes.Gone, cuj = null)
+        underTest.onTransitionEnd(from = Overlays.Bouncer, to = Scenes.Gone, cuj = null)
         verifyCujCounts(
             beginAppearCount = 1,
             endAppearCount = 1,
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/SceneContainerHapticsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/SceneContainerHapticsViewModelTest.kt
index 7330b51..f04f0a3 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/SceneContainerHapticsViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/scene/ui/viewmodel/SceneContainerHapticsViewModelTest.kt
@@ -164,7 +164,7 @@
             kosmos.enableDualShade()
             // GIVEN an invalid scene transition to play haptics
             val invalidTransition =
-                createTransitionState(from = Scenes.Bouncer, to = Overlays.NotificationsShade)
+                createTransitionState(from = Scenes.QuickSettings, to = Scenes.Gone)
 
             // WHEN the transition occurs
             sceneInteractor.setTransitionState(MutableStateFlow(invalidTransition))
@@ -199,7 +199,7 @@
             kosmos.enableDualShade()
             // GIVEN an invalid scene transition to play haptics
             val invalidTransition =
-                createTransitionState(from = Scenes.Bouncer, to = Overlays.NotificationsShade)
+                createTransitionState(from = Scenes.QuickSettings, to = Scenes.Gone)
 
             // WHEN the transition occurs
             sceneInteractor.setTransitionState(MutableStateFlow(invalidTransition))
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractorImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractorImplTest.kt
index 1859e25..d7b8aff 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractorImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/domain/interactor/PanelExpansionInteractorImplTest.kt
@@ -78,7 +78,7 @@
             changeScene(Scenes.Lockscreen) { assertThat(panelExpansion).isEqualTo(1f) }
             assertThat(panelExpansion).isEqualTo(1f)
 
-            changeScene(Scenes.Bouncer) { assertThat(panelExpansion).isEqualTo(1f) }
+            showOverlay(Overlays.Bouncer) { assertThat(panelExpansion).isEqualTo(1f) }
             assertThat(panelExpansion).isEqualTo(1f)
 
             changeScene(Scenes.Shade) { assertThat(panelExpansion).isEqualTo(1f) }
@@ -133,7 +133,7 @@
             changeScene(Scenes.Lockscreen) { assertThat(panelExpansion).isEqualTo(1f) }
             assertThat(panelExpansion).isEqualTo(1f)
 
-            changeScene(Scenes.Bouncer) { assertThat(panelExpansion).isEqualTo(1f) }
+            showOverlay(Overlays.Bouncer) { assertThat(panelExpansion).isEqualTo(1f) }
             assertThat(panelExpansion).isEqualTo(1f)
 
             showOverlay(Overlays.NotificationsShade) { assertThat(panelExpansion).isEqualTo(1f) }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/NotificationShadeWindowModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/NotificationShadeWindowModelTest.kt
index 2038adc..d5537a6 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/NotificationShadeWindowModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/shade/ui/viewmodel/NotificationShadeWindowModelTest.kt
@@ -32,6 +32,7 @@
 import com.android.systemui.keyguard.shared.model.TransitionStep
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.scene.domain.interactor.sceneInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.testKosmos
 import com.google.common.truth.Truth.assertThat
@@ -125,7 +126,7 @@
                     to = KeyguardState.DREAMING,
                     value = 1f,
                     transitionState = TransitionState.FINISHED,
-                ),
+                )
             )
             assertThat(isKeyguardOccluded).isTrue()
 
@@ -154,7 +155,7 @@
                     to = KeyguardState.OCCLUDED,
                     value = 1f,
                     transitionState = TransitionState.FINISHED,
-                ),
+                )
             )
             assertThat(isKeyguardOccluded).isTrue()
         }
@@ -173,7 +174,8 @@
             runCurrent()
             assertThat(bouncerShowing).isFalse()
 
-            transitionState.value = ObservableTransitionState.Idle(Scenes.Bouncer)
+            transitionState.value =
+                ObservableTransitionState.Idle(Scenes.Lockscreen, setOf(Overlays.Bouncer))
             runCurrent()
             assertThat(bouncerShowing).isTrue()
         }
@@ -204,7 +206,7 @@
 
             val transitionState =
                 MutableStateFlow<ObservableTransitionState>(
-                    ObservableTransitionState.Idle(Scenes.Bouncer)
+                    ObservableTransitionState.Idle(Scenes.Lockscreen, setOf(Overlays.Bouncer))
                 )
             kosmos.sceneInteractor.setTransitionState(transitionState)
             runCurrent()
@@ -219,7 +221,8 @@
                 AuthenticationMethodModel.Password
             )
             // go back to bouncer
-            transitionState.value = ObservableTransitionState.Idle(Scenes.Bouncer)
+            transitionState.value =
+                ObservableTransitionState.Idle(Scenes.Lockscreen, setOf(Overlays.Bouncer))
             runCurrent()
             assertThat(bouncerRequiresIme).isTrue()
         }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/NotificationShadeDepthControllerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/NotificationShadeDepthControllerTest.kt
index 83361da..c10fd5e 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/NotificationShadeDepthControllerTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/NotificationShadeDepthControllerTest.kt
@@ -19,6 +19,7 @@
 import android.os.IBinder
 import android.platform.test.annotations.DisableFlags
 import android.platform.test.annotations.EnableFlags
+import android.platform.test.annotations.RequiresFlagsDisabled
 import android.testing.TestableLooper.RunWithLooper
 import android.view.Choreographer
 import android.view.View
@@ -34,7 +35,6 @@
 import com.android.systemui.plugins.statusbar.StatusBarStateController
 import com.android.systemui.res.R
 import com.android.systemui.shade.ShadeExpansionChangeEvent
-import com.android.systemui.shared.Flags as SharedFlags
 import com.android.systemui.statusbar.phone.BiometricUnlockController
 import com.android.systemui.statusbar.phone.DozeParameters
 import com.android.systemui.statusbar.phone.ScrimController
@@ -44,11 +44,10 @@
 import com.android.systemui.testKosmos
 import com.android.systemui.util.WallpaperController
 import com.android.systemui.util.mockito.eq
+import com.android.systemui.wallpapers.domain.interactor.WallpaperInteractor
 import com.android.systemui.window.domain.interactor.WindowRootViewBlurInteractor
 import com.android.wm.shell.appzoomout.AppZoomOut
 import com.google.common.truth.Truth.assertThat
-import java.util.Optional
-import java.util.function.Consumer
 import org.junit.Before
 import org.junit.Rule
 import org.junit.Test
@@ -69,6 +68,8 @@
 import org.mockito.Mockito.verify
 import org.mockito.Mockito.`when`
 import org.mockito.junit.MockitoJUnit
+import java.util.Optional
+import java.util.function.Consumer
 
 @RunWith(AndroidJUnit4::class)
 @RunWithLooper
@@ -76,6 +77,7 @@
 class NotificationShadeDepthControllerTest : SysuiTestCase() {
     private val kosmos = testKosmos()
 
+    private val applicationScope = kosmos.testScope.backgroundScope
     @Mock private lateinit var windowRootViewBlurInteractor: WindowRootViewBlurInteractor
     @Mock private lateinit var statusBarStateController: StatusBarStateController
     @Mock private lateinit var blurUtils: BlurUtils
@@ -84,6 +86,7 @@
     @Mock private lateinit var keyguardInteractor: KeyguardInteractor
     @Mock private lateinit var choreographer: Choreographer
     @Mock private lateinit var wallpaperController: WallpaperController
+    @Mock private lateinit var wallpaperInteractor: WallpaperInteractor
     @Mock private lateinit var notificationShadeWindowController: NotificationShadeWindowController
     @Mock private lateinit var dumpManager: DumpManager
     @Mock private lateinit var appZoomOutOptional: Optional<AppZoomOut>
@@ -128,12 +131,14 @@
                 keyguardInteractor,
                 choreographer,
                 wallpaperController,
+                wallpaperInteractor,
                 notificationShadeWindowController,
                 dozeParameters,
                 context,
                 ResourcesSplitShadeStateController(),
                 windowRootViewBlurInteractor,
                 appZoomOutOptional,
+                applicationScope,
                 dumpManager,
                 configurationController,
             )
@@ -310,22 +315,24 @@
     }
 
     @Test
-    @DisableFlags(SharedFlags.FLAG_AMBIENT_AOD)
-    fun onDozeAmountChanged_appliesBlur() {
-        statusBarStateListener.onDozeAmountChanged(1f, 1f)
-        notificationShadeDepthController.updateBlurCallback.doFrame(0)
-        verify(blurUtils).applyBlur(any(), eq(maxBlur), eq(false))
-    }
-
-    @Test
-    @EnableFlags(SharedFlags.FLAG_AMBIENT_AOD)
     fun onDozeAmountChanged_doesNotApplyBlurWithAmbientAod() {
+        notificationShadeDepthController.wallpaperSupportsAmbientMode = false
+
         statusBarStateListener.onDozeAmountChanged(1f, 1f)
         notificationShadeDepthController.updateBlurCallback.doFrame(0)
         verify(blurUtils).applyBlur(any(), eq(0), eq(false))
     }
 
     @Test
+    fun onDozeAmountChanged_appliesBlurWithAmbientAod() {
+        notificationShadeDepthController.wallpaperSupportsAmbientMode = true
+
+        statusBarStateListener.onDozeAmountChanged(1f, 1f)
+        notificationShadeDepthController.updateBlurCallback.doFrame(0)
+        verify(blurUtils).applyBlur(any(), eq(maxBlur), eq(false))
+    }
+
+    @Test
     fun setFullShadeTransition_appliesBlur_onlyIfSupported() {
         reset(blurUtils)
         `when`(blurUtils.blurRadiusOfRatio(anyFloat())).then { answer ->
@@ -353,6 +360,7 @@
     }
 
     @Test
+    @RequiresFlagsDisabled(Flags.FLAG_NOTIFICATION_SHADE_BLUR)
     fun updateBlurCallback_setsOpaque_whenScrim() {
         scrimVisibilityCaptor.value.accept(ScrimController.OPAQUE)
         notificationShadeDepthController.updateBlurCallback.doFrame(0)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/StatusBarStateControllerImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/StatusBarStateControllerImplTest.kt
index 7a982a3..6a222c6 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/StatusBarStateControllerImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/StatusBarStateControllerImplTest.kt
@@ -253,6 +253,7 @@
             underTest.addCallback(listener)
 
             val currentScene by collectLastValue(sceneInteractor.currentScene)
+            val currentOverlays by collectLastValue(sceneInteractor.currentOverlays)
             val deviceUnlockStatus by
                 collectLastValue(kosmos.deviceUnlockedInteractor.deviceUnlockStatus)
 
@@ -269,9 +270,9 @@
             // Call start to begin hydrating based on the scene framework:
             underTest.start()
 
-            sceneInteractor.changeScene(toScene = Scenes.Bouncer, loggingReason = "reason")
+            sceneInteractor.showOverlay(overlay = Overlays.Bouncer, loggingReason = "reason")
             runCurrent()
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
             assertThat(statusBarState).isEqualTo(StatusBarState.KEYGUARD)
 
             sceneInteractor.changeScene(toScene = Scenes.Shade, loggingReason = "reason")
@@ -373,13 +374,12 @@
             // Call start to begin hydrating based on the scene framework:
             underTest.start()
 
-            sceneInteractor.changeScene(Scenes.Bouncer, loggingReason = "reason")
+            sceneInteractor.showOverlay(Overlays.Bouncer, loggingReason = "reason")
             runCurrent()
-            assertThat(currentScene).isEqualTo(Scenes.Bouncer)
-            assertThat(currentOverlays).isEmpty()
+            assertThat(currentOverlays).contains(Overlays.Bouncer)
             assertThat(statusBarState).isEqualTo(StatusBarState.KEYGUARD)
 
-            sceneInteractor.changeScene(Scenes.Lockscreen, loggingReason = "reason")
+            sceneInteractor.hideOverlay(Overlays.Bouncer, loggingReason = "reason")
             runCurrent()
 
             sceneInteractor.showOverlay(Overlays.NotificationsShade, loggingReason = "reason")
@@ -507,6 +507,11 @@
         testScope.runTest {
             underTest.start()
             underTest.setLeaveOpenOnKeyguardHide(true)
+            kosmos.sceneInteractor.snapToScene(Scenes.Lockscreen, "")
+            kosmos.fakeDeviceEntryFingerprintAuthRepository.setAuthenticationStatus(
+                SuccessFingerprintAuthenticationStatus(0, true)
+            )
+            runCurrent()
 
             keyguardTransitionRepository.sendTransitionSteps(
                 from = KeyguardState.AOD,
@@ -515,6 +520,7 @@
             )
             assertThat(underTest.leaveOpenOnKeyguardHide()).isEqualTo(true)
 
+            kosmos.sceneInteractor.changeScene(Scenes.Gone, "")
             kosmos.setTransition(
                 sceneTransition = Idle(Scenes.Gone),
                 stateTransition =
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/chips/ui/viewmodel/OngoingActivityChipsViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/chips/ui/viewmodel/OngoingActivityChipsViewModelTest.kt
index 626dcd5..1b5b0d6 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/chips/ui/viewmodel/OngoingActivityChipsViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/chips/ui/viewmodel/OngoingActivityChipsViewModelTest.kt
@@ -22,15 +22,18 @@
 import android.graphics.Bitmap
 import android.graphics.drawable.BitmapDrawable
 import android.platform.test.annotations.DisableFlags
+import android.platform.test.annotations.EnableFlags
 import android.view.View
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.animation.Expandable
 import com.android.systemui.common.shared.model.Icon
-import com.android.systemui.coroutines.collectLastValue
 import com.android.systemui.kosmos.Kosmos
+import com.android.systemui.kosmos.collectLastValue
+import com.android.systemui.kosmos.runTest
 import com.android.systemui.kosmos.testScope
+import com.android.systemui.kosmos.useUnconfinedTestDispatcher
 import com.android.systemui.mediaprojection.data.model.MediaProjectionState
 import com.android.systemui.mediaprojection.data.repository.fakeMediaProjectionRepository
 import com.android.systemui.mediaprojection.taskswitcher.FakeActivityTaskManager.Companion.createTask
@@ -48,16 +51,13 @@
 import com.android.systemui.statusbar.phone.SystemUIDialog
 import com.android.systemui.statusbar.phone.mockSystemUIDialogFactory
 import com.android.systemui.statusbar.phone.ongoingcall.StatusBarChipsModernization
-import com.android.systemui.statusbar.phone.ongoingcall.data.repository.ongoingCallRepository
-import com.android.systemui.statusbar.phone.ongoingcall.shared.model.OngoingCallModel
-import com.android.systemui.statusbar.phone.ongoingcall.shared.model.inCallModel
+import com.android.systemui.statusbar.phone.ongoingcall.shared.model.OngoingCallTestHelper.addOngoingCallState
+import com.android.systemui.statusbar.phone.ongoingcall.shared.model.OngoingCallTestHelper.removeOngoingCallState
 import com.android.systemui.testKosmos
 import com.android.systemui.util.time.fakeSystemClock
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.flow.launchIn
 import kotlinx.coroutines.flow.onEach
-import kotlinx.coroutines.test.runCurrent
-import kotlinx.coroutines.test.runTest
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -74,13 +74,11 @@
 @RunWith(AndroidJUnit4::class)
 @DisableFlags(StatusBarNotifChips.FLAG_NAME)
 class OngoingActivityChipsViewModelTest : SysuiTestCase() {
-    private val kosmos = testKosmos()
-    private val testScope = kosmos.testScope
+    private val kosmos = testKosmos().useUnconfinedTestDispatcher()
     private val systemClock = kosmos.fakeSystemClock
 
     private val screenRecordState = kosmos.screenRecordRepository.screenRecordState
     private val mediaProjectionState = kosmos.fakeMediaProjectionRepository.mediaProjectionState
-    private val callRepo = kosmos.ongoingCallRepository
 
     private val mockSystemUIDialog = mock<SystemUIDialog>()
     private val chipBackgroundView = mock<ChipBackgroundContainer>()
@@ -96,7 +94,7 @@
     private val mockExpandable: Expandable =
         mock<Expandable>().apply { whenever(dialogTransitionController(any())).thenReturn(mock()) }
 
-    private val underTest = kosmos.ongoingActivityChipsViewModel
+    private val Kosmos.underTest by Kosmos.Fixture { ongoingActivityChipsViewModel }
 
     @Before
     fun setUp() {
@@ -111,10 +109,10 @@
 
     @Test
     fun primaryChip_allHidden_hidden() =
-        testScope.runTest {
+        kosmos.runTest {
             screenRecordState.value = ScreenRecordModel.DoingNothing
             mediaProjectionState.value = MediaProjectionState.NotProjecting
-            callRepo.setOngoingCallState(OngoingCallModel.NoCall)
+            removeOngoingCallState("testKey")
 
             val latest by collectLastValue(underTest.primaryChip)
 
@@ -123,10 +121,10 @@
 
     @Test
     fun primaryChip_screenRecordShow_restHidden_screenRecordShown() =
-        testScope.runTest {
+        kosmos.runTest {
             screenRecordState.value = ScreenRecordModel.Recording
             mediaProjectionState.value = MediaProjectionState.NotProjecting
-            callRepo.setOngoingCallState(OngoingCallModel.NoCall)
+            removeOngoingCallState("testKey")
 
             val latest by collectLastValue(underTest.primaryChip)
 
@@ -135,10 +133,10 @@
 
     @Test
     fun primaryChip_screenRecordShowAndCallShow_screenRecordShown() =
-        testScope.runTest {
+        kosmos.runTest {
             screenRecordState.value = ScreenRecordModel.Recording
 
-            callRepo.setOngoingCallState(inCallModel(startTimeMs = 34))
+            addOngoingCallState()
 
             val latest by collectLastValue(underTest.primaryChip)
 
@@ -147,11 +145,11 @@
 
     @Test
     fun primaryChip_screenRecordShowAndShareToAppShow_screenRecordShown() =
-        testScope.runTest {
+        kosmos.runTest {
             screenRecordState.value = ScreenRecordModel.Recording
             mediaProjectionState.value =
                 MediaProjectionState.Projecting.EntireScreen(NORMAL_PACKAGE)
-            callRepo.setOngoingCallState(OngoingCallModel.NoCall)
+            removeOngoingCallState("testKey")
 
             val latest by collectLastValue(underTest.primaryChip)
 
@@ -160,11 +158,11 @@
 
     @Test
     fun primaryChip_shareToAppShowAndCallShow_shareToAppShown() =
-        testScope.runTest {
+        kosmos.runTest {
             screenRecordState.value = ScreenRecordModel.DoingNothing
             mediaProjectionState.value =
                 MediaProjectionState.Projecting.EntireScreen(NORMAL_PACKAGE)
-            callRepo.setOngoingCallState(inCallModel(startTimeMs = 34))
+            addOngoingCallState()
 
             val latest by collectLastValue(underTest.primaryChip)
 
@@ -173,15 +171,13 @@
 
     @Test
     fun primaryChip_screenRecordAndShareToAppAndCastToOtherHideAndCallShown_callShown() =
-        testScope.runTest {
+        kosmos.runTest {
             val notificationKey = "call"
             screenRecordState.value = ScreenRecordModel.DoingNothing
             // MediaProjection covers both share-to-app and cast-to-other-device
             mediaProjectionState.value = MediaProjectionState.NotProjecting
 
-            callRepo.setOngoingCallState(
-                inCallModel(startTimeMs = 34, notificationKey = notificationKey)
-            )
+            addOngoingCallState(key = notificationKey)
 
             val latest by collectLastValue(underTest.primaryChip)
 
@@ -190,12 +186,10 @@
 
     @Test
     fun primaryChip_higherPriorityChipAdded_lowerPriorityChipReplaced() =
-        testScope.runTest {
+        kosmos.runTest {
             // Start with just the lowest priority chip shown
             val callNotificationKey = "call"
-            callRepo.setOngoingCallState(
-                inCallModel(startTimeMs = 34, notificationKey = callNotificationKey)
-            )
+            addOngoingCallState(key = callNotificationKey)
             // And everything else hidden
             mediaProjectionState.value = MediaProjectionState.NotProjecting
             screenRecordState.value = ScreenRecordModel.DoingNothing
@@ -224,15 +218,13 @@
 
     @Test
     fun primaryChip_highestPriorityChipRemoved_showsNextPriorityChip() =
-        testScope.runTest {
+        kosmos.runTest {
             // WHEN all chips are active
             screenRecordState.value = ScreenRecordModel.Recording
             mediaProjectionState.value =
                 MediaProjectionState.Projecting.EntireScreen(NORMAL_PACKAGE)
             val callNotificationKey = "call"
-            callRepo.setOngoingCallState(
-                inCallModel(startTimeMs = 34, notificationKey = callNotificationKey)
-            )
+            addOngoingCallState(key = callNotificationKey)
 
             val latest by collectLastValue(underTest.primaryChip)
 
@@ -255,17 +247,15 @@
     /** Regression test for b/347726238. */
     @Test
     fun primaryChip_timerDoesNotResetAfterSubscribersRestart() =
-        testScope.runTest {
+        kosmos.runTest {
             var latest: OngoingActivityChipModel? = null
 
-            val job1 = underTest.primaryChip.onEach { latest = it }.launchIn(this)
+            val job1 = underTest.primaryChip.onEach { latest = it }.launchIn(kosmos.testScope)
 
             // Start a chip with a timer
             systemClock.setElapsedRealtime(1234)
             screenRecordState.value = ScreenRecordModel.Recording
 
-            runCurrent()
-
             assertThat((latest as OngoingActivityChipModel.Active.Timer).startTimeMs)
                 .isEqualTo(1234)
 
@@ -276,9 +266,7 @@
             systemClock.setElapsedRealtime(5678)
 
             // WHEN we re-subscribe to the chip flow
-            val job2 = underTest.primaryChip.onEach { latest = it }.launchIn(this)
-
-            runCurrent()
+            val job2 = underTest.primaryChip.onEach { latest = it }.launchIn(kosmos.testScope)
 
             // THEN the old start time is still used
             assertThat((latest as OngoingActivityChipModel.Active.Timer).startTimeMs)
@@ -289,14 +277,14 @@
 
     @Test
     fun primaryChip_screenRecordStoppedViaDialog_chipHiddenWithoutAnimation() =
-        testScope.runTest {
+        kosmos.runTest {
             screenRecordState.value = ScreenRecordModel.Recording
             mediaProjectionState.value =
                 MediaProjectionState.Projecting.EntireScreen(
                     NORMAL_PACKAGE,
                     hostDeviceName = "Recording Display",
                 )
-            callRepo.setOngoingCallState(OngoingCallModel.NoCall)
+            removeOngoingCallState("testKey")
 
             val latest by collectLastValue(underTest.primaryChip)
 
@@ -319,11 +307,11 @@
 
     @Test
     fun primaryChip_projectionStoppedViaDialog_chipHiddenWithoutAnimation() =
-        testScope.runTest {
+        kosmos.runTest {
             mediaProjectionState.value =
                 MediaProjectionState.Projecting.EntireScreen(NORMAL_PACKAGE)
             screenRecordState.value = ScreenRecordModel.DoingNothing
-            callRepo.setOngoingCallState(OngoingCallModel.NoCall)
+            removeOngoingCallState("testKey")
 
             val latest by collectLastValue(underTest.primaryChip)
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/NotificationTransitionAnimatorControllerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/NotificationTransitionAnimatorControllerTest.kt
index a1772e3..510167d 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/NotificationTransitionAnimatorControllerTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/NotificationTransitionAnimatorControllerTest.kt
@@ -10,6 +10,7 @@
 import com.android.systemui.jank.interactionJankMonitor
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.res.R
+import com.android.systemui.statusbar.notification.collection.GroupEntry
 import com.android.systemui.statusbar.notification.collection.GroupEntryBuilder
 import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder
 import com.android.systemui.statusbar.notification.data.repository.NotificationLaunchAnimationRepository
@@ -165,7 +166,10 @@
             .setSummary(summary)
             .addChild(notification.entry)
             .build()
-        assertSame(summary, notification.entry.parent?.summary)
+
+        val parentSummary = if (notification.entry.parent is GroupEntry)
+            (notification.entry.parent as GroupEntry).summary else null
+        assertSame(summary, parentSummary)
 
         `when`(headsUpManager.isHeadsUpEntry(notificationKey)).thenReturn(false)
         `when`(headsUpManager.isHeadsUpEntry(summary.key)).thenReturn(true)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilderTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilderTest.kt
index 99bd4fc..d9c9177 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilderTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilderTest.kt
@@ -26,6 +26,7 @@
 import com.android.systemui.statusbar.notification.collection.ListEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.getAttachState
 import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection
 import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifSectioner
@@ -409,7 +410,7 @@
 ): NotifSection {
     return NotifSection(object : NotifSectioner("Section $index (bucket=$bucket)", bucket) {
 
-        override fun isInSection(entry: ListEntry?): Boolean {
+        override fun isInSection(entry: PipelineEntry?): Boolean {
             throw NotImplementedError("This should never be called")
         }
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/RenderStageManagerTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/RenderStageManagerTest.kt
index e6fbc72..4a05804 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/RenderStageManagerTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/collection/render/RenderStageManagerTest.kt
@@ -24,6 +24,7 @@
 import com.android.systemui.statusbar.notification.collection.ListEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntryBuilder
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.ShadeListBuilder
 import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderEntryListener
 import com.android.systemui.statusbar.notification.collection.listbuilder.OnAfterRenderGroupListener
@@ -40,6 +41,7 @@
 import org.mockito.kotlin.times
 import org.mockito.kotlin.verify
 import org.mockito.kotlin.verifyNoMoreInteractions
+import java.nio.channels.Pipe
 
 @SmallTest
 @RunWith(AndroidJUnit4::class)
@@ -198,7 +200,7 @@
         )
 
     private class FakeNotifViewRenderer : NotifViewRenderer {
-        override fun onRenderList(notifList: List<ListEntry>) {}
+        override fun onRenderList(notifList: List<PipelineEntry>) {}
 
         override fun getGroupController(group: GroupEntry): NotifGroupController = mock()
 
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationConversationTemplateViewWrapperTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationConversationTemplateViewWrapperTest.kt
index 081f52c..bf6ee92 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationConversationTemplateViewWrapperTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationConversationTemplateViewWrapperTest.kt
@@ -75,9 +75,10 @@
         // Creates a mocked out NotificationEntry of ConversationLayout type,
         // with a mock imageMessage.drawable embedded in its MessagingImageMessages
         // (both top level, and in a group).
-        val mockDrawable = mock<AnimatedImageDrawable>()
-        val mockDrawable2 = mock<AnimatedImageDrawable>()
-        val mockLayoutView: View = fakeConversationLayout(mockDrawable, mockDrawable2)
+        val mockDrawableGroupMessage = mock<AnimatedImageDrawable>()
+        val mockDrawableImageMessage = mock<AnimatedImageDrawable>()
+        val mockLayoutView: View =
+            fakeConversationLayout(mockDrawableGroupMessage, mockDrawableImageMessage)
 
         val wrapper: NotificationViewWrapper =
             NotificationConversationTemplateViewWrapper(mContext, mockLayoutView, mRow)
@@ -85,8 +86,8 @@
         wrapper.setAnimationsRunning(false)
 
         // Verifies that each AnimatedImageDrawable is started animating.
-        verify(mockDrawable).stop()
-        verify(mockDrawable2).stop()
+        verify(mockDrawableGroupMessage).stop()
+        verify(mockDrawableImageMessage).stop()
     }
 
     private fun fakeConversationLayout(
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/StackStateAnimatorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/StackStateAnimatorTest.kt
index 67415de..e7be20e 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/StackStateAnimatorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/StackStateAnimatorTest.kt
@@ -88,6 +88,7 @@
                 /* delay= */ 0L,
                 /* duration= */ ANIMATION_DURATION_HEADS_UP_APPEAR.toLong(),
                 /* isHeadsUpAppear= */ true,
+                /* isHeadsUpCycling= */ false,
                 /* onEndRunnable= */ null,
             )
     }
@@ -111,6 +112,7 @@
                 /* delay= */ 0L,
                 /* duration= */ ANIMATION_DURATION_HEADS_UP_APPEAR.toLong(),
                 /* isHeadsUpAppear= */ true,
+                /* isHeadsUpCycling= */ false,
                 /* onEndRunnable= */ null,
             )
     }
@@ -128,6 +130,7 @@
                 /* delay= */ eq(0L),
                 /* translationDirection= */ eq(0f),
                 /* isHeadsUpAnimation= */ eq(true),
+                /* isHeadsUpCycling= */ eq(false),
                 /* onStartedRunnable= */ any(),
                 /* onFinishedRunnable= */ runnableCaptor.capture(),
                 /* animationListener= */ any(),
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelTest.kt
index c630a1c..e7c571d 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModelTest.kt
@@ -62,6 +62,8 @@
 import com.android.systemui.scene.data.repository.Idle
 import com.android.systemui.scene.data.repository.Transition
 import com.android.systemui.scene.data.repository.setTransition
+import com.android.systemui.scene.domain.interactor.sceneInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.shade.domain.interactor.enableDualShade
@@ -363,6 +365,8 @@
             assertThat(alpha).isEqualTo(1f)
 
             // Start transitioning to glanceable hub
+            kosmos.sceneInteractor.changeScene(Scenes.Lockscreen, "")
+
             val progress = 0.6f
             kosmos.setTransition(
                 sceneTransition = Transition(from = Scenes.Lockscreen, to = Scenes.Communal),
@@ -396,6 +400,7 @@
             assertThat(alpha).isIn(Range.closed(0f, 1f))
 
             // Finish transition to glanceable hub
+            kosmos.sceneInteractor.changeScene(Scenes.Communal, "")
             kosmos.setTransition(
                 sceneTransition = Idle(Scenes.Communal),
                 stateTransition =
@@ -432,6 +437,8 @@
             assertThat(alpha).isEqualTo(1f)
 
             // Start transitioning to glanceable hub
+            kosmos.sceneInteractor.snapToScene(Scenes.Lockscreen, "")
+
             val progress = 0.6f
             kosmos.setTransition(
                 sceneTransition = Transition(from = Scenes.Lockscreen, to = Scenes.Communal),
@@ -464,6 +471,7 @@
             assertThat(alpha).isEqualTo(0)
 
             // Finish transition to glanceable hub
+            kosmos.sceneInteractor.changeScene(Scenes.Communal, "")
             kosmos.setTransition(
                 sceneTransition = Idle(Scenes.Communal),
                 stateTransition =
@@ -492,6 +500,8 @@
             assertThat(alpha).isEqualTo(0f)
 
             // Start transitioning to glanceable hub
+            kosmos.sceneInteractor.changeScene(Scenes.Lockscreen, "")
+
             val progress = 0.6f
             kosmos.setTransition(
                 sceneTransition = Transition(from = Scenes.Lockscreen, to = Scenes.Communal),
@@ -524,6 +534,7 @@
             assertThat(alpha).isEqualTo(0)
 
             // Finish transition to glanceable hub
+            kosmos.sceneInteractor.changeScene(Scenes.Communal, "")
             kosmos.setTransition(
                 sceneTransition = Idle(Scenes.Communal),
                 stateTransition =
@@ -587,7 +598,7 @@
             assertThat(isOnLockscreen).isTrue()
 
             kosmos.setTransition(
-                sceneTransition = Idle(Scenes.Bouncer),
+                sceneTransition = Idle(Scenes.Lockscreen, setOf(Overlays.Bouncer)),
                 stateTransition = TransitionStep(from = LOCKSCREEN, to = PRIMARY_BOUNCER),
             )
             assertThat(isOnLockscreen).isTrue()
@@ -601,7 +612,7 @@
             val isOnLockscreen by collectLastValue(underTest.isOnLockscreen)
 
             setTransition(
-                sceneTransition = Idle(Scenes.Bouncer),
+                sceneTransition = Idle(Scenes.Lockscreen, setOf(Overlays.Bouncer)),
                 stateTransition = TransitionStep(from = LOCKSCREEN, to = PRIMARY_BOUNCER),
             )
             assertThat(isOnLockscreen).isTrue()
@@ -659,6 +670,7 @@
             assertThat(isOnGlanceableHubWithoutShade).isFalse()
 
             // Move to glanceable hub
+            kosmos.sceneInteractor.changeScene(Scenes.Communal, "")
             kosmos.setTransition(
                 sceneTransition = Idle(Scenes.Communal),
                 stateTransition = TransitionStep(from = LOCKSCREEN, to = GLANCEABLE_HUB),
@@ -681,6 +693,7 @@
 
             shadeTestUtil.setQsExpansion(0f)
             shadeTestUtil.setLockscreenShadeExpansion(0f)
+            kosmos.sceneInteractor.changeScene(Scenes.Communal, "")
             kosmos.setTransition(
                 sceneTransition = Idle(Scenes.Communal),
                 stateTransition = TransitionStep(from = LOCKSCREEN, to = GLANCEABLE_HUB),
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/domain/interactor/KeyguardBypassInteractorTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/domain/interactor/KeyguardBypassInteractorTest.kt
index 091fbb6..c966f52 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/domain/interactor/KeyguardBypassInteractorTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/phone/domain/interactor/KeyguardBypassInteractorTest.kt
@@ -29,6 +29,7 @@
 import com.android.systemui.keyguard.domain.interactor.pulseExpansionInteractor
 import com.android.systemui.kosmos.testScope
 import com.android.systemui.scene.domain.interactor.sceneInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.shade.shadeTestUtil
 import com.android.systemui.testKosmos
@@ -147,10 +148,11 @@
     }
 
     private fun setScene(bouncerShowing: Boolean, onLockscreenScene: Boolean) {
-        if (bouncerShowing) {
-            kosmos.sceneInteractor.changeScene(Scenes.Bouncer, "reason")
-        } else if (onLockscreenScene) {
+        if (onLockscreenScene) {
             kosmos.sceneInteractor.changeScene(Scenes.Lockscreen, "reason")
+            if (bouncerShowing) {
+                kosmos.sceneInteractor.showOverlay(Overlays.Bouncer, "reason")
+            }
         } else {
             kosmos.sceneInteractor.changeScene(Scenes.Shade, "reason")
         }
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt
index 8ea888e..1c530f1 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModelTest.kt
@@ -252,6 +252,21 @@
         }
 
     @Test
+    fun isVisible_satellite_respectsAirplaneMode() =
+        testScope.runTest {
+            val latest by collectLastValue(underTest.isVisible)
+
+            repository.isNonTerrestrial.value = true
+            airplaneModeInteractor.setIsAirplaneMode(false)
+
+            assertThat(latest).isTrue()
+
+            airplaneModeInteractor.setIsAirplaneMode(true)
+
+            assertThat(latest).isFalse()
+        }
+
+    @Test
     fun contentDescription_notInService_usesNoPhone() =
         testScope.runTest {
             val latest by collectLastValue(underTest.contentDescription)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/HomeStatusBarViewModelImplTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/HomeStatusBarViewModelImplTest.kt
index 8a796fc..7e8ee1b 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/HomeStatusBarViewModelImplTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/pipeline/shared/ui/viewmodel/HomeStatusBarViewModelImplTest.kt
@@ -522,11 +522,12 @@
         }
 
     @Test
-    fun isHomeStatusBarAllowedByScene_sceneBouncer_false() =
+    fun isHomeStatusBarAllowedByScene_overlayBouncer_false() =
         kosmos.runTest {
             val latest by collectLastValue(underTest.isHomeStatusBarAllowedByScene)
 
-            kosmos.sceneContainerRepository.snapToScene(Scenes.Bouncer)
+            kosmos.sceneContainerRepository.snapToScene(Scenes.Lockscreen)
+            kosmos.sceneContainerRepository.showOverlay(Overlays.Bouncer)
 
             assertThat(latest).isFalse()
         }
@@ -1052,7 +1053,8 @@
             val notifIconsVisible by collectLastValue(underTest.isNotificationIconContainerVisible)
             val systemInfoVisible by collectLastValue(underTest.systemInfoCombinedVis)
 
-            kosmos.sceneContainerRepository.snapToScene(Scenes.Bouncer)
+            kosmos.sceneContainerRepository.snapToScene(Scenes.Lockscreen)
+            kosmos.sceneContainerRepository.showOverlay(Overlays.Bouncer)
 
             assertThat(clockVisible!!.visibility).isEqualTo(View.INVISIBLE)
             assertThat(notifIconsVisible!!.visibility).isEqualTo(View.GONE)
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/ui/viewmodel/KeyguardStatusBarViewModelTest.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/ui/viewmodel/KeyguardStatusBarViewModelTest.kt
index 4ab1c0b..fea0320 100644
--- a/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/ui/viewmodel/KeyguardStatusBarViewModelTest.kt
+++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/statusbar/ui/viewmodel/KeyguardStatusBarViewModelTest.kt
@@ -154,7 +154,8 @@
         testScope.runTest {
             val latest by collectLastValue(underTest.isVisible)
 
-            kosmos.sceneContainerRepository.snapToScene(Scenes.Bouncer)
+            kosmos.sceneContainerRepository.snapToScene(Scenes.Lockscreen)
+            kosmos.sceneContainerRepository.showOverlay(Overlays.Bouncer)
 
             assertThat(latest).isFalse()
         }
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QS.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QS.java
index a0bf7f0..d3218ad 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QS.java
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QS.java
@@ -203,8 +203,6 @@
      */
     void setIsNotificationPanelFullWidth(boolean isFullWidth);
 
-    default void setQSExpandingOrCollapsing(boolean isQSExpandingOrCollapsing) {}
-
     /**
      * Callback for when QSPanel container is scrolled
      */
diff --git a/packages/SystemUI/pods/Android.bp b/packages/SystemUI/pods/Android.bp
index e45f317..588a074 100644
--- a/packages/SystemUI/pods/Android.bp
+++ b/packages/SystemUI/pods/Android.bp
@@ -20,3 +20,14 @@
     // specify default_visibility:
     default_visibility: ["//visibility:private"],
 }
+
+java_defaults {
+    name: "SystemUI_pod_defaults",
+    libs: [
+        "jsr330",
+    ],
+    kotlincflags: [
+        "-Xjvm-default=all",
+    ],
+    defaults_visibility: [":__subpackages__"],
+}
diff --git a/packages/SystemUI/pods/com/android/systemui/dagger/Android.bp b/packages/SystemUI/pods/com/android/systemui/dagger/Android.bp
index df90be8..72c41bb 100644
--- a/packages/SystemUI/pods/com/android/systemui/dagger/Android.bp
+++ b/packages/SystemUI/pods/com/android/systemui/dagger/Android.bp
@@ -14,21 +14,18 @@
 // limitations under the License.
 //
 
-soong_namespace {
-}
-
 package {
     default_applicable_licenses: ["frameworks_base_packages_SystemUI_license"],
 }
 
 java_library {
-    name: "api",
+    name: "com.android.systemui.dagger-api",
     srcs: [
         "**/*.java",
         "**/*.kt",
     ],
-    libs: [
-        "jsr330",
+    defaults: [
+        "SystemUI_pod_defaults",
     ],
     visibility: ["//frameworks/base/packages/SystemUI:__subpackages__"],
 }
diff --git a/packages/SystemUI/pods/com/android/systemui/retail/Android.bp b/packages/SystemUI/pods/com/android/systemui/retail/Android.bp
index f047848..639eae9 100644
--- a/packages/SystemUI/pods/com/android/systemui/retail/Android.bp
+++ b/packages/SystemUI/pods/com/android/systemui/retail/Android.bp
@@ -14,25 +14,24 @@
 // limitations under the License.
 //
 
-soong_namespace {
-}
-
 package {
     default_applicable_licenses: ["frameworks_base_packages_SystemUI_license"],
 }
 
 java_library {
-    name: "impl",
+    name: "com.android.systemui.retail-impl",
     srcs: ["*.kt"],
     libs: [
-        "jsr330",
         "dagger2",
         "SystemUICommon",
         "kotlinx_coroutines",
     ],
-    static_libs: [
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail/data:impl",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail/domain:impl",
+    defaults: [
+        "SystemUI_pod_defaults",
     ],
-    visibility: ["//frameworks/base/packages/SystemUI"],
+    static_libs: [
+        "com.android.systemui.retail.data-impl",
+        "com.android.systemui.retail.domain-impl",
+    ],
+    visibility: ["//frameworks/base/packages/SystemUI:__pkg__"],
 }
diff --git a/packages/SystemUI/pods/com/android/systemui/retail/data/Android.bp b/packages/SystemUI/pods/com/android/systemui/retail/data/Android.bp
index f148a7c..1aa41e4 100644
--- a/packages/SystemUI/pods/com/android/systemui/retail/data/Android.bp
+++ b/packages/SystemUI/pods/com/android/systemui/retail/data/Android.bp
@@ -14,42 +14,44 @@
 // limitations under the License.
 //
 
-soong_namespace {
-}
-
 package {
     default_applicable_licenses: ["frameworks_base_packages_SystemUI_license"],
 }
 
 java_library {
-    name: "api",
+    name: "com.android.systemui.retail.data-api",
     srcs: ["repository/*.kt"],
     libs: [
         "kotlinx_coroutines",
     ],
+    defaults: [
+        "SystemUI_pod_defaults",
+    ],
     visibility: [
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail/dagger",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail/domain",
+        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail:__pkg__",
+        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail/dagger:__pkg__",
+        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail/domain:__pkg__",
     ],
 }
 
 java_library {
-    name: "impl",
+    name: "com.android.systemui.retail.data-impl",
     srcs: ["repository/impl/*.kt"],
     libs: [
-        "jsr330",
         "kotlinx_coroutines",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/dagger:api",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/util/settings:api",
+        "com.android.systemui.dagger-api",
+        "com.android.systemui.util.settings-api",
         "SystemUICommon",
     ],
     static_libs: [
-        "api",
+        "com.android.systemui.retail.data-api",
+    ],
+    defaults: [
+        "SystemUI_pod_defaults",
     ],
     visibility: [
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail/dagger",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail/domain",
+        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail:__pkg__",
+        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail/dagger:__pkg__",
+        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail/domain:__pkg__",
     ],
 }
diff --git a/packages/SystemUI/pods/com/android/systemui/retail/domain/Android.bp b/packages/SystemUI/pods/com/android/systemui/retail/domain/Android.bp
index 787861c..64b0e22 100644
--- a/packages/SystemUI/pods/com/android/systemui/retail/domain/Android.bp
+++ b/packages/SystemUI/pods/com/android/systemui/retail/domain/Android.bp
@@ -14,33 +14,35 @@
 // limitations under the License.
 //
 
-soong_namespace {
-}
-
 package {
     default_applicable_licenses: ["frameworks_base_packages_SystemUI_license"],
 }
 
 java_library {
-    name: "api",
+    name: "com.android.systemui.retail.domain-api",
     srcs: ["interactor/*.kt"],
+    defaults: [
+        "SystemUI_pod_defaults",
+    ],
     visibility: [
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail",
+        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail:__pkg__",
     ],
 }
 
 java_library {
-    name: "impl",
+    name: "com.android.systemui.retail.domain-impl",
     srcs: ["interactor/impl/*.kt"],
     libs: [
-        "jsr330",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/dagger:api",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail/data:api",
+        "com.android.systemui.dagger-api",
+        "com.android.systemui.retail.data-api",
     ],
     static_libs: [
-        "api",
+        "com.android.systemui.retail.domain-api",
+    ],
+    defaults: [
+        "SystemUI_pod_defaults",
     ],
     visibility: [
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail",
+        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/retail:__pkg__",
     ],
 }
diff --git a/packages/SystemUI/pods/com/android/systemui/util/settings/Android.bp b/packages/SystemUI/pods/com/android/systemui/util/settings/Android.bp
index 1aa7729..d97ff13 100644
--- a/packages/SystemUI/pods/com/android/systemui/util/settings/Android.bp
+++ b/packages/SystemUI/pods/com/android/systemui/util/settings/Android.bp
@@ -14,27 +14,25 @@
 // limitations under the License.
 //
 
-soong_namespace {
-}
-
 package {
     default_applicable_licenses: ["frameworks_base_packages_SystemUI_license"],
 }
 
 java_library {
-    name: "api",
+    name: "com.android.systemui.util.settings-api",
     srcs: [
         "*.java",
         "*.kt",
     ],
     libs: [
         "//frameworks/libs/systemui:tracinglib-platform",
-        "//frameworks/base/packages/SystemUI/pods/com/android/systemui/dagger:api",
+        "com.android.systemui.dagger-api",
         "SystemUICommon",
         "androidx.annotation_annotation",
         "kotlinx_coroutines_android",
-        "jsr330",
     ],
-    kotlincflags: ["-Xjvm-default=all"],
+    defaults: [
+        "SystemUI_pod_defaults",
+    ],
     visibility: ["//frameworks/base/packages/SystemUI:__subpackages__"],
 }
diff --git a/packages/SystemUI/res-keyguard/values-es-rUS/strings.xml b/packages/SystemUI/res-keyguard/values-es-rUS/strings.xml
index e7116d6..7e5ff8c 100644
--- a/packages/SystemUI/res-keyguard/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-es-rUS/strings.xml
@@ -21,11 +21,11 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="keyguard_enter_your_pin" msgid="5429932527814874032">"Ingresa tu PIN"</string>
-    <string name="keyguard_enter_pin" msgid="8114529922480276834">"Ingresar PIN"</string>
+    <string name="keyguard_enter_pin" msgid="8114529922480276834">"Ingresa el PIN"</string>
     <string name="keyguard_enter_your_pattern" msgid="351503370332324745">"Ingresa tu patrón"</string>
-    <string name="keyguard_enter_pattern" msgid="7616595160901084119">"Dibujar patrón"</string>
+    <string name="keyguard_enter_pattern" msgid="7616595160901084119">"Dibuja el patrón"</string>
     <string name="keyguard_enter_your_password" msgid="7225626204122735501">"Ingresa tu contraseña"</string>
-    <string name="keyguard_enter_password" msgid="6483623792371009758">"Ingresar contraseña"</string>
+    <string name="keyguard_enter_password" msgid="6483623792371009758">"Ingresa la contraseña"</string>
     <string name="keyguard_sim_error_message_short" msgid="633630844240494070">"Tarjeta no válida"</string>
     <string name="keyguard_charged" msgid="5478247181205188995">"Cargada"</string>
     <string name="keyguard_plugged_in_wireless" msgid="2537874724955057383">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Cargando de manera inalámbrica"</string>
@@ -62,9 +62,9 @@
     <string name="kg_bio_try_again_or_pin" msgid="4752168242723808390">"Vuelve a intentarlo o ingresa el PIN"</string>
     <string name="kg_bio_try_again_or_password" msgid="1473132729225398039">"Vuelve a intentarlo o ingresa la contraseña"</string>
     <string name="kg_bio_try_again_or_pattern" msgid="4867893307468801501">"Vuelve a intentarlo o dibuja el patrón"</string>
-    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"Se requiere PIN luego de demasiados intentos"</string>
-    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"Se requiere contraseña luego de demasiados intentos"</string>
-    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"Se requiere patrón luego de demasiados intentos"</string>
+    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"Debes ingresar un PIN luego de demasiados intentos"</string>
+    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"Debes ingresar una contraseña luego de demasiados intentos"</string>
+    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"Debes ingresar un patrón luego de demasiados intentos"</string>
     <string name="kg_unlock_with_pin_or_fp" msgid="5635161174698729890">"Desbloquear con PIN o huella dactilar"</string>
     <string name="kg_unlock_with_password_or_fp" msgid="2251295907826814237">"Desbloq. contraseña/huella"</string>
     <string name="kg_unlock_with_pattern_or_fp" msgid="2391870539909135046">"Desbloq. patrón/huella"</string>
@@ -104,7 +104,7 @@
     <string name="kg_password_pin_failed" msgid="5136259126330604009">"Se produjo un error al desbloquear la tarjeta SIM con el PIN."</string>
     <string name="kg_password_puk_failed" msgid="6778867411556937118">"Se produjo un error al desbloquear la tarjeta SIM con el PUK."</string>
     <string name="accessibility_ime_switch_button" msgid="9082358310194861329">"Cambiar método de entrada"</string>
-    <string name="airplane_mode" msgid="2528005343938497866">"Modo de avión"</string>
+    <string name="airplane_mode" msgid="2528005343938497866">"Modo avión"</string>
     <string name="kg_prompt_reason_restart_pattern" msgid="3321211830602827742">"Se requiere patrón tras reiniciar dispositivo"</string>
     <string name="kg_prompt_reason_restart_pin" msgid="2672166323886110512">"Se requiere PIN tras reiniciar dispositivo"</string>
     <string name="kg_prompt_reason_restart_password" msgid="3967993994418885887">"Se requiere contraseña tras reiniciar dispositivo"</string>
diff --git a/packages/SystemUI/res-keyguard/values-es/strings.xml b/packages/SystemUI/res-keyguard/values-es/strings.xml
index 33a7346..0e0f9eb 100644
--- a/packages/SystemUI/res-keyguard/values-es/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-es/strings.xml
@@ -62,9 +62,9 @@
     <string name="kg_bio_try_again_or_pin" msgid="4752168242723808390">"Vuelve a intentarlo o introduce el PIN"</string>
     <string name="kg_bio_try_again_or_password" msgid="1473132729225398039">"Vuelve a intentarlo o escribe la contraseña"</string>
     <string name="kg_bio_try_again_or_pattern" msgid="4867893307468801501">"Vuelve a intentarlo o dibuja el patrón"</string>
-    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"Demasiados intentos, se necesita el PIN"</string>
-    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"Demasiados intentos, se necesita la contraseña"</string>
-    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"Demasiados intentos, se necesita el patrón"</string>
+    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"Tras demasiados intentos, es necesario introducir el PIN"</string>
+    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"Tras demasiados intentos, es necesario introducir la contraseña"</string>
+    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"Tras demasiados intentos, es necesario dibujar el patrón"</string>
     <string name="kg_unlock_with_pin_or_fp" msgid="5635161174698729890">"Desbloquea con PIN o huella digital"</string>
     <string name="kg_unlock_with_password_or_fp" msgid="2251295907826814237">"Desbloquea con contraseña o huella digital"</string>
     <string name="kg_unlock_with_pattern_or_fp" msgid="2391870539909135046">"Desbloquea con tu patrón o huella digital"</string>
diff --git a/packages/SystemUI/res-keyguard/values-fr-rCA/strings.xml b/packages/SystemUI/res-keyguard/values-fr-rCA/strings.xml
index 82a553c..cb6f5b4 100644
--- a/packages/SystemUI/res-keyguard/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-fr-rCA/strings.xml
@@ -62,9 +62,9 @@
     <string name="kg_bio_try_again_or_pin" msgid="4752168242723808390">"Réessayez ou entrez le NIP"</string>
     <string name="kg_bio_try_again_or_password" msgid="1473132729225398039">"Réessayez ou entrez le mot de passe"</string>
     <string name="kg_bio_try_again_or_pattern" msgid="4867893307468801501">"Réessayez ou dessinez le schéma"</string>
-    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"Le NIP est requis (trop de tentatives)"</string>
-    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"Le mot de passe est requis (trop de tentatives)"</string>
-    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"Le schéma est requis (trop de tentatives)"</string>
+    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"Le NIP est requis après trop de tentatives"</string>
+    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"Le mot de passe est requis après trop de tentatives"</string>
+    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"Le schéma est requis après trop de tentatives"</string>
     <string name="kg_unlock_with_pin_or_fp" msgid="5635161174698729890">"Déverr. par NIP ou empr. dig."</string>
     <string name="kg_unlock_with_password_or_fp" msgid="2251295907826814237">"Déverr. par MDP ou empr. dig."</string>
     <string name="kg_unlock_with_pattern_or_fp" msgid="2391870539909135046">"Déverr. par schéma ou empr. dig."</string>
diff --git a/packages/SystemUI/res-keyguard/values-hi/strings.xml b/packages/SystemUI/res-keyguard/values-hi/strings.xml
index d905581..9eb89b6 100644
--- a/packages/SystemUI/res-keyguard/values-hi/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-hi/strings.xml
@@ -62,9 +62,9 @@
     <string name="kg_bio_try_again_or_pin" msgid="4752168242723808390">"फिर से कोशिश करें या पिन डालें"</string>
     <string name="kg_bio_try_again_or_password" msgid="1473132729225398039">"फिर से कोशिश करें या पासवर्ड डालें"</string>
     <string name="kg_bio_try_again_or_pattern" msgid="4867893307468801501">"फिर से कोशिश करें या पैटर्न ड्रॉ करें"</string>
-    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"कई बार कोशिश की जा चुकी है, इसलिए पिन डालें"</string>
-    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"कई बार कोशिश की जा चुकी है, इसलिए पासवर्ड डालें"</string>
-    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"कई बार कोशिश की जा चुकी है, इसलिए पैटर्न ड्रा करें"</string>
+    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"कई बार कोशिश करने के बाद पिन डालना ज़रूरी है"</string>
+    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"कई बार कोशिश करने के बाद पासवर्ड डालना ज़रूरी है"</string>
+    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"कई बार कोशिश करने के बाद पैटर्न ड्रा करना ज़रूरी है"</string>
     <string name="kg_unlock_with_pin_or_fp" msgid="5635161174698729890">"पिन/फ़िंगरप्रिंट से अनलॉक करें"</string>
     <string name="kg_unlock_with_password_or_fp" msgid="2251295907826814237">"पासवर्ड/फ़िंगरप्रिंट से अनलॉक करें"</string>
     <string name="kg_unlock_with_pattern_or_fp" msgid="2391870539909135046">"पैटर्न/फ़िंगरप्रिंट से अनलॉक करें"</string>
diff --git a/packages/SystemUI/res-keyguard/values-km/strings.xml b/packages/SystemUI/res-keyguard/values-km/strings.xml
index 733e29c..5f2bffb 100644
--- a/packages/SystemUI/res-keyguard/values-km/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-km/strings.xml
@@ -62,9 +62,9 @@
     <string name="kg_bio_try_again_or_pin" msgid="4752168242723808390">"ព្យាយាមម្ដងទៀត ឬបញ្ចូលកូដ PIN"</string>
     <string name="kg_bio_try_again_or_password" msgid="1473132729225398039">"ព្យាយាមម្ដងទៀត ឬបញ្ចូលពាក្យសម្ងាត់"</string>
     <string name="kg_bio_try_again_or_pattern" msgid="4867893307468801501">"ព្យាយាមម្ដងទៀត ឬគូរលំនាំ"</string>
-    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"ត្រូវការកូដ PIN បន្ទាប់ពីព្យាយាមច្រើនដងពេក"</string>
+    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"តម្រូវឱ្យមាន PIN បន្ទាប់ពីព្យាយាមច្រើនដងពេក"</string>
     <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"ត្រូវការពាក្យសម្ងាត់ បន្ទាប់ពីព្យាយាមច្រើនដងពេក"</string>
-    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"ត្រូវការលំនាំ បន្ទាប់ពីព្យាយាមច្រើនដងពេក"</string>
+    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"តម្រូវឱ្យមាន​លំនាំ បន្ទាប់ពីព្យាយាមច្រើនដងពេក"</string>
     <string name="kg_unlock_with_pin_or_fp" msgid="5635161174698729890">"ដោះសោដោយប្រើកូដ PIN ឬស្នាមម្រាមដៃ"</string>
     <string name="kg_unlock_with_password_or_fp" msgid="2251295907826814237">"ដោះសោដោយប្រើពាក្យសម្ងាត់ ឬស្នាមម្រាមដៃ"</string>
     <string name="kg_unlock_with_pattern_or_fp" msgid="2391870539909135046">"ដោះសោដោយប្រើលំនាំ ឬស្នាមម្រាមដៃ"</string>
diff --git a/packages/SystemUI/res-keyguard/values-ky/strings.xml b/packages/SystemUI/res-keyguard/values-ky/strings.xml
index 544adee..addb01e 100644
--- a/packages/SystemUI/res-keyguard/values-ky/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-ky/strings.xml
@@ -62,9 +62,9 @@
     <string name="kg_bio_try_again_or_pin" msgid="4752168242723808390">"Кайталап көрүңүз же PIN кодду киргизиңиз"</string>
     <string name="kg_bio_try_again_or_password" msgid="1473132729225398039">"Кайра аракет кылыңыз же сырсөздү киргизиңиз"</string>
     <string name="kg_bio_try_again_or_pattern" msgid="4867893307468801501">"Кайра аракет кылыңыз же графикалык ачкычты тартыңыз"</string>
-    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"Өтө көп аракеттен кийин PIN код талап кылынат"</string>
-    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"Өтө көп аракеттен кийин сырсөз талап кылынат"</string>
-    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"Өтө көп аракеттен кийин графикалык ачкыч талап клынт"</string>
+    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"Өтө көп жолу аракет кылдыңыз. PIN кодду киргизиңиз."</string>
+    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"Өтө көп жолу аракет кылдыңыз. Сырсөздү киргизиңиз."</string>
+    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"Өтө көп жолу аракет кылдыңыз. Графикалык ачкычты киргизиңиз."</string>
     <string name="kg_unlock_with_pin_or_fp" msgid="5635161174698729890">"PIN кд же мнжа изи мнен клпусн ачңыз"</string>
     <string name="kg_unlock_with_password_or_fp" msgid="2251295907826814237">"Срсөз же мнжа изи мнен клпусн ачңз"</string>
     <string name="kg_unlock_with_pattern_or_fp" msgid="2391870539909135046">"Грфиклык ачкч же мнжа изи менн клпусн ачңз"</string>
diff --git a/packages/SystemUI/res-keyguard/values-mn/strings.xml b/packages/SystemUI/res-keyguard/values-mn/strings.xml
index 83ce698..cd187bc 100644
--- a/packages/SystemUI/res-keyguard/values-mn/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-mn/strings.xml
@@ -62,9 +62,9 @@
     <string name="kg_bio_try_again_or_pin" msgid="4752168242723808390">"Дахин оролдох эсвэл ПИН оруулна уу"</string>
     <string name="kg_bio_try_again_or_password" msgid="1473132729225398039">"Дахин оролдох эсвэл нууц үг оруулна уу"</string>
     <string name="kg_bio_try_again_or_pattern" msgid="4867893307468801501">"Дахин оролдох эсвэл хээ зурна уу"</string>
-    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"Хэт олон оролдлогын дараа ПИН шаардлагатай"</string>
-    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"Хэт олон оролдлогын дараа нууц үг шаардлагатай"</string>
-    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"Хэт олон оролдлогын дараа хээ шаардлагатай"</string>
+    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"Хэт олон оролдлогын дараа ПИН оруулахыг шаардана"</string>
+    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"Хэт олон оролдлогын дараа нууц үг оруулахыг шаардана"</string>
+    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"Хэт олон оролдлогын дараа хээ оруулахыг шаардана"</string>
     <string name="kg_unlock_with_pin_or_fp" msgid="5635161174698729890">"ПИН эсвэл хурууны хээгээр түгжээ тайл"</string>
     <string name="kg_unlock_with_password_or_fp" msgid="2251295907826814237">"Нууц үг эсвэл хурууны хээгээр түгжээ тайл"</string>
     <string name="kg_unlock_with_pattern_or_fp" msgid="2391870539909135046">"Хээ эсвэл хурууны хээгээр түгжээ тайл"</string>
diff --git a/packages/SystemUI/res-keyguard/values-ne/strings.xml b/packages/SystemUI/res-keyguard/values-ne/strings.xml
index 2fd42f4..502c42d 100644
--- a/packages/SystemUI/res-keyguard/values-ne/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-ne/strings.xml
@@ -23,7 +23,7 @@
     <string name="keyguard_enter_your_pin" msgid="5429932527814874032">"आफ्नो PIN हाल्नुहोस्"</string>
     <string name="keyguard_enter_pin" msgid="8114529922480276834">"PIN हाल्नुहोस्"</string>
     <string name="keyguard_enter_your_pattern" msgid="351503370332324745">"प्याटर्न हाल्नुहोस्"</string>
-    <string name="keyguard_enter_pattern" msgid="7616595160901084119">"प्याटर्न हाल्नुहोस्"</string>
+    <string name="keyguard_enter_pattern" msgid="7616595160901084119">"प्याटर्न कोर्नुहोस्"</string>
     <string name="keyguard_enter_your_password" msgid="7225626204122735501">"पासवर्ड हाल्नुहोस्"</string>
     <string name="keyguard_enter_password" msgid="6483623792371009758">"पासवर्ड हाल्नुहोस्"</string>
     <string name="keyguard_sim_error_message_short" msgid="633630844240494070">"अमान्य कार्ड।"</string>
diff --git a/packages/SystemUI/res-keyguard/values-pa/strings.xml b/packages/SystemUI/res-keyguard/values-pa/strings.xml
index 3411571..ea958e5 100644
--- a/packages/SystemUI/res-keyguard/values-pa/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-pa/strings.xml
@@ -64,7 +64,7 @@
     <string name="kg_bio_try_again_or_pattern" msgid="4867893307468801501">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜਾਂ ਪੈਟਰਨ ਬਣਾਓ"</string>
     <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"ਬਹੁਤ ਸਾਰੀਆਂ ਕੋਸ਼ਿਸ਼ਾਂ ਬਾਅਦ ਪਿੰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ"</string>
     <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"ਬਹੁਤ ਸਾਰੀਆਂ ਕੋਸ਼ਿਸ਼ਾਂ ਬਾਅਦ ਪਾਸਵਰਡ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ"</string>
-    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"ਬਹੁਤ ਸਾਰੀਆਂ ਕੋਸ਼ਿਸ਼ਾਂ ਬਾਅਦ ਪੈਟਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ"</string>
+    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"ਬਹੁਤ ਸਾਰੀਆਂ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ ਪੈਟਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ"</string>
     <string name="kg_unlock_with_pin_or_fp" msgid="5635161174698729890">"ਪਿੰਨ ਜਾਂ ਫਿੰਗਰਪ੍ਰਿੰਟ ਨਾਲ ਅਣਲਾਕ ਕਰੋ"</string>
     <string name="kg_unlock_with_password_or_fp" msgid="2251295907826814237">"ਪਾਸਵਰਡ ਜਾਂ ਫਿੰਗਰਪ੍ਰਿੰਟ ਨਾਲ ਅਣਲਾਕ ਕਰੋ"</string>
     <string name="kg_unlock_with_pattern_or_fp" msgid="2391870539909135046">"ਪੈਟਰਨ ਜਾਂ ਫਿੰਗਰਪ੍ਰਿੰਟ ਨਾਲ ਅਣਲਾਕ ਕਰੋ"</string>
diff --git a/packages/SystemUI/res-keyguard/values-ru/strings.xml b/packages/SystemUI/res-keyguard/values-ru/strings.xml
index cab9cb9..d066292 100644
--- a/packages/SystemUI/res-keyguard/values-ru/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-ru/strings.xml
@@ -64,7 +64,7 @@
     <string name="kg_bio_try_again_or_pattern" msgid="4867893307468801501">"Повторите попытку или введите графический ключ."</string>
     <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"Слишком много попыток. Необходимо ввести PIN-код."</string>
     <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"Слишком много попыток. Необходимо ввести пароль."</string>
-    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"Слишком много попыток. Необходимо ввести граф. ключ."</string>
+    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"Слишком много попыток. Необходимо ввести графический ключ."</string>
     <string name="kg_unlock_with_pin_or_fp" msgid="5635161174698729890">"Используйте PIN-код или отпечаток пальца"</string>
     <string name="kg_unlock_with_password_or_fp" msgid="2251295907826814237">"Используйте пароль или отпечаток пальца"</string>
     <string name="kg_unlock_with_pattern_or_fp" msgid="2391870539909135046">"Используйте граф. ключ или отпечаток пальца"</string>
diff --git a/packages/SystemUI/res-keyguard/values-sk/strings.xml b/packages/SystemUI/res-keyguard/values-sk/strings.xml
index 4dffd97..3cccb9c 100644
--- a/packages/SystemUI/res-keyguard/values-sk/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-sk/strings.xml
@@ -62,9 +62,9 @@
     <string name="kg_bio_try_again_or_pin" msgid="4752168242723808390">"Skúste to znova alebo zadajte PIN"</string>
     <string name="kg_bio_try_again_or_password" msgid="1473132729225398039">"Skúste to znova alebo zadajte heslo"</string>
     <string name="kg_bio_try_again_or_pattern" msgid="4867893307468801501">"Skúste to znova alebo nakreslite vzor"</string>
-    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"Príliš veľký počet pokusov. Vyžaduje sa PIN."</string>
-    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"Príliš veľký počet pokusov. Vyžaduje sa heslo."</string>
-    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"Príliš veľký počet pokusov. Vyžaduje sa vzor."</string>
+    <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"Príliš veľa pokusov. Vyžaduje sa PIN."</string>
+    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"Príliš veľa pokusov. Vyžaduje sa heslo."</string>
+    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"Príliš veľa pokusov. Vyžaduje sa vzor."</string>
     <string name="kg_unlock_with_pin_or_fp" msgid="5635161174698729890">"Odomknúť kódom PIN/odtlačkom"</string>
     <string name="kg_unlock_with_password_or_fp" msgid="2251295907826814237">"Odomknúť heslom/odtlačkom"</string>
     <string name="kg_unlock_with_pattern_or_fp" msgid="2391870539909135046">"Odomknúť vzorom/odtlačkom"</string>
diff --git a/packages/SystemUI/res-keyguard/values-te/strings.xml b/packages/SystemUI/res-keyguard/values-te/strings.xml
index 0a6476fc..b0beca6 100644
--- a/packages/SystemUI/res-keyguard/values-te/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-te/strings.xml
@@ -57,14 +57,14 @@
     <string name="kg_wrong_pin" msgid="4160978845968732624">"PIN తప్పు"</string>
     <string name="kg_wrong_pin_try_again" msgid="3129729383303430190">"PIN తప్పు. రీట్రై చేయండి."</string>
     <string name="kg_wrong_input_try_fp_suggestion" msgid="3143861542242024833">"లేదా వేలిముద్రతో అన్‌లాక్ చేయండి"</string>
-    <string name="kg_fp_not_recognized" msgid="5183108260932029241">"వేలిముద్ర గుర్తించబడలేదు"</string>
+    <string name="kg_fp_not_recognized" msgid="5183108260932029241">"వేలిముద్ర (ఫింగర్-ప్రింట్) మ్యాచ్ కాలేదు"</string>
     <string name="bouncer_face_not_recognized" msgid="1666128054475597485">"ముఖం గుర్తించబడలేదు"</string>
     <string name="kg_bio_try_again_or_pin" msgid="4752168242723808390">"మళ్లీ ట్రై చేయండి లేదా PINని ఎంటర్ చేయండి"</string>
     <string name="kg_bio_try_again_or_password" msgid="1473132729225398039">"మళ్లీ ట్రై చేయండి లేదా పాస్‌వర్డ్‌ను ఎంటర్ చేయండి"</string>
     <string name="kg_bio_try_again_or_pattern" msgid="4867893307468801501">"మళ్లీ ట్రై చేయండి లేదా ఆకృతిని గీయండి"</string>
     <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"చాలా సార్లు ట్రై చేసిన తర్వాత PIN అవసరం అవుతుంది"</string>
     <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"చాలా సార్లు ట్రై చేసిన తర్వాత పాస్‌వర్డ్ అవసరం"</string>
-    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"చాలా సార్లు ట్రై చేసిన తర్వాత ఆకృతి అవసరం అవుతుంది"</string>
+    <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"చాలా సార్లు ట్రై చేసిన తర్వాత ఆకృతి (ప్యాటర్న్‌) అవసరం అవుతుంది"</string>
     <string name="kg_unlock_with_pin_or_fp" msgid="5635161174698729890">"PIN/వేలిముద్రతో తెరవండి"</string>
     <string name="kg_unlock_with_password_or_fp" msgid="2251295907826814237">"పాస్‌వర్డ్/వేలిముద్రతో తెరవండి"</string>
     <string name="kg_unlock_with_pattern_or_fp" msgid="2391870539909135046">"ఆకృతి/వేలిముద్రతో తెరవండి"</string>
diff --git a/packages/SystemUI/res-keyguard/values-zh-rCN/strings.xml b/packages/SystemUI/res-keyguard/values-zh-rCN/strings.xml
index 196df28..6b08a3a4 100644
--- a/packages/SystemUI/res-keyguard/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res-keyguard/values-zh-rCN/strings.xml
@@ -63,7 +63,7 @@
     <string name="kg_bio_try_again_or_password" msgid="1473132729225398039">"请重试，或输入密码"</string>
     <string name="kg_bio_try_again_or_pattern" msgid="4867893307468801501">"请重试，或绘制解锁图案"</string>
     <string name="kg_bio_too_many_attempts_pin" msgid="5850845723433047605">"如果出错的尝试次数太多，必须输入 PIN 码才能解锁"</string>
-    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"如果出错的尝试次数太多，必须输入密码才能解锁"</string>
+    <string name="kg_bio_too_many_attempts_password" msgid="5551690347827728042">"如果多次尝试失败，必须输入密码才能解锁"</string>
     <string name="kg_bio_too_many_attempts_pattern" msgid="736884689355181602">"如果出错的尝试次数太多，必须绘制图案才能解锁"</string>
     <string name="kg_unlock_with_pin_or_fp" msgid="5635161174698729890">"请使用 PIN 码或指纹解锁"</string>
     <string name="kg_unlock_with_password_or_fp" msgid="2251295907826814237">"请使用密码或指纹解锁"</string>
diff --git a/packages/SystemUI/res/anim/volume_dialog_ringer_close.xml b/packages/SystemUI/res/anim/volume_dialog_ringer_close.xml
new file mode 100644
index 0000000..e7ba52c
--- /dev/null
+++ b/packages/SystemUI/res/anim/volume_dialog_ringer_close.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2025 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<pathInterpolator
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:controlX1="0.20"
+    android:controlY1="0.00"
+    android:controlX2="0.00"
+    android:controlY2="1.00" />
\ No newline at end of file
diff --git a/packages/SystemUI/res/anim/volume_dialog_ringer_open.xml b/packages/SystemUI/res/anim/volume_dialog_ringer_open.xml
new file mode 100644
index 0000000..3b18eef
--- /dev/null
+++ b/packages/SystemUI/res/anim/volume_dialog_ringer_open.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+  ~ Copyright (C) 2025 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<pathInterpolator
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:controlX1="0.05"
+    android:controlY1="0.70"
+    android:controlX2="0.10"
+    android:controlY2="1.00" />
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout/media_output_list_group_divider.xml b/packages/SystemUI/res/layout/media_output_list_group_divider.xml
index c351912..fa5ad0d 100644
--- a/packages/SystemUI/res/layout/media_output_list_group_divider.xml
+++ b/packages/SystemUI/res/layout/media_output_list_group_divider.xml
@@ -20,14 +20,14 @@
     android:id="@+id/device_container"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:layout_marginStart="@dimen/media_output_dialog_margin_horizontal"
+    android:layout_marginEnd="56dp"
     android:orientation="vertical">
     <TextView
         android:id="@+id/title"
         android:layout_width="wrap_content"
         android:layout_height="36dp"
         android:layout_gravity="center_vertical|start"
-        android:layout_marginStart="@dimen/media_output_dialog_margin_horizontal"
-        android:layout_marginEnd="56dp"
         android:ellipsize="end"
         android:maxLines="1"
         android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
diff --git a/packages/SystemUI/res/layout/media_output_list_item_advanced.xml b/packages/SystemUI/res/layout/media_output_list_item_advanced.xml
index d297ec4..6b868b3 100644
--- a/packages/SystemUI/res/layout/media_output_list_item_advanced.xml
+++ b/packages/SystemUI/res/layout/media_output_list_item_advanced.xml
@@ -20,7 +20,8 @@
     android:id="@+id/device_container"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:paddingHorizontal="@dimen/media_output_dialog_margin_horizontal"
+    android:layout_marginHorizontal="@dimen/media_output_dialog_margin_horizontal"
+    android:focusable="true"
     android:baselineAligned="false">
     <FrameLayout
         android:layout_weight="1"
@@ -77,6 +78,7 @@
         </FrameLayout>
 
         <LinearLayout
+            android:id="@+id/text_content"
             android:orientation="vertical"
             android:layout_width="wrap_content"
             android:layout_gravity="center_vertical|start"
@@ -86,7 +88,7 @@
             android:layout_marginStart="72dp">
             <TextView
                 android:id="@+id/title"
-                android:importantForAccessibility="no"
+                android:focusable="false"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:ellipsize="end"
@@ -96,6 +98,7 @@
                 android:textSize="16sp"/>
             <TextView
                 android:id="@+id/subtitle"
+                android:focusable="false"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:marqueeRepeatLimit="marquee_forever"
@@ -124,7 +127,6 @@
             android:layout_width="24dp"
             android:layout_height="24dp"
             android:layout_marginEnd="16dp"
-            android:indeterminate="true"
             android:layout_gravity="end|center"
             android:indeterminateOnly="true"
             android:importantForAccessibility="no"
@@ -135,30 +137,23 @@
         android:layout_width="@dimen/media_output_dialog_item_height"
         android:layout_height="@dimen/media_output_dialog_item_height"
         android:visibility="gone"
-        android:layout_marginBottom="6dp"
         android:layout_marginStart="7dp"
-        android:layout_gravity="end|center"
-        android:gravity="center"
         android:background="@drawable/media_output_item_background_active">
         <CheckBox
             android:id="@+id/check_box"
-            android:focusable="false"
-            android:importantForAccessibility="no"
-            android:layout_gravity="center"
-            android:layout_width="24dp"
-            android:layout_height="24dp"
-            android:button="@drawable/media_output_item_check_box"
+            android:foreground="@drawable/media_output_item_check_box"
+            android:foregroundGravity="center"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:button="@null"
             android:visibility="gone"
             />
-        <ImageView
-            android:id="@+id/media_output_item_end_click_icon"
-            android:layout_width="24dp"
-            android:layout_height="24dp"
-            android:focusable="false"
-            android:importantForAccessibility="no"
-            android:layout_gravity="center"
-            android:indeterminate="true"
-            android:indeterminateOnly="true"
+        <ImageButton
+            android:id="@+id/end_area_image_button"
+            android:background="@android:color/transparent"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:contentDescription="@null"
             android:visibility="gone"/>
     </FrameLayout>
 </LinearLayout>
\ No newline at end of file
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index 538d9e2..d9a28a6 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth gekoppel."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth-toestelikoon"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Klik om toestelbesonderhede op te stel."</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Klik om alle toestelle te sien"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Klik om met nuwe toestel te koppel"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Batterypersentasie is onbekend."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Gekoppel aan <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Gekoppel aan <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Invoer"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Gehoortoestelle"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Skakel tans aan …"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Kan nie helderheid verstel nie omdat dit\n deur die topapp beheer word"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Kan nie helderheid verstel nie omdat dit deur die topapp beheer word"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Outodraai"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Outodraai skerm"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Ligging"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> steun nie gesprekskenmerke nie"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Terugvoer"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Maak toe"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Moenie as vasgespeld wys nie"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Wys tans regstreekse opdaterings"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Vasgespelde kennisgewings wys regstreekse inligting vanaf apps en verskyn altyd op die statusbalk en sluitskerm"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Hierdie kennisgewings kan nie gewysig word nie."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Oproepkennisgewings kan nie gewysig word nie."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Hierdie groep kennisgewings kan nie hier opgestel word nie"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Verrigting van veelvuldige take"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Gebruik verdeelde skerm met app aan die regterkant"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Gebruik verdeelde skerm met app aan die linkerkant"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Skakel oor na volskerm"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Skakel oor na app regs of onder terwyl jy verdeelde skerm gebruik"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Skakel oor na app links of bo terwyl jy verdeelde skerm gebruik"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Tydens verdeelde skerm: verplaas ’n app van een skerm na ’n ander"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Wys laeprioriteit-kennisgewingikone"</string>
     <string name="other" msgid="429768510980739978">"Ander"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"verwyder teël"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"voeg teël by die laaste posisie"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Skuif teël"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Bekyk onlangse apps"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Wissel apps"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Klaar"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Probeer weer!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Gaan terug"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Swiep links of regs met drie vingers op jou raakpaneel"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Swiep op en hou met drie vingers op die raakpaneel om onlangse apps te bekyk"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Druk die handelingsleutel op jou sleutelbord om al jou apps te bekyk"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Gewysig"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Ontsluit om te kyk"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontekstuele opvoeding"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Gebruik jou raakpaneel om terug te gaan"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Swiep links of regs met drie vingers. Tik om meer gebare te leer."</string>
diff --git a/packages/SystemUI/res/values-af/tiles_states_strings.xml b/packages/SystemUI/res/values-af/tiles_states_strings.xml
index 3d0dbb5..fde914f 100644
--- a/packages/SystemUI/res/values-af/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-af/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Af"</item>
     <item msgid="5908720590832378783">"Aan"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Onbeskikbaar"</item>
+    <item msgid="6641673879029894995">"Af"</item>
+    <item msgid="5806682401126108403">"Aan"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index f1b9fca..ba1c3ed 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"ብሉቱዝ ተያይዟል።"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"የብሉቱዝ መሣሪያ አዶ"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"የመሣሪያ ዝርዝርን ለማዋቀር ጠቅ ያድርጉ"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"ሁሉንም መሣሪያዎች ለማየት ጠቅ ያድርጉ"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"ከአዲስ መሣሪያ ጋር ለማጣመር ጠቅ ያድርጉ"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"የባትሪ መቶኛ አይታወቅም።"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"ከ<xliff:g id="BLUETOOTH">%s</xliff:g> ጋር ተገናኝቷል።"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"ከ<xliff:g id="CAST">%s</xliff:g> ጋር ተገናኝቷል።"</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"ግቤት"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"መስሚያ አጋዥ መሣሪያዎች"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"በማብራት ላይ..."</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ከላይ ባለው መተግበሪያ ቁጥጥር ላይ ስለሆነ\n ብሩህነትን ማስተካከል አልተቻለም"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ከላይ ባለው መተግበሪያ ቁጥጥር ላይ ስለሆነ ብሩህነትን ማስተካከል አልተቻለም"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"በራስ ሰር አሽከርክር"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"ማያ ገጽን በራስ-አሽከርክር"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"አካባቢ"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> የውይይት ባህሪያትን አይደግፍም"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"ግብረመልስ"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"አሰናብት"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"ፒን እንደተደረገ አታሳይ"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"የቀጥታ ዝማኔዎችን በማሳየት ላይ"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"ፒን የተደረጉ ማሳወቂያዎች ከመተግበሪያዎች ላይ Live መረጃ ያሳያሉ እና በሁኔታ አሞሌ እና ማያ ገፅ ቁልፍ ላይ ሁልጊዜ ይታያሉ"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"እነዚህ ማሳወቂያዎች ሊሻሻሉ አይችሉም።"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"የጥሪ ማሳወቂያዎች ሊቀየሩ አይችሉም።"</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"የማሳወቂያዎች ይህ ቡድን እዚህ ላይ ሊዋቀር አይችልም"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"ብዙ ተግባራትን በተመሳሳይ ጊዜ ማከናወን"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"መተግበሪያ በስተቀኝ ላይ ሆኖ የተከፈለ ማያ ገፅን ይጠቀሙ"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"መተግበሪያ በስተግራ ላይ ሆኖ የተከፈለ ማያ ገፅን ይጠቀሙ"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"ወደ ሙሉ ገፅ ዕይታ ይቀይሩ"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"የተከፈለ ማያ ገጽን ሲጠቀሙ በቀኝ ወይም ከታች ወዳለ መተግበሪያ ይቀይሩ"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"የተከፈለ ማያ ገጽን ሲጠቀሙ በቀኝ ወይም ከላይ ወዳለ መተግበሪያ ይቀይሩ"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"በተከፈለ ማያ ገጽ ወቅት፡- መተግበሪያን ከአንዱ ወደ ሌላው ተካ"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"አነስተኛ ቅድሚያ ያላቸው የማሳወቂያ አዶዎችን አሳይ"</string>
     <string name="other" msgid="429768510980739978">"ሌላ"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"ሰቅ አስወግድ"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"በመጨረሻው ቦታ ላይ ሰቅ ያክሉ"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"ሰቁን ውሰድ"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"የቅርብ ጊዜ መተግበሪያዎችን አሳይ"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"መተግበሪያዎችን ይቀያይሩ"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"ተከናውኗል"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"እንደገና ይሞክሩ!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"ወደኋላ ተመለስ"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"የመዳሰሻ ሰሌዳዎ ላይ ሦስት ጣቶችን በመጠቀም ወደ ግራ ወይም ወደ ቀኝ ያንሸራትቱ"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"የቅርብ ጊዜ መተግበሪያዎችን ለማየት የመዳሰሻ ሰሌዳው ላይ በሦስት ጣቶች ወደላይ ያንሸራትቱ እና ይያዙ"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"ሁሉንም መተግበሪያዎችዎን ለማየት በቁልፍ ሰሌዳዎ ላይ ያለውን የተግባር ቁልፍ ይጫኑ"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"ጽሁፍ ተቀይሯል"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"ለመመልከት ይክፈቱ"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"የዓውድ ትምህርት"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"ለመመለስ የመዳሰሻ ሰሌዳዎን ይጠቀሙ"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"ሦስት ጣቶችን በመጠቀም ወደ ግራ ወይም ወደ ቀኝ ያንሸራትቱ። ምልክቶችን የበለጠ ለማወቅ መታ ያድርጉ።"</string>
diff --git a/packages/SystemUI/res/values-am/tiles_states_strings.xml b/packages/SystemUI/res/values-am/tiles_states_strings.xml
index 31a7d96..f8e7a43 100644
--- a/packages/SystemUI/res/values-am/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-am/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"ጠፍቷል"</item>
     <item msgid="5908720590832378783">"በርቷል"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"አይገኝም"</item>
+    <item msgid="6641673879029894995">"ጠፍቷል"</item>
+    <item msgid="5806682401126108403">"በርቷል"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index 7d55b85..905183c 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"تم توصيل البلوتوث."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"رمز الجهاز الذي يتضمّن بلوتوث"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"انقر هنا لضبط إعدادات الجهاز."</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"انقر لعرض جميع الأجهزة."</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"انقر لإقران جهاز جديد."</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"نسبة شحن البطارية غير معروفة."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"متصل بـ <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"تم الاتصال بـ <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"الإدخال"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"سماعات الأذن الطبية"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"جارٍ التفعيل…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"لا يمكن ضبط مستوى السطوع لأنّ\n التطبيق الأول يتحكّم فيه"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"لا يمكن ضبط مستوى السطوع لأنّ التطبيق الأول يتحكّم فيه"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"التدوير التلقائي"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"التدوير التلقائي للشاشة"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"الموقع الجغرافي"</string>
@@ -471,7 +475,7 @@
     <string name="zen_silence_introduction" msgid="6117517737057344014">"سيؤدي هذا إلى حظر جميع الأصوات والاهتزازات، بما في ذلك ما يرد من التنبيهات والموسيقى والفيديو والألعاب."</string>
     <string name="notification_tap_again" msgid="4477318164947497249">"انقر مرة أخرى للفتح"</string>
     <string name="tap_again" msgid="1315420114387908655">"انقر مرة أخرى"</string>
-    <string name="keyguard_unlock" msgid="8031975796351361601">"التمرير إلى الأعلى لفتح القفل"</string>
+    <string name="keyguard_unlock" msgid="8031975796351361601">"مرِّر إلى الأعلى لفتح القفل"</string>
     <string name="keyguard_unlock_press" msgid="9140109453735019209">"اضغط على رمز فتح القفل لفتح قفل الشاشة."</string>
     <string name="keyguard_face_successful_unlock_swipe" msgid="6180997591385846073">"تم فتح قفل جهازك عند تقريبه من وجهك. مرِّر سريعًا للأعلى لفتح الجهاز."</string>
     <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"تم فتح القفل ببصمة وجهك. لفتح الجهاز، اضغط على رمز فتح القفل."</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"لا يدعم تطبيق <xliff:g id="APP_NAME">%1$s</xliff:g> ميزات المحادثات."</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"الملاحظات"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"إغلاق"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"عدم العرض كإشعار مثبَّت"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"عرض تغطية مباشرة للأخبار"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"تعرِض الإشعارات المثبَّتة معلومات مباشرة من التطبيقات، وتظهر دائمًا في شريط الحالة وعلى شاشة القفل"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"يتعذّر تعديل هذه الإشعارات."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"لا يمكن تعديل إشعارات المكالمات."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"يتعذّر ضبط مجموعة الإشعارات هذه هنا."</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"تعدُّد المهام"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"استخدام \"وضع تقسيم الشاشة\" مع تثبيت التطبيق على اليمين"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"استخدام \"وضع تقسيم الشاشة\" مع تثبيت التطبيق على اليسار"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"التبديل إلى وضع ملء الشاشة"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"التبديل إلى التطبيق على اليسار أو الأسفل أثناء استخدام \"تقسيم الشاشة\""</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"التبديل إلى التطبيق على اليمين أو الأعلى أثناء استخدام \"تقسيم الشاشة\""</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"استبدال تطبيق بآخر في وضع \"تقسيم الشاشة\""</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"إظهار رموز الإشعارات ذات الأولوية المنخفضة"</string>
     <string name="other" msgid="429768510980739978">"غير ذلك"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"إزالة بطاقة"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"إضافة مربّع إلى الموضع الأخير"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"نقل بطاقة"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"عرض التطبيقات المستخدَمة مؤخرًا"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"التبديل بين التطبيقات"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"تم"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"يُرجى إعادة المحاولة"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"رجوع"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"مرِّر سريعًا لليمين أو لليسار باستخدام 3 أصابع على لوحة اللمس"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"لعرض التطبيقات المستخدَمة مؤخرًا، مرِّر سريعًا للأعلى مع استمرار الضغط على لوحة اللمس باستخدام 3 أصابع"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"لعرض جميع التطبيقات، اضغط على مفتاح الإجراء في لوحة المفاتيح"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"إشعار مخفي"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"افتح القفل لعرض المعلومات"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"التعليم السياقي"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"استخدِم لوحة اللمس للرجوع"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"مرِّر سريعًا لليمين أو لليسار باستخدام 3 أصابع. انقر للتعرّف على المزيد من الإيماءات."</string>
diff --git a/packages/SystemUI/res/values-as/strings.xml b/packages/SystemUI/res/values-as/strings.xml
index 74c4e3e..784dfee 100644
--- a/packages/SystemUI/res/values-as/strings.xml
+++ b/packages/SystemUI/res/values-as/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"ব্লুটুথ সংযোগ হ’ল।"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"ব্লুটুথ ডিভাইচৰ চিহ্ন"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"ডিভাইচৰ সবিশেষ কনফিগাৰ কৰিবলৈ ক্লিক কৰক"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"আটাইবোৰ ডিভাইচ চাবলৈ ক্লিক কৰক"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"নতুন ডিভাইচ পেয়াৰ কৰিবলৈ ক্লিক কৰক"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"বেটাৰীৰ চাৰ্জৰ শতাংশ অজ্ঞাত।"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g>ৰ লগত সংযোগ কৰা হ’ল।"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g>ত সংযোগ হ’ল।"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ বাৰ্তালাপৰ সুবিধাসমূহ সমৰ্থন নকৰে"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"মতামত"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"অগ্ৰাহ্য কৰক"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"পিন কৰা হিচাপে নেদেখুৱাব"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"লাইভ আপডে’ট দেখুওৱা"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"পিন কৰি থোৱা জাননীসমূহে এপৰ পৰা লাইভ তথ্য দেখুৱায় আৰু সেয়া সদায় স্থিতি দণ্ড আৰু লক স্ক্ৰীনত ওলায়"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"এই জাননীসমূহ সংশোধন কৰিব নোৱাৰি।"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"কলৰ জাননীসমূহ সংশোধন কৰিব নোৱাৰি।"</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"এই ধৰণৰ জাননীবোৰ ইয়াত কনফিগাৰ কৰিব পৰা নাযায়"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"মাল্টিটাস্কিং"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"সোঁফালে থকা এপ্‌টোৰ সৈতে বিভাজিত স্ক্ৰীন ব্যৱহাৰ কৰক"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"বাওঁফালে থকা এপ্‌টোৰ সৈতে বিভাজিত স্ক্ৰীন ব্যৱহাৰ কৰক"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"পূৰ্ণ স্ক্ৰীনলৈ সলনি কৰক"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"বিভাজিত স্ক্ৰীন ব্যৱহাৰ কৰাৰ সময়ত সোঁফালে অথবা তলত থকা এপলৈ সলনি কৰক"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"বিভাজিত স্ক্ৰীন ব্যৱহাৰ কৰাৰ সময়ত বাওঁফালে অথবা ওপৰত থকা এপলৈ সলনি কৰক"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"বিভাজিত স্ক্ৰীনৰ ব্যৱহাৰ কৰাৰ সময়ত: কোনো এপ্ এখন স্ক্ৰীনৰ পৰা আনখনলৈ নিয়ক"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"কম গুৰুত্বপূৰ্ণ জাননীৰ আইকনসমূহ দেখুৱাওক"</string>
     <string name="other" msgid="429768510980739978">"অন্যান্য"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"টাইল আঁতৰাবলৈ"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"অন্তিম স্থানত টাইল যোগ দিয়ক"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"টাইল স্থানান্তৰ কৰক"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"শেহতীয়া এপ্‌সমূহ চাওক"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"এপ্‌সমূহ সলনি কৰক"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"হ’ল"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"পুনৰ চেষ্টা কৰক!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"উভতি যাওক"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"আপোনাৰ টাচ্চপেডত তিনিটা আঙুলি ব্যৱহাৰ কৰি বাওঁফাললৈ বা সোঁফাললৈ ছোৱাইপ কৰক"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"শেহতীয়া এপ্‌সমূহ চাবলৈ টাচ্চপেডখনত তিনিটা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"আপোনাৰ আটাইবোৰ এপ্‌ চাবলৈ আপোনাৰ কীব’ৰ্ডৰ কাৰ্য কীটোত টিপক"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"সম্পাদনা কৰা হৈছে"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"চাবলৈ আনলক কৰক"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"প্ৰাসংগিক শিক্ষা"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"উভতি যাবলৈ আপোনাৰ টাচ্চপেড ব্যৱহাৰ কৰক"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"তিনিটা আঙুলি ব্যৱহাৰ কৰি বাওঁফাললৈ বা সোঁফাললৈ ছোৱাইপ কৰক। অধিক নিৰ্দেশ শিকিবলৈ টিপক।"</string>
diff --git a/packages/SystemUI/res/values-as/tiles_states_strings.xml b/packages/SystemUI/res/values-as/tiles_states_strings.xml
index 68212e0..ba30c1e 100644
--- a/packages/SystemUI/res/values-as/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-as/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"অফ আছে"</item>
     <item msgid="5908720590832378783">"অন আছে"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"উপলব্ধ নহয়"</item>
+    <item msgid="6641673879029894995">"অফ আছে"</item>
+    <item msgid="5806682401126108403">"অন আছে"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-az/strings.xml b/packages/SystemUI/res/values-az/strings.xml
index 4b316b6..20f3e37 100644
--- a/packages/SystemUI/res/values-az/strings.xml
+++ b/packages/SystemUI/res/values-az/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth qoşulub."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth cihazı ikonası"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Cihaz təfərrüatlarını konfiqurasiya etmək üçün klikləyin"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Bütün cihazları görmək üçün klikləyin"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Yeni cihazı birləşdirmək üçün klikləyin"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Batareyanın faizi naməlumdur."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g> üzərindən qoşuldu."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> cihazına qoşulub."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Giriş"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Eşitmə aparatları"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Aktiv edilir..."</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Yuxarıdakı tətbiq tərəfindən idarə olunduğu üçün\n parlaqlığı tənzimləmək mümkün deyil"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Yuxarıdakı tətbiq tərəfindən idarə olunduğu üçün parlaqlığı tənzimləmək mümkün deyil"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Avtodönüş"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Ekranın avtomatik dönməsi"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Məkan"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> söhbət funksiyalarını dəstəkləmir"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Rəy"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Rədd edin"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Bərkidilmiş kimi göstərməyin"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Canlı güncəlləmələr göstərilir"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Bərkidilmiş bildirişlər tətbiqlərdəki canlı məlumatları göstərir, həmişə status panelində və kilidli ekranda görünür"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Bu bildirişlər dəyişdirilə bilməz."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Zəng bildirişləri dəyişdirilə bilməz."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Bu bildiriş qrupunu burada konfiqurasiya etmək olmaz"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Çoxsaylı tapşırıq icrası"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Tətbiq sağda olmaqla bölünmüş ekranı istifadə edin"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Tətbiq solda olmaqla bölünmüş ekranı istifadə edin"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Tam ekran rejiminə keçin"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Bölünmüş ekran istifadə edərkən sağda və ya aşağıda tətbiqə keçin"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Bölünmüş ekran istifadə edərkən solda və ya yuxarıda tətbiqə keçin"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Bölünmüş ekran rejimində: tətbiqi birindən digərinə dəyişin"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Aşağı prioritet bildiriş işarələrini göstərin"</string>
     <string name="other" msgid="429768510980739978">"Digər"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"lövhəni silin"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"son mövqeyə mozaik əlavə edin"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Lövhəni köçürün"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Son tətbiqlərə baxın"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Başqa tətbiqə keçin"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Hazırdır"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Yenidən cəhd edin!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Geri qayıdın"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Taçpeddə üç barmaqla sola və ya sağa sürüşdürün"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Son tətbiqlərə baxmaq üçün taçpeddə üç barmağınızla yuxarı çəkib saxlayın"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Bütün tətbiqlərə baxmaq üçün klaviaturada fəaliyyət açarını basın"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Çıxarılıb"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Baxmaq üçün kiliddən çıxarın"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontekstual təhsil"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Geri qayıtmaq üçün taçped istifadə edin"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Üç barmaqla sola və ya sağa çəkin. Daha çox jest öyrənmək üçün toxunun."</string>
diff --git a/packages/SystemUI/res/values-az/tiles_states_strings.xml b/packages/SystemUI/res/values-az/tiles_states_strings.xml
index 696fad2..74b95e2 100644
--- a/packages/SystemUI/res/values-az/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-az/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Deaktiv"</item>
     <item msgid="5908720590832378783">"Aktiv"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Əlçatan deyil"</item>
+    <item msgid="6641673879029894995">"Sönülü"</item>
+    <item msgid="5806682401126108403">"Yanılı"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
index 9a5bc49..69ebc70 100644
--- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml
+++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth je priključen."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ikona Bluetooth uređaja"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Kliknite da biste konfigurisali detalje o uređaju"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Kliknite da biste videli sve uređaje"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Kliknite da biste uparili nov uređaj"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Konfigurišite detalje o uređaju"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Pogledajte sve uređaje"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Uparite novi uređaj"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Procenat napunjenosti baterije nije poznat."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Povezani ste sa <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Povezani smo sa uređajem <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Unos"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Slušni aparati"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Uključuje se..."</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Ne možete da prilagodite osvetljenost jer je\n kontroliše aplikacija u vrhu"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Ne možete da prilagodite osvetljenost jer je kontroliše aplikacija u vrhu"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Automatska rotacija"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Automatsko rotiranje ekrana"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Lokacija"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> ne podržava funkcije konverzacije"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Povratne informacije"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Odbaci"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Ne prikazuj kao zakačeno"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Prikazuju se novosti uživo"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Zakačena obaveštenja prikazuju informacije uživo iz aplikacija i uvek se pojavljuju na statusnoj traci i zaključanom ekranu"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Ova obaveštenja ne mogu da se menjaju."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Obaveštenja o pozivima ne mogu da se menjaju."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Ova grupa obaveštenja ne može da se konfiguriše ovde"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Obavljanje više zadataka istovremeno"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Koristi podeljeni ekran sa aplikacijom s desne strane"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Koristi podeljeni ekran sa aplikacijom s leve strane"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Pređi na režim preko celog ekrana"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Koristi prikaz preko celog ekrana"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Koristi prikaz za računare"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Pređi u aplikaciju zdesna ili ispod dok je podeljen ekran"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Pređite u aplikaciju sleva ili iznad dok koristite podeljeni ekran"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"U režimu podeljenog ekrana: zamena jedne aplikacije drugom"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Prikaži ikone obaveštenja niskog prioriteta"</string>
     <string name="other" msgid="429768510980739978">"Drugo"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"uklonili pločicu"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"dodali pločicu na poslednju poziciju"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Premestite pločicu"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Prikaži nedavno korišćene aplikacije"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Pređi na drugu aplikaciju"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Gotovo"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"Dalje"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"Probajte ponovo."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Nazad"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Prevucite ulevo ili udesno sa tri prsta na tačpedu"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Da biste pregledali nedavne aplikacije, prevucite nagore i zadržite sa tri prsta na tačpedu"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Da biste pogledali sve aplikacije, pritisnite taster radnji na tastaturi"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Redigovano"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Otključajte za prikaz"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontekstualno obrazovanje"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Koristite tačped za vraćanje nazad"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Prevucite ulevo ili udesno sa tri prsta. Dodirnite da biste videli više pokreta."</string>
diff --git a/packages/SystemUI/res/values-b+sr+Latn/tiles_states_strings.xml b/packages/SystemUI/res/values-b+sr+Latn/tiles_states_strings.xml
index 3b99019..51b667c 100644
--- a/packages/SystemUI/res/values-b+sr+Latn/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-b+sr+Latn/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Isključeno"</item>
     <item msgid="5908720590832378783">"Uključeno"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Nedostupno"</item>
+    <item msgid="6641673879029894995">"Isključeno"</item>
+    <item msgid="5806682401126108403">"Uključeno"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml
index 5fc56bc..7c7c364 100644
--- a/packages/SystemUI/res/values-be/strings.xml
+++ b/packages/SystemUI/res/values-be/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth-сувязь."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Значок прылады з Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Націсніце, каб задаць падрабязныя налады прылады"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Націсніце, каб пабачыць усе прылады"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Націсніце, каб спалучыць новую прыладу"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Наладзіць звесткі пра прыладу"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Паглядзець усе прылады"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Спалучыць новую прыладу"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Працэнт зараду акумулятара невядомы."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Падлучаны да <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Ёсць падключэнне да <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Увод"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Слыхавыя апараты"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Уключэнне…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Не ўдаецца адрэгуляваць яркасць, бо яна\nкантралюецца асноўнай праграмай"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Не ўдаецца адрэгуляваць яркасць, бо янакантралюецца асноўнай праграмай"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Аўтапаварот"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Аўтаматычны паварот экрана"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Месцазнаходжанне"</string>
@@ -471,7 +472,7 @@
     <string name="zen_silence_introduction" msgid="6117517737057344014">"Гэта заблакіруе ЎСЕ гукі і вібрацыі, у тым ліку ад будзільнікаў, музыкі, відэа і гульняў."</string>
     <string name="notification_tap_again" msgid="4477318164947497249">"Дакраніцеся яшчэ раз, каб адкрыць"</string>
     <string name="tap_again" msgid="1315420114387908655">"Націсніце яшчэ раз"</string>
-    <string name="keyguard_unlock" msgid="8031975796351361601">"Каб адкрыць, прагарніце ўверх"</string>
+    <string name="keyguard_unlock" msgid="8031975796351361601">"Каб адкрыць, правядзіце пальцам уверх"</string>
     <string name="keyguard_unlock_press" msgid="9140109453735019209">"Каб адкрыць, націсніце значок разблакіроўкі"</string>
     <string name="keyguard_face_successful_unlock_swipe" msgid="6180997591385846073">"Твар распазнаны. Каб адкрыць, прагарніце ўверх."</string>
     <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Твар распазнаны. Для адкрыцця націсніце значок разблакіроўкі"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> не падтрымлівае функцыі размовы"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Водгук"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Закрыць"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Не паказваць як замацаванае"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Паказ навін у рэальным часе"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Замацаваныя апавяшчэнні паказваюць актуальную інфармацыю з праграм і заўсёды з’яўляюцца на панэлі стану і экране блакіроўкі"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Гэтыя апавяшчэнні нельга змяніць."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Апавяшчэнні пра выклікі нельга змяніць."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Тут канфігурыраваць гэту групу апавяшчэнняў забаронена"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Шматзадачнасць"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Падзяліць экран і памясціць праграму справа"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Падзяліць экран і памясціць праграму злева"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Уключыць поўнаэкранны рэжым"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Выкарыстоўваць поўнаэкранны рэжым"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Выкарыстоўваць версію для камп’ютараў"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Пераключыцца на праграму справа або ўнізе на падзеленым экране"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Пераключыцца на праграму злева або ўверсе на падзеленым экране"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"У рэжыме падзеленага экрана замяніць адну праграму на іншую"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Паказваць значкі апавяшчэнняў з нізкім прыярытэтам"</string>
     <string name="other" msgid="429768510980739978">"Іншае"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"выдаліць плітку"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"дадаць плітку ў апошнюю пазіцыю"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Перамясціць плітку"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Прагляд нядаўніх праграм"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Пераключэнне праграм"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Гатова"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"Далей"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"Паспрабуйце яшчэ раз!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Назад"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Правядзіце па сэнсарнай панэлі трыма пальцамі ўлева ці ўправа"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Для прагляду нядаўніх праграм правядзіце па сэнсарнай панэлі трыма пальцамі ўверх і затрымайцеся"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Каб праглядзець усе праграмы, націсніце на клавішу дзеяння на клавіятуры"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Схавана"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Разблакіруйце экран, каб праглядзець"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Кантэкстнае навучанне"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Выкарыстайце сэнсарную панэль для вяртання"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Правядзіце ўлева ці ўправа трыма пальцамі. Націсніце, каб азнаёміцца з іншымі жэстамі."</string>
diff --git a/packages/SystemUI/res/values-be/tiles_states_strings.xml b/packages/SystemUI/res/values-be/tiles_states_strings.xml
index 9f520da9..cbbfe92 100644
--- a/packages/SystemUI/res/values-be/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-be/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Выключана"</item>
     <item msgid="5908720590832378783">"Уключана"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Недаступна"</item>
+    <item msgid="6641673879029894995">"Выключана"</item>
+    <item msgid="5806682401126108403">"Уключана"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index 339d751..0f2ab17 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth е включен."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Икона за устройство с Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Кликнете, за да конфигурирате подробностите за устройството"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Кликнете, за да видите всички устройства"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Кликнете за сдвояване на ново устройство"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Процентът на батерията е неизвестен."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Има връзка с <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Установена е връзка с/ъс <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Вход"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Слухови апарати"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Включва се..."</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Яркостта не може да се коригира, защото се контролира\n от приложението на екрана"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Яркостта не може да се коригира, защото се контролира от приложението на екрана"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Авт. ориентация"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Автоматично завъртане на екрана"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Местоположение"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> не поддържа функциите за разговор"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Отзиви"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Отхвърляне"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Без показване като фиксирано"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Показване на актуализации на живо"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Фиксираните известия показват информация в реално време от приложенията и винаги се показват в лентата на състоянието и на заключения екран"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Тези известия не могат да бъдат променяни."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Известията за обаждания не могат да бъдат променяни."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Тази група от известия не може да бъде конфигурирана тук"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Няколко задачи едновременно"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Използване на разделен екран с приложението вдясно"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Използване на разделен екран с приложението вляво"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Превключване на цял екран"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Превключване към приложението вдясно/отдолу в режима на разделен екран"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Превключване към приложението вляво/отгоре в режима на разделен екран"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"При разделен екран: замяна на дадено приложение с друго"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Показване на иконите за известията с нисък приоритет"</string>
     <string name="other" msgid="429768510980739978">"Друго"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"премахване на панел"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"добавяне на панела на последната позиция"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Преместване на панел"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Преглед на скорошните приложения"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Превключване на приложенията"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Готово"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Опитайте отново!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Назад"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Плъзнете три пръста наляво или надясно по сензорния панел"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"За да прегледате скорошните приложения, плъзнете нагоре по сензорния панел с три пръста и задръжте"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"За да прегледате всичките си приложения, натиснете клавиша за действия на клавиатурата си"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Скрито"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Отключете за преглед"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Контекстуално обучение"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Използвайте сензорния панел, за да се върнете назад"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Плъзнете три пръста наляво или надясно. Докоснете, за да научите повече жестове."</string>
diff --git a/packages/SystemUI/res/values-bg/tiles_states_strings.xml b/packages/SystemUI/res/values-bg/tiles_states_strings.xml
index e598f928..636585d 100644
--- a/packages/SystemUI/res/values-bg/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-bg/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Изкл."</item>
     <item msgid="5908720590832378783">"Вкл."</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Не е налице"</item>
+    <item msgid="6641673879029894995">"Изкл."</item>
+    <item msgid="5806682401126108403">"Вкл."</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-bn/strings.xml b/packages/SystemUI/res/values-bn/strings.xml
index ef1253b..10a1fd6 100644
--- a/packages/SystemUI/res/values-bn/strings.xml
+++ b/packages/SystemUI/res/values-bn/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"ব্লুটুথ সংযুক্ত হয়েছে৷"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"ব্লুটুথ ডিভাইসের আইকন"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"ডিভাইসের বিবরণ কনফিগার করতে ক্লিক করুন"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"সব ডিভাইস দেখতে ক্লিক করুন"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"নতুন ডিভাইস পেয়ার করতে ক্লিক করুন"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"ব্যাটারি কত শতাংশ আছে তা জানা যায়নি।"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g>এ সংযুক্ত হয়ে আছে।"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> এর সাথে সংযুক্ত৷"</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"ইনপুট"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"হিয়ারিং এড"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"চালু করা হচ্ছে…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"উজ্জ্বলতা টপ অ্যাপ নিয়ন্ত্রণ করায়\n এটিকে অ্যাডজাস্ট করা যাচ্ছে না"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"উজ্জ্বলতা টপ অ্যাপ নিয়ন্ত্রণ করায় এটিকে অ্যাডজাস্ট করা যাচ্ছে না"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"নিজে থেকে ঘুরবে"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"অটো-রোটেট স্ক্রিন"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"লোকেশন"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g>-এ কথোপকথন ফিচার কাজ করে না"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"মতামত"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"বাতিল করুন"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"পিন করা হিসেবে দেখতে চাই না"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"লাইভ আপডেট দেখানো হচ্ছে"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"পিন করা বিজ্ঞপ্তিগুলি অ্যাপ থেকে লাইভ তথ্য দেখায় এবং তা সর্বদা স্ট্যাটাস বার ও লক স্ক্রিনে দেখানো হয়"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"এই বিজ্ঞপ্তিগুলি পরিবর্তন করা যাবে না।"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"কল বিজ্ঞপ্তি পরিবর্তন করা যাবে না।"</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"এই সমস্ত বিজ্ঞপ্তিকে এখানে কনফিগার করা যাবে না"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"মাল্টিটাস্কিং"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"ডানদিকে বর্তমান অ্যাপে স্প্লিট স্ক্রিন ব্যবহার করুন"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"বাঁদিকে বর্তমান অ্যাপে স্প্লিট স্ক্রিন ব্যবহার করুন"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"ফুল-স্ক্রিন মোডে সুইচ করুন"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"স্প্লিট স্ক্রিন ব্যবহার করার সময় ডানদিকের বা নিচের অ্যাপে পাল্টে নিন"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"স্প্লিট স্ক্রিন ব্যবহার করার সময় বাঁদিকের বা উপরের অ্যাপে পাল্টে নিন"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"\'স্প্লিট স্ক্রিন\' থাকাকালীন: একটি অ্যাপ থেকে অন্যটিতে পাল্টান"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"কম-গুরুত্বপূর্ণ বিজ্ঞপ্তির আইকন দেখুন"</string>
     <string name="other" msgid="429768510980739978">"অন্যান্য"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"টাইল সরান"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"শেষ জায়গাতে টাইল যোগ করুন"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"টাইল সরান"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"সম্প্রতি ব্যবহার করা হয়েছে এমন অ্যাপ দেখুন"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"অ্যাপ পরিবর্তন করুন"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"হয়ে গেছে"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"আবার চেষ্টা করুন!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"ফিরে যান"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"আপনার টাচপ্যাডে তিনটি আঙুল ব্যবহার করে বাঁদিকে বা ডানদিকে সোয়াইপ করুন"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"সম্প্রতি ব্যবহার করা অ্যাপ দেখতে, টাচপ্যাডে তিনটি আঙুল ব্যবহার করে উপরের দিকে সোয়াইপ করে ধরে রাখুন"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"আপনার সব অ্যাপ দেখতে, কীবোর্ডে অ্যাকশন কী প্রেস করুন"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"রিড্যাক্ট করা হয়েছে"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"দেখার জন্য আনলক করুন"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"প্রাসঙ্গিক শিক্ষা"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"ফিরে যেতে টাচপ্যাড ব্যবহার করুন"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"তিনটি আঙুলের ব্যবহার করে ডান বা বাঁদিকে সোয়াইপ করুন। আরও জেসচার সম্পর্কে জানতে ট্যাপ করুন।"</string>
diff --git a/packages/SystemUI/res/values-bn/tiles_states_strings.xml b/packages/SystemUI/res/values-bn/tiles_states_strings.xml
index 38d9ee7..08231e4 100644
--- a/packages/SystemUI/res/values-bn/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-bn/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"বন্ধ আছে"</item>
     <item msgid="5908720590832378783">"চালু আছে"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"উপলভ্য নেই"</item>
+    <item msgid="6641673879029894995">"বন্ধ আছে"</item>
+    <item msgid="5806682401126108403">"চালু আছে"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml
index aa036d4..8eadd4d 100644
--- a/packages/SystemUI/res/values-bs/strings.xml
+++ b/packages/SystemUI/res/values-bs/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth je povezan."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ikona Bluetooth uređaja"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Kliknite da konfigurirate detalje uređaja"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Pregled svih uređaja klikom"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Uparivanje novog uređaja klikom"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Konfigurirajte pojedinosti o uređaju"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Pogledajte sve uređaje"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Upari novi uređaj"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Postotak napunjenosti baterije nije poznat"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Povezan na <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Povezan na <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Ulaz"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Slušni aparati"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Uključivanje…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Nije moguće podesiti osvijetljenost\n jer njome upravlja aplikacija pri vrhu"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Nije moguće podesiti osvijetljenost jer njome upravlja aplikacija pri vrhu"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Automatsko rotiranje"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Automatsko rotiranje ekrana"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Lokacija"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> ne podržava funkcije razgovora"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Povratne informacije"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Odbaci"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Ne prikazuj kao zakačeno"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Prikazivanje novosti uživo"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Zakačena obavještenja prikazuju informacije uživo iz aplikacija i uvijek se prikazuju na statusnoj traci i zaključanom ekranu"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Ta obavještenja se ne mogu izmijeniti."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Nije moguće izmijeniti obavještenja o pozivima."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Ovu grupu obavještenja nije moguće konfigurirati ovdje"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitasking"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Korištenje podijeljenog ekrana s aplikacijom na desnoj strani"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Korištenje podijeljenog ekrana s aplikacijom na lijevoj strani"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Prelazak na prikaz preko cijelog ekrana"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Upotreba prikaza na cijelom zaslonu"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Upotreba prikaza na računalu"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Prelazak u aplikaciju desno ili ispod uz podijeljeni ekran"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Pređite u aplikaciju lijevo ili iznad dok koristite podijeljeni ekran"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Za vrijeme podijeljenog ekrana: zamjena jedne aplikacije drugom"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Prikaži ikone obavještenja niskog prioriteta"</string>
     <string name="other" msgid="429768510980739978">"Ostalo"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"uklanjanje kartice"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"dodavanje kartice na posljednji položaj"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Pomjeranje kartice"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Prikaži nedavne aplikacije"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Promijenite aplikaciju"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Gotovo"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"Dalje"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"Pokušajte ponovo!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Nazad"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Prevucite ulijevo ili udesno s tri prsta na dodirnoj podlozi"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Da pregledate nedavne aplikacije, prevucite nagore i zadržite s tri prsta na dodirnoj podlozi"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Da pregledate sve aplikacije, pritisnite tipku radnji na tastaturi"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Redigovano"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Otključajte da pregledate"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontekstualno obrazovanje"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Koristite dodirnu podlogu da se vratite"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Prevucite ulijevo ili udesno s tri prsta. Dodirnite da naučite više pokreta."</string>
diff --git a/packages/SystemUI/res/values-bs/tiles_states_strings.xml b/packages/SystemUI/res/values-bs/tiles_states_strings.xml
index 3b99019..51b667c 100644
--- a/packages/SystemUI/res/values-bs/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-bs/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Isključeno"</item>
     <item msgid="5908720590832378783">"Uključeno"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Nedostupno"</item>
+    <item msgid="6641673879029894995">"Isključeno"</item>
+    <item msgid="5806682401126108403">"Uključeno"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index 15d9283..8e4da1d 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth connectat."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Icona de dispositiu Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Fes clic per configurar els detalls del dispositiu"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Fes clic per veure tots els dispositius"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Fes clic per vincular un dispositiu nou"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Es desconeix el percentatge de bateria."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"S\'ha connectat a <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Està connectat amb <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Entrada"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Audiòfons"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"S\'està activant…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"No es pot ajustar la brillantor perquè\n està controlada per l\'aplicació superior"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"No es pot ajustar la brillantor perquè està controlada per l\'aplicació superior"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Gira automàticament"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Gira la pantalla automàticament"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Ubicació"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> no admet les funcions de converses"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Suggeriments"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Ignora"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"No mostris com a fixat"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"S\'estan mostrant les actualitzacions en temps real"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Les notificacions fixades mostren informació en temps real de les aplicacions i sempre es mostren a la barra d\'estat i a la pantalla de bloqueig"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Aquestes notificacions no es poden modificar."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Les notificacions de trucades no es poden modificar."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Aquest grup de notificacions no es pot configurar aquí"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitasca"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Utilitzar la pantalla dividida amb l\'aplicació a la dreta"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Utilitzar la pantalla dividida amb l\'aplicació a l\'esquerra"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Canviar a pantalla completa"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Canvia a l\'aplicació de la dreta o de sota amb la pantalla dividida"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Canvia a l\'aplicació de l\'esquerra o de dalt amb la pantalla dividida"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Durant el mode de pantalla dividida: substitueix una app per una altra"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Mostra les icones de notificació amb prioritat baixa"</string>
     <string name="other" msgid="429768510980739978">"Altres"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"suprimir el mosaic"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"afegir una icona a la darrera posició"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Mou el mosaic"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Mostra les aplicacions recents"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Canviar d\'aplicació"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Fet"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Torna-ho a provar"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Torna"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Llisca cap a l\'esquerra o cap a la dreta amb tres dits al ratolí tàctil"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Per veure les aplicacions recents, llisca cap amunt amb tres dits i mantén premut al ratolí tàctil"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Per veure totes les aplicacions, prem la tecla d\'acció al teclat"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Emmascarat"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Desbloqueja per veure"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Educació contextual"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Utilitza el ratolí tàctil per tornar enrere"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Fes lliscar tres dits cap a l\'esquerra o cap a la dreta. Toca per aprendre més gestos."</string>
diff --git a/packages/SystemUI/res/values-ca/tiles_states_strings.xml b/packages/SystemUI/res/values-ca/tiles_states_strings.xml
index e0c3fb9..3b0b9d7 100644
--- a/packages/SystemUI/res/values-ca/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-ca/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Desactivat"</item>
     <item msgid="5908720590832378783">"Activat"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"No disponible"</item>
+    <item msgid="6641673879029894995">"Desactivat"</item>
+    <item msgid="5806682401126108403">"Activat"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index 031e59d..6d38055 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Rozhraní Bluetooth je připojeno."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ikona zařízení Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Kliknutím nakonfigurujete podrobnosti o zařízení"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Kliknutím zobrazíte všechna zařízení"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Kliknutím spárujete nové zařízení"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Procento baterie není známé."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Připojeno k zařízení <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Jste připojeni k zařízení <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Vstup"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Naslouchátka"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Zapínání…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Jas nelze upravit, protože ho\n řídí hlavní aplikace"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Jas nelze upravit, protože ho řídí hlavní aplikace"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Autom. otáčení"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Automatické otáčení obrazovky"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Poloha"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"Aplikace <xliff:g id="APP_NAME">%1$s</xliff:g> funkce konverzace nepodporuje"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Zpětná vazba"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Zavřít"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Zobrazovat připnuté"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Zobrazování aktualit živě"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Připnutá oznámení zobrazují živé informace z aplikací a vždy se zobrazují na stavovém řádku a obrazovce uzamčení"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Tato oznámení nelze upravit."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Upozornění na hovor nelze upravit."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Tuto skupinu oznámení tady nelze nakonfigurovat"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitasking"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Použít rozdělenou obrazovku s aplikací vpravo"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Použít rozdělenou obrazovku s aplikací vlevo"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Přepnout na celou obrazovku"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Přepnout na aplikaci vpravo nebo dole v režimu rozdělené obrazovky"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Přepnout na aplikaci vlevo nebo nahoře v režimu rozdělené obrazovky"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"V režimu rozdělené obrazovky: nahradit jednu aplikaci druhou"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Zobrazit ikony oznámení s nízkou prioritou"</string>
     <string name="other" msgid="429768510980739978">"Jiné"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"odstranit dlaždici"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"přidat dlaždici na poslední pozici"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Přesunout dlaždici"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Zobrazit nedávné aplikace"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Přepnout aplikace"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Hotovo"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Zkuste to znovu."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Zpět"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Přejeďte po touchpadu třemi prsty doleva nebo doprava"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Pokud chcete zobrazit poslední aplikace, přejeďte na touchpadu třemi prsty nahoru a podržte je"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Pokud chcete zobrazit všechny aplikace, stiskněte na klávesnici akční klávesu"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Odstraněno"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"K zobrazení je potřeba zařízení odemknout"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontextová výuka"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Návrat zpět pomocí touchpadu"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Přejeďte třemi prsty doleva nebo doprava. Další gesta zjistíte klepnutím."</string>
diff --git a/packages/SystemUI/res/values-cs/tiles_states_strings.xml b/packages/SystemUI/res/values-cs/tiles_states_strings.xml
index ea62773..4977032 100644
--- a/packages/SystemUI/res/values-cs/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-cs/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Vypnuto"</item>
     <item msgid="5908720590832378783">"Zapnuto"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Nedostupné"</item>
+    <item msgid="6641673879029894995">"Vypnuto"</item>
+    <item msgid="5806682401126108403">"Zapnuto"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index 1ddaf8c..a5801cb 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth tilsluttet."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ikon for Bluetooth-enhed"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Klik for at konfigurere enhedsoplysninger"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Klik for at se alle enheder"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Klik for at parre en ny enhed"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Batteriniveauet er ukendt."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Forbundet med <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Forbundet til <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Input"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Høreapparater"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Aktiverer…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Lysstyrken kan ikke justeres, fordi den\n styres af den øverste app"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Lysstyrken kan ikke justeres, fordi den styres af den øverste app"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Roter automatisk"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Roter skærmen automatisk"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Lokation"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> understøtter ikke samtalefunktioner"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Feedback"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Luk"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Vis ikke som fastgjort"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Viser liveopdateringer"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Fastgjorte notifikationer viser liveoplysninger fra apps og vises altid på statusbjælken og låseskærmen"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Disse notifikationer kan ikke redigeres."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Opkaldsnotifikationer kan ikke redigeres."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Du kan ikke konfigurere denne gruppe notifikationer her"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitasking"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Brug opdelt skærm med appen til højre"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Brug opdelt skærm med appen til venstre"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Skift til fuld skærm"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Skift til en app til højre eller nedenfor, når du bruger opdelt skærm"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Skift til en app til venstre eller ovenfor, når du bruger opdelt skærm"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Ved opdelt skærm: Udskift én app med en anden"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Vis ikoner for notifikationer med lav prioritet"</string>
     <string name="other" msgid="429768510980739978">"Andet"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"fjern felt"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"føj handlingsfeltet til den sidste position"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Flyt felt"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Se seneste apps"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Skift mellem apps"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Udfør"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Prøv igen!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Gå tilbage"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Stryg til venstre eller højre med tre fingre på touchpladen"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Du kan se nyligt brugte apps ved at stryge opad og holde tre fingre nede på touchpladen"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Du kan se alle dine apps ved at trykke på handlingstasten på dit tastatur"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Skjult"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Lås op for at se"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontekstbaseret uddannelse"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Brug din touchplade til at gå tilbage"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Stryg til venstre eller højre med tre fingre. Tryk for at lære flere bevægelser."</string>
diff --git a/packages/SystemUI/res/values-da/tiles_states_strings.xml b/packages/SystemUI/res/values-da/tiles_states_strings.xml
index 2b1dbcf..af6dafb 100644
--- a/packages/SystemUI/res/values-da/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-da/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Fra"</item>
     <item msgid="5908720590832378783">"Til"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Ikke tilgængelig"</item>
+    <item msgid="6641673879029894995">"Fra"</item>
+    <item msgid="5806682401126108403">"Til"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index 16bbea1..132de74 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Mit Bluetooth verbunden"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Symbol des Bluetooth-Geräts"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Klicke, um das Gerätedetail zu konfigurieren"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Klicken, um alle Geräte anzeigen zu lassen"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Klicken, um neues Gerät zu koppeln"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Akkustand unbekannt."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Mit <xliff:g id="BLUETOOTH">%s</xliff:g> verbunden"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Verbunden mit <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Eingabe"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Hörgerät"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Wird aktiviert…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Die Helligkeit kann nicht angepasst werden, weil sie\n von der obersten App gesteuert wird"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Die Helligkeit kann nicht angepasst werden, weil sie von der obersten App gesteuert wird"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Autom. drehen"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Bildschirm automatisch drehen"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Standort"</string>
@@ -506,7 +510,7 @@
     <string name="communal_tutorial_indicator_text" msgid="4503010353591430123">"Wische nach links, um das gemeinsame Tutorial zu starten"</string>
     <string name="cta_tile_button_to_open_widget_editor" msgid="3871562362382963878">"Anpassen"</string>
     <string name="cta_tile_button_to_dismiss" msgid="3377597875997861754">"Schließen"</string>
-    <string name="cta_label_to_edit_widget" msgid="6496885074209203756">"Hier kannst du Widgets hinzufügen, entfernen und neu anordnen"</string>
+    <string name="cta_label_to_edit_widget" msgid="6496885074209203756">"Widgets hinzufügen, entfernen und neu anordnen"</string>
     <string name="cta_label_to_open_widget_picker" msgid="3874946756976360699">"Weitere Widgets hinzufügen"</string>
     <string name="popup_on_dismiss_cta_tile_text" msgid="8292501780996070019">"Lange drücken, um Widgets anzupassen"</string>
     <string name="button_to_configure_widgets_text" msgid="4191862850185256901">"Widgets anpassen"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> unterstützt keine Funktionen für Unterhaltungen"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Feedback"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Schließen"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Nicht als angepinnt anzeigen"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Livemeldungen werden angezeigt"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Aktuelle Informationen aus Apps werden als angeheftete Benachrichtigungen angezeigt, die immer in der Statusleiste und auf dem Sperrbildschirm erscheinen"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Diese Benachrichtigungen können nicht geändert werden."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Anrufbenachrichtigungen können nicht geändert werden."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Die Benachrichtigungsgruppe kann hier nicht konfiguriert werden"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitasking"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Splitscreen mit der App auf der rechten Seite nutzen"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Splitscreen mit der App auf der linken Seite nutzen"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"In den Vollbildmodus wechseln"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Im Splitscreen-Modus zu einer App rechts oder unten wechseln"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Im Splitscreen-Modus zu einer App links oder oben wechseln"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Im Splitscreen: eine App durch eine andere ersetzen"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Symbole für Benachrichtigungen mit einer niedrigen Priorität anzeigen"</string>
     <string name="other" msgid="429768510980739978">"Sonstiges"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"Entfernen der Kachel"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"Kachel an letzter Position hinzufügen"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Kachel verschieben"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Letzte Apps aufrufen"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Zwischen Apps wechseln"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Fertig"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Noch einmal versuchen"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Zurück"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Wische mit drei Fingern auf dem Touchpad nach links oder rechts"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Um zuletzt verwendete Apps aufzurufen, wische mit 3 Fingern nach oben und halte das Touchpad gedrückt"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Wenn du alle deine Apps aufrufen möchtest, drücke auf der Tastatur die Aktionstaste"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Entfernt"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Zum Ansehen entsperren"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontextbezogene Informationen"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Zum Zurückgehen Touchpad verwenden"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Wische mit drei Fingern nach links oder rechts. Tippe für mehr Infos zu Touch-Gesten."</string>
diff --git a/packages/SystemUI/res/values-de/tiles_states_strings.xml b/packages/SystemUI/res/values-de/tiles_states_strings.xml
index ded7efd..44734ae 100644
--- a/packages/SystemUI/res/values-de/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-de/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Aus"</item>
     <item msgid="5908720590832378783">"An"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Nicht verfügbar"</item>
+    <item msgid="6641673879029894995">"Aus"</item>
+    <item msgid="5806682401126108403">"An"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index 89c2cd2..a628e21 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Το Bluetooth είναι συνδεδεμένο."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Εικονίδιο συσκευής Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Κάντε κλικ για να διαμορφώσετε τις λεπτομέρειες συσκευής"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Κάντε κλικ για εμφάνιση όλων των συσκευών"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Κάντε κλικ για σύζευξη νέας συσκευής"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Άγνωστο ποσοστό μπαταρίας."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Συνδέθηκε στο <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Συνδέθηκε σε <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Είσοδος"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Βοηθήματα ακοής"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Ενεργοποίηση…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Δεν είναι δυνατή η προσαρμογή της φωτεινότητας, επειδή\n ελέγχεται από την εφαρμογή στην κορυφή"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Δεν είναι δυνατή η προσαρμογή της φωτεινότητας, επειδή ελέγχεται από την εφαρμογή στην κορυφή"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Αυτόματη περιστροφή"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Αυτόματη περιστροφή οθόνης"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Τοποθεσία"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> δεν υποστηρίζει τις λειτουργίες συζήτησης"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Σχόλια"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Παράβλεψη"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Να μην φαίνεται καρφιτσωμένο"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Εμφανίζονται οι ενημερώσεις σε πραγματικό χρόνο"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Οι καρφιτσωμένες ειδοποιήσεις προβάλλουν ζωντανές πληροφορίες από εφαρμογές και εμφανίζονται πάντα στη γραμμή κατάστασης και στην οθόνη κλειδώματος"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Δεν είναι δυνατή η τροποποίηση αυτών των ειδοποιήσεων"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Δεν είναι δυνατή η τροποποίηση των ειδοποιήσεων κλήσεων."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Δεν είναι δυνατή η διαμόρφωση αυτής της ομάδας ειδοποιήσεων εδώ"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Πολυδιεργασία"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Χρήση διαχωρισμού οθόνης με την εφαρμογή στα δεξιά"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Χρήση διαχωρισμού οθόνης με την εφαρμογή στα αριστερά"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Εναλλαγή σε πλήρη οθόνη"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Εναλλαγή στην εφαρμογή δεξιά ή κάτω κατά τη χρήση διαχωρισμού οθόνης"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Εναλλαγή σε εφαρμογή αριστερά ή επάνω κατά τη χρήση διαχωρισμού οθόνης"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Κατά τον διαχωρισμό οθόνης: αντικατάσταση μιας εφαρμογής με άλλη"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Εμφάνιση εικονιδίων ειδοποιήσεων χαμηλής προτεραιότητας"</string>
     <string name="other" msgid="429768510980739978">"Άλλο"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"κατάργηση πλακιδίου"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"προσθήκη πλακιδίου στην τελευταία θέση"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Μετακίνηση πλακιδίου"</string>
@@ -1377,7 +1383,7 @@
     <string name="bt_le_audio_broadcast_dialog_different_output" msgid="7885102097302562674">"Αλλαγή εξόδου"</string>
     <string name="bt_le_audio_broadcast_dialog_unknown_name" msgid="3791472237793443044">"Άγνωστο"</string>
     <string name="dream_time_complication_12_hr_time_format" msgid="4691197486690291529">"ώ:λλ"</string>
-    <string name="dream_time_complication_24_hr_time_format" msgid="6248280719733640813">"kk:λλ"</string>
+    <string name="dream_time_complication_24_hr_time_format" msgid="6248280719733640813">"kk:mm"</string>
     <string name="log_access_confirmation_title" msgid="4843557604739943395">"Να επιτρέπεται στο <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> η πρόσβαση σε όλα τα αρχεία καταγραφής συσκευής;"</string>
     <string name="log_access_confirmation_allow" msgid="752147861593202968">"Να επιτρέπεται η πρόσβαση για μία φορά"</string>
     <string name="log_access_confirmation_deny" msgid="2389461495803585795">"Να μην επιτρέπεται"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Προβολή πρόσφατων εφαρμογών"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Εναλλαγή μεταξύ εφαρμογών"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Τέλος"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Δοκιμάστε ξανά!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Επιστροφή"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Σύρετε προς τα αριστερά ή τα δεξιά με τρία δάχτυλα στην επιφάνεια αφής"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Για πρόσφατες εφαρμογές, σαρώστε προς τα πάνω με τρία δάχτυλα και κρατήστε τα στην επιφάνεια αφής"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Για να δείτε όλες τις εφαρμογές, πιέστε το πλήκτρο ενέργειας στο πληκτρολόγιό σας"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Αποκρύφτηκε"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Ξεκλείδωμα για προβολή"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Εκπαίδευση με βάση τα συμφραζόμενα"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Χρήση της επιφάνειας αφής για επιστροφή"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Σύρετε προς τα αριστερά ή τα δεξιά με τρία δάχτυλα. Πατήστε για να μάθετε περισσότερες κινήσεις."</string>
diff --git a/packages/SystemUI/res/values-el/tiles_states_strings.xml b/packages/SystemUI/res/values-el/tiles_states_strings.xml
index 398bf13..b649db4 100644
--- a/packages/SystemUI/res/values-el/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-el/tiles_states_strings.xml
@@ -47,7 +47,7 @@
     <item msgid="287997784730044767">"Ενεργό"</item>
   </string-array>
   <string-array name="tile_states_battery">
-    <item msgid="6311253873330062961">"Μη διαθέσιμο"</item>
+    <item msgid="6311253873330062961">"Μη διαθέσιμη"</item>
     <item msgid="7838121007534579872">"Ανενεργό"</item>
     <item msgid="1578872232501319194">"Ενεργό"</item>
   </string-array>
@@ -118,7 +118,7 @@
   </string-array>
   <string-array name="tile_states_night">
     <item msgid="7857498964264855466">"Μη διαθέσιμο"</item>
-    <item msgid="2744885441164350155">"Ανενεργό"</item>
+    <item msgid="2744885441164350155">"Ανενεργός"</item>
     <item msgid="151121227514952197">"Ενεργό"</item>
   </string-array>
   <string-array name="tile_states_screenrecord">
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Ανενεργό"</item>
     <item msgid="5908720590832378783">"Ενεργό"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Μη διαθέσιμο"</item>
+    <item msgid="6641673879029894995">"Ανενεργό"</item>
+    <item msgid="5806682401126108403">"Ενεργό"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml
index af0703c..1b36a7c 100644
--- a/packages/SystemUI/res/values-en-rAU/strings.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth connected."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth device icon"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Click to configure device detail"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Click to see all devices"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Click to pair new device"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Battery percentage unknown."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Connected to <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Connected to <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Input"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Hearing aids"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Turning on…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Can\'t adjust brightness because it\'s being\n controlled by the top app"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Can\'t adjust brightness because it\'s being controlled by the top app"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Auto-rotate"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Auto-rotate screen"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Location"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> doesn’t support conversation features"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Feedback"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Dismiss"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Don\'t show as pinned"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Showing live updates"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Pinned notifications display live info from apps and always appear on the status bar and lock screen"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"These notifications can\'t be modified."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Call notifications can\'t be modified."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"This group of notifications cannot be configured here"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multi-tasking"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Use split screen with app on the right"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Use split screen with app on the left"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Switch to full screen"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Switch to the app on the right or below while using split screen"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Switch to the app on the left or above while using split screen"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"During split screen: Replace an app from one to another"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Show low-priority notification icons"</string>
     <string name="other" msgid="429768510980739978">"Other"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"remove tile"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"add tile to the last position"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Move tile"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"View recent apps"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Switch apps"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Done"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Try again."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Go back"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Swipe left or right using three fingers on your touchpad"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"To view recent apps, swipe up and hold with three fingers on the touchpad"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"To view all your apps, press the action key on your keyboard"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Redacted"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Unlock to view"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Contextual education"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Use your touchpad to go back"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Swipe left or right using three fingers. Tap to learn more gestures."</string>
diff --git a/packages/SystemUI/res/values-en-rAU/tiles_states_strings.xml b/packages/SystemUI/res/values-en-rAU/tiles_states_strings.xml
index d62f2e5..e17eeb2 100644
--- a/packages/SystemUI/res/values-en-rAU/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-en-rAU/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Off"</item>
     <item msgid="5908720590832378783">"On"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Unavailable"</item>
+    <item msgid="6641673879029894995">"Off"</item>
+    <item msgid="5806682401126108403">"On"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-en-rCA/strings.xml b/packages/SystemUI/res/values-en-rCA/strings.xml
index f171a78..c6ba039 100644
--- a/packages/SystemUI/res/values-en-rCA/strings.xml
+++ b/packages/SystemUI/res/values-en-rCA/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth connected."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth device icon"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Click to configure device detail"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Click to see all devices"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Click to pair new device"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Configure device detail"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"See all devices"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Pair new device"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Battery percentage unknown."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Connected to <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Connected to <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Input"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Hearing aids"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Turning on…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Can\'t adjust brightness because it\'s being\n controlled by the top app"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Can\'t adjust brightness because it\'s being controlled by the top app"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Auto-rotate"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Auto-rotate screen"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Location"</string>
@@ -897,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitasking"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Use split screen with app on the right"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Use split screen with app on the left"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Switch to full screen"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Use full screen"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Use desktop view"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Switch to app on right or below while using split screen"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Switch to app on left or above while using split screen"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"During split screen: replace an app from one to another"</string>
@@ -984,6 +986,7 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Show low-priority notification icons"</string>
     <string name="other" msgid="429768510980739978">"Other"</string>
+    <string name="accessibility_qs_edit_toggle_tile_size_action" msgid="1485194410119733586">"toggle the tile\'s size"</string>
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"remove tile"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"add tile to the last position"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Move tile"</string>
@@ -1498,6 +1501,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"View recent apps"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Switch apps"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Done"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"Next"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"Try again!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Go back"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Swipe left or right using three fingers on your touchpad"</string>
@@ -1535,7 +1539,8 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"To view recent apps, swipe up and hold with three fingers on the touchpad"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"To view all your apps, press the action key on your keyboard"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Redacted"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Unlock to view"</string>
+    <string name="public_notification_single_line_text" msgid="3576190291791654933">"Unlock to view"</string>
+    <string name="redacted_otp_notification_single_line_text" msgid="5179964116354454118">"Unlock to view code"</string>
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Contextual education"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Use your touchpad to go back"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Swipe left or right using three fingers. Tap to learn more gestures."</string>
diff --git a/packages/SystemUI/res/values-en-rCA/tiles_states_strings.xml b/packages/SystemUI/res/values-en-rCA/tiles_states_strings.xml
index d62f2e5..e17eeb2 100644
--- a/packages/SystemUI/res/values-en-rCA/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-en-rCA/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Off"</item>
     <item msgid="5908720590832378783">"On"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Unavailable"</item>
+    <item msgid="6641673879029894995">"Off"</item>
+    <item msgid="5806682401126108403">"On"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index af0703c..1b36a7c 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth connected."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth device icon"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Click to configure device detail"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Click to see all devices"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Click to pair new device"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Battery percentage unknown."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Connected to <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Connected to <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Input"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Hearing aids"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Turning on…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Can\'t adjust brightness because it\'s being\n controlled by the top app"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Can\'t adjust brightness because it\'s being controlled by the top app"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Auto-rotate"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Auto-rotate screen"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Location"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> doesn’t support conversation features"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Feedback"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Dismiss"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Don\'t show as pinned"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Showing live updates"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Pinned notifications display live info from apps and always appear on the status bar and lock screen"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"These notifications can\'t be modified."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Call notifications can\'t be modified."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"This group of notifications cannot be configured here"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multi-tasking"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Use split screen with app on the right"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Use split screen with app on the left"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Switch to full screen"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Switch to the app on the right or below while using split screen"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Switch to the app on the left or above while using split screen"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"During split screen: Replace an app from one to another"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Show low-priority notification icons"</string>
     <string name="other" msgid="429768510980739978">"Other"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"remove tile"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"add tile to the last position"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Move tile"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"View recent apps"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Switch apps"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Done"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Try again."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Go back"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Swipe left or right using three fingers on your touchpad"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"To view recent apps, swipe up and hold with three fingers on the touchpad"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"To view all your apps, press the action key on your keyboard"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Redacted"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Unlock to view"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Contextual education"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Use your touchpad to go back"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Swipe left or right using three fingers. Tap to learn more gestures."</string>
diff --git a/packages/SystemUI/res/values-en-rGB/tiles_states_strings.xml b/packages/SystemUI/res/values-en-rGB/tiles_states_strings.xml
index d62f2e5..e17eeb2 100644
--- a/packages/SystemUI/res/values-en-rGB/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Off"</item>
     <item msgid="5908720590832378783">"On"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Unavailable"</item>
+    <item msgid="6641673879029894995">"Off"</item>
+    <item msgid="5806682401126108403">"On"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index af0703c..1b36a7c 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth connected."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth device icon"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Click to configure device detail"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Click to see all devices"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Click to pair new device"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Battery percentage unknown."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Connected to <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Connected to <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Input"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Hearing aids"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Turning on…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Can\'t adjust brightness because it\'s being\n controlled by the top app"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Can\'t adjust brightness because it\'s being controlled by the top app"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Auto-rotate"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Auto-rotate screen"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Location"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> doesn’t support conversation features"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Feedback"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Dismiss"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Don\'t show as pinned"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Showing live updates"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Pinned notifications display live info from apps and always appear on the status bar and lock screen"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"These notifications can\'t be modified."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Call notifications can\'t be modified."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"This group of notifications cannot be configured here"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multi-tasking"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Use split screen with app on the right"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Use split screen with app on the left"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Switch to full screen"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Switch to the app on the right or below while using split screen"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Switch to the app on the left or above while using split screen"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"During split screen: Replace an app from one to another"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Show low-priority notification icons"</string>
     <string name="other" msgid="429768510980739978">"Other"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"remove tile"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"add tile to the last position"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Move tile"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"View recent apps"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Switch apps"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Done"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Try again."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Go back"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Swipe left or right using three fingers on your touchpad"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"To view recent apps, swipe up and hold with three fingers on the touchpad"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"To view all your apps, press the action key on your keyboard"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Redacted"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Unlock to view"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Contextual education"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Use your touchpad to go back"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Swipe left or right using three fingers. Tap to learn more gestures."</string>
diff --git a/packages/SystemUI/res/values-en-rIN/tiles_states_strings.xml b/packages/SystemUI/res/values-en-rIN/tiles_states_strings.xml
index d62f2e5..e17eeb2 100644
--- a/packages/SystemUI/res/values-en-rIN/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Off"</item>
     <item msgid="5908720590832378783">"On"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Unavailable"</item>
+    <item msgid="6641673879029894995">"Off"</item>
+    <item msgid="5806682401126108403">"On"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index 0e15e45..fbf01b8 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth conectado"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ícono de dispositivo Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Haz clic para configurar los detalles del dispositivo"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Haz clic para ver todos los dispositivos"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Haz clic para vincular un dispositivo nuevo"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Se desconoce el porcentaje de la batería."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Conectado a <xliff:g id="BLUETOOTH">%s</xliff:g>"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Conectado a <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -255,7 +259,7 @@
     <string name="accessibility_not_connected" msgid="4061305616351042142">"No conectado"</string>
     <string name="data_connection_roaming" msgid="375650836665414797">"Roaming"</string>
     <string name="cell_data_off" msgid="4886198950247099526">"Desactivados"</string>
-    <string name="accessibility_airplane_mode" msgid="1899529214045998505">"Modo de avión"</string>
+    <string name="accessibility_airplane_mode" msgid="1899529214045998505">"Modo avión."</string>
     <string name="accessibility_vpn_on" msgid="8037549696057288731">"VPN activada"</string>
     <string name="accessibility_battery_level" msgid="5143715405241138822">"Batería <xliff:g id="NUMBER">%d</xliff:g> por ciento"</string>
     <string name="accessibility_battery_level_with_estimate" msgid="6548654589315074529">"Batería: <xliff:g id="PERCENTAGE">%1$d</xliff:g> por ciento; <xliff:g id="TIME">%2$s</xliff:g>"</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Entrada"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Audífonos"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Activando…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"La app superior controla el brillo,\npor lo que no se puede ajustar"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"La app superior controla el brillo,por lo que no se puede ajustar"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Giro automático"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Girar la pantalla automáticamente"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Ubicación"</string>
@@ -754,7 +758,7 @@
     <string name="qr_code_scanner_title" msgid="1938155688725760702">"Escáner de código QR"</string>
     <string name="qr_code_scanner_updating_secondary_label" msgid="8344598017007876352">"Actualizando"</string>
     <string name="status_bar_work" msgid="5238641949837091056">"Perfil de trabajo"</string>
-    <string name="status_bar_airplane" msgid="4848702508684541009">"Modo de avión"</string>
+    <string name="status_bar_airplane" msgid="4848702508684541009">"Modo avión"</string>
     <string name="status_bar_supervision" msgid="6735015942701134125">"Controles parentales"</string>
     <string name="zen_alarm_warning" msgid="7844303238486849503">"No oirás la próxima alarma a la(s) <xliff:g id="WHEN">%1$s</xliff:g>"</string>
     <string name="alarm_template" msgid="2234991538018805736">"a la(s) <xliff:g id="WHEN">%1$s</xliff:g>"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> no admite funciones de conversación"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Comentarios"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Descartar"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"No mostrar como fijado"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Se muestran las novedades en tiempo real"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Las notificaciones fijadas muestran información en tiempo real de las apps y siempre aparecen en la barra de estado y la pantalla de bloqueo"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"No se pueden modificar estas notificaciones."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"No se pueden modificar las notificaciones de llamada."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"No se puede configurar aquí este grupo de notificaciones"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Tareas múltiples"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Usar la pantalla dividida con la app a la derecha"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Usar la pantalla dividida con la app a la izquierda"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Cambiar a pantalla completa"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Ubicar la app a la derecha o abajo cuando usas la pantalla dividida"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Ubicar la app a la izquierda o arriba cuando usas la pantalla dividida"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Durante pantalla dividida: Reemplaza una app con otra"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Mostrar íconos de notificaciones con prioridad baja"</string>
     <string name="other" msgid="429768510980739978">"Otros"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"quitar tarjeta"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"agregar tarjeta a la última posición"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Mover la tarjeta"</string>
@@ -1329,7 +1335,7 @@
     <string name="see_all_networks" msgid="3773666844913168122">"Ver todo"</string>
     <string name="to_switch_networks_disconnect_ethernet" msgid="6698111101156951955">"Para cambiar de red, desconéctate de Ethernet"</string>
     <string name="wifi_scan_notify_message" msgid="3753839537448621794">"Para mejorar la experiencia con el dispositivo, las apps y los servicios pueden seguir buscando redes Wi-Fi en cualquier momento, incluso cuando la conexión Wi-Fi esté desactivada. Puedes cambiar este parámetro en la configuración de búsqueda de Wi-Fi. "<annotation id="link">"Cambiar"</annotation></string>
-    <string name="turn_off_airplane_mode" msgid="8425587763226548579">"Desactivar el modo de avión"</string>
+    <string name="turn_off_airplane_mode" msgid="8425587763226548579">"Desactivar el modo avión"</string>
     <string name="qs_tile_request_dialog_text" msgid="3501359944139877694">"<xliff:g id="APPNAME">%1$s</xliff:g> quiere agregar la siguiente tarjeta a la Configuración rápida"</string>
     <string name="qs_tile_request_dialog_add" msgid="4888460910694986304">"Agregar tarjeta"</string>
     <string name="qs_tile_request_dialog_not_add" msgid="4168716573114067296">"No agregar tarjeta"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Ver apps recientes"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Cambiar de app"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Listo"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Vuelve a intentarlo"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Atrás"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Desliza hacia la izquierda o la derecha con tres dedos en el panel táctil"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Para ver las apps recientes, desliza hacia arriba con tres dedos y mantén presionado el panel táctil"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Para ver todas las apps, presiona la tecla de acción en el teclado"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Oculto"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Desbloquea el dispositivo para ver"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Educación contextual"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Usa el panel táctil para ir hacia atrás"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Desliza hacia la izquierda o la derecha con tres dedos. Presiona para aprender más gestos."</string>
diff --git a/packages/SystemUI/res/values-es-rUS/tiles_states_strings.xml b/packages/SystemUI/res/values-es-rUS/tiles_states_strings.xml
index d835483..91f5f88 100644
--- a/packages/SystemUI/res/values-es-rUS/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Desactivado"</item>
     <item msgid="5908720590832378783">"Activado"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"No disponible"</item>
+    <item msgid="6641673879029894995">"No"</item>
+    <item msgid="5806682401126108403">"Sí"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index 1670ce6..0af9fbf 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth conectado"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Icono de dispositivo Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Haz clic para configurar la información del dispositivo"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Haz clic para ver todos los dispositivos"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Haz clic para emparejar un nuevo dispositivo"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Porcentaje de batería desconocido."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Conectado a <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Conectado a <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Entrada"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Audífonos"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Activando…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"No se puede ajustar el brillo porque la aplicación superior lo está\n controlando"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"No se puede ajustar el brillo porque la aplicación superior lo está controlando"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Giro automático"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Girar pantalla automáticamente"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Ubicación"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> no admite funciones de conversación"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Comentarios"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Cerrar"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"No mostrar como fijadas"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Se mostrarán las novedades en directo"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Las notificaciones fijadas muestran información en tiempo real de las aplicaciones y aparecen siempre en la barra de estado y en la pantalla de bloqueo"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Estas notificaciones no se pueden modificar."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Las notificaciones de llamada no se pueden modificar."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Este grupo de notificaciones no se puede configurar aquí"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitarea"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Usar la pantalla dividida con la aplicación a la derecha"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Usar la pantalla dividida con la aplicación a la izquierda"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Cambiar a pantalla completa"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Cambiar a la aplicación de la derecha o de abajo en pantalla dividida"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Cambiar a la app de la izquierda o de arriba en pantalla dividida"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Con pantalla dividida: reemplazar una aplicación por otra"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Mostrar iconos de notificaciones con prioridad baja"</string>
     <string name="other" msgid="429768510980739978">"Otros"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"quitar recuadro"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"añadir el recuadro a la última posición"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Mover recuadro"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Ver aplicaciones recientes"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Cambiar de aplicación"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Hecho"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Vuelve a intentarlo."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Atrás"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Desliza hacia la izquierda o la derecha con tres dedos en el panel táctil"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Para ver las aplicaciones recientes, desliza hacia arriba y mantén pulsado el panel táctil con tres dedos"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Para ver todas tus aplicaciones, pulsa la tecla de acción de tu teclado"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Oculta"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Desbloquea para ver"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Educación contextual"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Usa el panel táctil para volver atrás"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Desliza hacia la izquierda o hacia la derecha con tres dedos. Toca para aprender a usar más gestos."</string>
diff --git a/packages/SystemUI/res/values-es/tiles_states_strings.xml b/packages/SystemUI/res/values-es/tiles_states_strings.xml
index ea75e52..c5b6c2e 100644
--- a/packages/SystemUI/res/values-es/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-es/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Desactivado"</item>
     <item msgid="5908720590832378783">"Activado"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"No disponible"</item>
+    <item msgid="6641673879029894995">"Desactivado"</item>
+    <item msgid="5806682401126108403">"Activado"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml
index 445b540..bb77e96 100644
--- a/packages/SystemUI/res/values-et/strings.xml
+++ b/packages/SystemUI/res/values-et/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth on ühendatud."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth-seadme ikoon"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Klõpsake seadme üksikasjade konfigureerimiseks"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Kõigi seadmete kuvamiseks klõpsake"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Uue seadme sidumiseks klõpsake"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Aku laetuse protsent on teadmata."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Ühendatud: <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Ühendatud ülekandega <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Sisend"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Kuuldeaparaadid"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Sisselülitamine …"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Heledust ei saa reguleerida, kuna seda\n juhib ülemine rakendus"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Heledust ei saa reguleerida, kuna seda juhib ülemine rakendus"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Autom. pööramine"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Kuva automaatne pööramine"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Asukoht"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> ei toeta vestlusfunktsioone"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Tagasiside"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Loobu"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Ära kuva kinnitatuna"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Kuvatakse reaalajas värskendusi"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Kinnitatud märguanded näitavad rakendustest pärinevat reaalajas teavet ning kuvatakse alati olekuribal ja lukustuskuval"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Neid märguandeid ei saa muuta."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Kõnemärguandeid ei saa muuta."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Seda märguannete rühma ei saa siin seadistada"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitegumtöö"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Jagatud ekraanikuva kasutamine, rakendus kuvatakse paremal"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Jagatud ekraanikuva kasutamine, rakendus kuvatakse vasakul"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Täisekraanile lülitamine"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Paremale või alumisele rakendusele lülitamine jagatud ekraani ajal"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Vasakule või ülemisele rakendusele lülitamine jagatud ekraani ajal"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Ekraanikuva jagamise ajal: ühe rakenduse asendamine teisega"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Kuva madala prioriteediga märguande ikoonid"</string>
     <string name="other" msgid="429768510980739978">"Muu"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"paani eemaldamiseks"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"lisage paan viimasesse asukohta"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Teisalda paan"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Hiljutiste rakenduste vaatamine"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Rakenduste vahetamine"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Valmis"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Proovige uuesti!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Tagasi"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Pühkige puuteplaadil kolme sõrmega vasakule või paremale"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Hiljutiste rakenduste kuvamiseks pühkige puuteplaadil kolme sõrmega üles ja hoidke sõrmi puuteplaadil."</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Kõigi oma rakenduste kuvamiseks vajutage klaviatuuril toiminguklahvi"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Peidetud"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Vaatamiseks avage"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontekstipõhised õpetused"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Puuteplaadi kasutamine tagasiliikumiseks"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Pühkige kolme sõrmega vasakule või paremale. Puudutage liigutuste kohta lisateabe saamiseks."</string>
diff --git a/packages/SystemUI/res/values-et/tiles_states_strings.xml b/packages/SystemUI/res/values-et/tiles_states_strings.xml
index a9f0880..e9949bf 100644
--- a/packages/SystemUI/res/values-et/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-et/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Väljas"</item>
     <item msgid="5908720590832378783">"Sees"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Pole saadaval"</item>
+    <item msgid="6641673879029894995">"Väljas"</item>
+    <item msgid="5806682401126108403">"Sees"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-eu/strings.xml b/packages/SystemUI/res/values-eu/strings.xml
index 1f7d697..cb8e034 100644
--- a/packages/SystemUI/res/values-eu/strings.xml
+++ b/packages/SystemUI/res/values-eu/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetootha konektatuta."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth bidezko gailuaren ikonoa"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Gailuaren xehetasuna konfiguratzeko, sakatu hau"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Egin klik gailu guztiak ikusteko"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Egin klik beste gailu bat parekatzeko"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Bateriaren ehunekoa ezezaguna da."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g> gailura konektatuta."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Hona konektatuta: <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Sarrera"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Audifonoak"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Aktibatzen…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Ezin da doitu argitasuna,\ngaineko aplikazioak kontrolatzen duelako"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Ezin da doitu argitasuna,gaineko aplikazioak kontrolatzen duelako"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Biratze automatikoa"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Biratu pantaila automatikoki"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Kokapena"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> aplikazioak ez ditu onartzen elkarrizketetarako eginbideak"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Iritzia"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Baztertu"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Ez erakutsi ainguratutako gisa"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Zuzeneko informazioa dago ikusgai"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Ainguratutako jakinarazpenek istantean bistaratzen dute aplikazioetako informazioa, eta egoera-barran nahiz pantaila blokeatuan agertzen dira beti"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Jakinarazpen horiek ezin dira aldatu."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Deien jakinarazpenak ezin dira aldatu."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Jakinarazpen talde hau ezin da konfiguratu hemen"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Zeregin bat baino gehiago aldi berean exekutatzea"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Erabili pantaila zatitua eta ezarri aplikazio hau eskuinean"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Erabili pantaila zatitua eta ezarri aplikazio hau ezkerrean"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Aldatu pantaila osora"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Aldatu eskuineko edo beheko aplikaziora pantaila zatitua erabiltzean"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Aldatu ezkerreko edo goiko aplikaziora pantaila zatitua erabiltzean"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Pantaila zatituan zaudela, ordeztu aplikazio bat beste batekin"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Erakutsi lehentasun txikiko jakinarazpenen ikonoak"</string>
     <string name="other" msgid="429768510980739978">"Beste bat"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"kendu lauza"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"gehitu lauza azken posizioan"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Mugitu lauza"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Ikusi azkenaldiko aplikazioak"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Aldatu aplikazioa"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Eginda"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Saiatu berriro!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Egin atzera"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Pasatu 3 hatz ezkerrera edo eskuinera ukipen-panelean"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Azkenaldiko aplikazioak ikusteko, pasatu 3 hatz ukipen-panelean gora eta eduki sakatuta"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Aplikazio guztiak ikusteko, sakatu teklatuko ekintza-tekla"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Desitxuratuta"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Desblokeatu ikusteko"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Testuinguruaren araberako hezkuntza"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Erabili ukipen-panela atzera egiteko"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Pasatu 3 hatz ezkerrera edo eskuinera. Sakatu keinu gehiago ikasteko."</string>
diff --git a/packages/SystemUI/res/values-eu/tiles_states_strings.xml b/packages/SystemUI/res/values-eu/tiles_states_strings.xml
index 62bbc27..e47b658 100644
--- a/packages/SystemUI/res/values-eu/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-eu/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Desaktibatuta"</item>
     <item msgid="5908720590832378783">"Aktibatuta"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Ez dago erabilgarri"</item>
+    <item msgid="6641673879029894995">"Desaktibatuta"</item>
+    <item msgid="5806682401126108403">"Aktibatuta"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index c9392e3..7fd5551 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"بلوتوث متصل است."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"نماد دستگاه بلوتوث"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"برای پیکربندی جزئیات دستگاه کلیک کنید"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"برای دیدن همه دستگاه‌ها، کلیک کنید"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"برای جفت کردن دستگاه جدید، کلیک کنید"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"درصد شارژ باتری مشخص نیست."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"به <xliff:g id="BLUETOOTH">%s</xliff:g> متصل شد."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"به <xliff:g id="CAST">%s</xliff:g> متصل شد."</string>
@@ -306,7 +310,7 @@
     <string name="pair_new_bluetooth_devices" msgid="4601767620843349645">"جفت کردن دستگاه جدید"</string>
     <string name="see_all_bluetooth_devices" msgid="1761596816620200433">"دیدن همه"</string>
     <string name="turn_on_bluetooth" msgid="5681370462180289071">"استفاده از بلوتوث"</string>
-    <string name="quick_settings_bluetooth_device_connected" msgid="7884777006729260996">"متصل"</string>
+    <string name="quick_settings_bluetooth_device_connected" msgid="7884777006729260996">"وصل‌شده"</string>
     <string name="quick_settings_bluetooth_device_audio_sharing" msgid="1496358082943301670">"اشتراک صدا"</string>
     <string name="quick_settings_bluetooth_device_audio_sharing_or_switch_active" msgid="8680997711431098238">"از اشتراک صدا پشتیبانی می‌کند"</string>
     <string name="quick_settings_bluetooth_device_saved" msgid="7549938728928069477">"ذخیره‌شده"</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"ورودی"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"سمعک"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"روشن کردن…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"نمی‌توان روشنایی را تنظیم کرد زیرا\n برنامه بالایی آن را کنترل می‌کند"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"نمی‌توان روشنایی را تنظیم کرد زیرا برنامه بالایی آن را کنترل می‌کند"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"چرخش خودکار"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"چرخش خودکار صفحه‌نمایش"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"مکان"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> از ویژگی‌های مکالمه پشتیبانی نمی‌کند"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"بازخورد"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"بستن"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"سنجاق‌شده نشان داده نشود"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"نمایش «به‌روزرسانی‌های زنده»"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"اعلان‌های سنجاق‌شده اطلاعات زنده را از برنامه‌ها نمایش می‌دهند، و همیشه در نوار وضعیت و صفحه قفل نشان داده می‌شوند"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"این اعلان‌ها قابل اصلاح نیستند."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"این اعلان‌ها قابل‌اصلاح نیستند."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"نمی‌توانید این گروه اعلان‌ها را در اینجا پیکربندی کنید"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"چندوظیفگی"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"استفاده از صفحهٔ دونیمه با قرار گرفتن برنامه در سمت راست"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"استفاده از صفحهٔ دونیمه با قرار گرفتن برنامه در سمت چپ"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"رفتن به حالت تمام‌صفحه"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"رفتن به برنامه سمت راست یا پایین درحین استفاده از صفحهٔ دونیمه"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"رفتن به برنامه سمت چپ یا بالا درحین استفاده از صفحهٔ دونیمه"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"درحین صفحهٔ دونیمه: برنامه‌ای را با دیگری جابه‌جا می‌کند"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"نمایش نمادهای اعلان کم‌اهمیت"</string>
     <string name="other" msgid="429768510980739978">"موارد دیگر"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"برداشتن کاشی"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"افزودن کاشی به آخرین جایگاه"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"انتقال کاشی"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"مشاهده برنامه‌های اخیر"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"جابه‌جایی بین برنامه‌ها"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"تمام"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"دوباره امتحان کنید!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"برگشتن"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"با سه انگشت روی صفحه لمسی تند به چپ یا راست بکشید."</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"برای مشاهده برنامه‌های اخیر، در صفحه لمسی با سه انگشت تند به‌بالا بکشید و نگه دارید"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"برای مشاهده همه برنامه‌ها، دکمه کنش در صفحه‌کلید را فشار دهید"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"محوشده"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"برای مشاهده، قفل را باز کنید"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"آموزش زمینه‌ای"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"برای برگشتن از صفحه لمسی استفاده کنید"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"با سه انگشت تند به‌چپ یا راست بکشید. برای آشنایی با اشاره‌های بیشتر، تک‌ضرب بزنید."</string>
diff --git a/packages/SystemUI/res/values-fa/tiles_states_strings.xml b/packages/SystemUI/res/values-fa/tiles_states_strings.xml
index edc2d41..1025f3d 100644
--- a/packages/SystemUI/res/values-fa/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-fa/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"خاموش"</item>
     <item msgid="5908720590832378783">"روشن"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"دردسترس نیست"</item>
+    <item msgid="6641673879029894995">"خاموش"</item>
+    <item msgid="5806682401126108403">"روشن"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index 96162b2..647134f 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -247,8 +247,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth yhdistetty."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth-laitekuvake"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Määritä laitteen asetukset klikkaamalla"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Katso kaikki laitteet klikkaamalla"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Muodosta uusi laitepari klikkaamalla"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Akun varaustaso ei tiedossa."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Yhteys: <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Yhdistetty kohteeseen <xliff:g id="CAST">%s</xliff:g>"</string>
@@ -330,7 +334,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Syöttölaite"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Kuulolaitteet"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Otetaan käyttöön…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Kirkkautta ei voi säätää, koska \n ensisijainen sovellus ohjaa sitä"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Kirkkautta ei voi säätää, koska ensisijainen sovellus ohjaa sitä"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Automaattinen kääntö"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Käännä näyttöä automaattisesti."</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Sijainti"</string>
@@ -810,12 +814,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> ei tue keskusteluominaisuuksia"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Palaute"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Hylkää"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Älä näytä kiinnitettynä"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Näytetään livepäivitykset"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Kiinnitetyissä ilmoituksissa näytetään livetietoja sovelluksista, ja ilmoitukset näkyvät aina tilapalkissa ja lukitusnäytöllä"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Näitä ilmoituksia ei voi muokata"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Puheluilmoituksia ei voi muokata."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Tätä ilmoitusryhmää ei voi määrittää tässä"</string>
@@ -902,7 +903,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitaskaus"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Käytä jaettua näyttöä niin, että sovellus on oikealla"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Käytä jaettua näyttöä niin, että sovellus on vasemmalla"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Koko näytölle siirtyminen"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Vaihda sovellukseen oikealla tai alapuolella jaetussa näytössä"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Vaihda sovellukseen vasemmalla tai yläpuolella jaetussa näytössä"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Jaetun näytön aikana: korvaa sovellus toisella"</string>
@@ -989,6 +993,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Näytä vähemmän tärkeät ilmoituskuvakkeet"</string>
     <string name="other" msgid="429768510980739978">"Muu"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"poista kiekko"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"lisää laatta viimeiseen kohtaan"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Siirrä kiekkoa"</string>
@@ -1331,7 +1337,7 @@
     <string name="see_all_networks" msgid="3773666844913168122">"Näytä kaikki"</string>
     <string name="to_switch_networks_disconnect_ethernet" msgid="6698111101156951955">"Irrota Ethernet-johto, jos haluat vaihtaa verkkoa"</string>
     <string name="wifi_scan_notify_message" msgid="3753839537448621794">"Laitteen käyttökokemuksen parantamiseksi sovellukset ja palvelut voivat hakea Wi-Fi-verkkoja myös silloin, kun Wi-Fi on pois päältä. Voit muuttaa asetusta Wi-Fi-haun asetuksissa. "<annotation id="link">"Muuta"</annotation></string>
-    <string name="turn_off_airplane_mode" msgid="8425587763226548579">"Laita lentokonetila pois päältä"</string>
+    <string name="turn_off_airplane_mode" msgid="8425587763226548579">"Lentokonetila pois"</string>
     <string name="qs_tile_request_dialog_text" msgid="3501359944139877694">"<xliff:g id="APPNAME">%1$s</xliff:g> haluaa lisätä seuraavan laatan pika-asetuksiin"</string>
     <string name="qs_tile_request_dialog_add" msgid="4888460910694986304">"Lisää laatta"</string>
     <string name="qs_tile_request_dialog_not_add" msgid="4168716573114067296">"Älä lisää laattaa"</string>
@@ -1503,6 +1509,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Katso viimeisimmät sovellukset"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Vaihda sovellusta"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Valmis"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Yritä uudelleen."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Takaisin"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Pyyhkäise kosketuslevyllä vasemmalle tai oikealle kolmella sormella"</string>
@@ -1540,7 +1548,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Näet äskeiset sovellukset, kun pyyhkäiset ylös ja pidät kosketuslevyä painettuna kolmella sormella."</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Jos haluat nähdä kaikki sovellukset, paina näppäimistön toimintonäppäintä"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Sensuroitu"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Avaa lukitus ja katso tiedot"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontekstuaalinen koulutus"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Takaisin siirtyminen kosketuslevyn avulla"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Pyyhkäise vasemmalle tai oikealle kolmella sormella. Lue lisää eleistä napauttamalla."</string>
diff --git a/packages/SystemUI/res/values-fi/tiles_states_strings.xml b/packages/SystemUI/res/values-fi/tiles_states_strings.xml
index 6b1a8ed..5452f26 100644
--- a/packages/SystemUI/res/values-fi/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-fi/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Pois päältä"</item>
     <item msgid="5908720590832378783">"Päällä"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Ei saatavilla"</item>
+    <item msgid="6641673879029894995">"Pois päältä"</item>
+    <item msgid="5806682401126108403">"Päällä"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index 8fd2ed2..299f5a5 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth connecté"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Icône de l\'appareil Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Cliquez pour configurer les détails de l\'appareil"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Cliquez ici pour voir tous les appareils"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Cliquez ici pour associer un nouvel appareil"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Pourcentage de la pile inconnu."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Connecté à : <xliff:g id="BLUETOOTH">%s</xliff:g>"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Connecté à <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Entrée"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Prothèses auditives"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Activation en cours…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Impossible de régler la luminosité, car elle est\n contrôlée par l\'appli principale"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Impossible de régler la luminosité, car elle est contrôlée par l\'appli principale"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Rotation auto"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Rotation automatique de l\'écran"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Localisation"</string>
@@ -506,7 +510,7 @@
     <string name="communal_tutorial_indicator_text" msgid="4503010353591430123">"Balayer l\'écran vers la gauche pour démarrer le tutoriel communautaire"</string>
     <string name="cta_tile_button_to_open_widget_editor" msgid="3871562362382963878">"Personnaliser"</string>
     <string name="cta_tile_button_to_dismiss" msgid="3377597875997861754">"Fermer"</string>
-    <string name="cta_label_to_edit_widget" msgid="6496885074209203756">"Ajouter, retirer et réorganiser vos widgets dans cet espace"</string>
+    <string name="cta_label_to_edit_widget" msgid="6496885074209203756">"Ajouter, retirer et réorganiser vos widgets dans cet espace"</string>
     <string name="cta_label_to_open_widget_picker" msgid="3874946756976360699">"Ajouter plus de widgets"</string>
     <string name="popup_on_dismiss_cta_tile_text" msgid="8292501780996070019">"Appuyez longuement pour personnaliser les widgets"</string>
     <string name="button_to_configure_widgets_text" msgid="4191862850185256901">"Personnaliser les widgets"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> ne prend pas en charge les fonctionnalités de conversation"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Commentaires"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Fermer"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Ne pas afficher comme épinglé"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Affichage des mises à jour en direct"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Les notifications épinglées affichent des informations en direct des applis et apparaissent toujours sur la barre d\'état et l\'écran de verrouillage"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Ces notifications ne peuvent pas être modifiées"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Les notifications d\'appel ne peuvent pas être modifiées."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Ce groupe de notifications ne peut pas être configuré ici"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitâche"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Utiliser l\'Écran divisé avec l\'appli à droite"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Utiliser l\'Écran divisé avec l\'appli à gauche"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Passer au mode plein écran"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Passer à l\'appli à droite ou en dessous avec l\'Écran divisé"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Passer à l\'appli à gauche ou au-dessus avec l\'Écran divisé"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"En mode d\'écran divisé : remplacer une appli par une autre"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Afficher les icônes de notification de faible priorité"</string>
     <string name="other" msgid="429768510980739978">"Autre"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"retirer la tuile"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"Ajouter une tuile à la dernière position"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Déplacer la tuile"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Afficher les applis récentes"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Changer d\'appli"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"OK"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Réessayez!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Retour"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Balayez votre pavé tactile vers la gauche ou vers la droite avec trois doigts"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Pour afficher les applis récentes, balayez l\'écran vers le haut avec trois doigts sur le pavé tactile et maintenez-les en place"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Pour afficher toutes vos applis, appuyez sur la touche d\'action de votre clavier"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Supprimé"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Déverrouiller pour afficher"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Enseignement contextuel"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Utiliser votre pavé tactile pour revenir en arrière"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Balayez vers la gauche ou vers la droite avec trois doigts. Touchez pour apprendre d\'autres gestes."</string>
diff --git a/packages/SystemUI/res/values-fr-rCA/tiles_states_strings.xml b/packages/SystemUI/res/values-fr-rCA/tiles_states_strings.xml
index 4734d86..e9d3c48 100644
--- a/packages/SystemUI/res/values-fr-rCA/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Désactivée"</item>
     <item msgid="5908720590832378783">"Activée"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Non accessible"</item>
+    <item msgid="6641673879029894995">"Désactivé"</item>
+    <item msgid="5806682401126108403">"Activé"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index 89002d4..a4fa4d0 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth connecté"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Icône de l\'appareil Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Cliquer pour configurer les détails de l\'appareil"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Cliquer pour afficher tous les appareils"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Cliquer pour associer un nouvel appareil"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Configurez les détails de l\'appareil"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Voir tous les appareils"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Associer un nouvel appareil"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Pourcentage de la batterie inconnu."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Connecté à : <xliff:g id="BLUETOOTH">%s</xliff:g>"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Connecté à <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Entrée"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Appareils auditifs"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Activation…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Impossible d\'ajuster la luminosité, car celle-ci\n est contrôlée par l\'appli principale"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Impossible d\'ajuster la luminosité, car celle-ci est contrôlée par l\'appli principale"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Rotation auto"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Rotation automatique de l\'écran"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Localisation"</string>
@@ -354,7 +355,7 @@
     <string name="quick_settings_inversion_label" msgid="3501527749494755688">"Inversion des couleurs"</string>
     <string name="quick_settings_color_correction_label" msgid="5636617913560474664">"Correction des couleurs"</string>
     <string name="quick_settings_font_scaling_label" msgid="5289001009876936768">"Taille de la police"</string>
-    <string name="quick_settings_more_user_settings" msgid="7634653308485206306">"Gérer utilisateurs"</string>
+    <string name="quick_settings_more_user_settings" msgid="7634653308485206306">"Gérer les utilisateurs"</string>
     <string name="quick_settings_done" msgid="2163641301648855793">"OK"</string>
     <string name="quick_settings_close_user_panel" msgid="5599724542275896849">"Fermer"</string>
     <string name="quick_settings_connected" msgid="3873605509184830379">"Connecté"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> n\'est pas compatible avec les fonctionnalités de conversation"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Commentaires"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Ignorer"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Ne pas afficher comme épinglé"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Affichage des infos en direct"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Les notifications épinglées affichent des informations en direct provenant d\'applis et apparaissent toujours dans la barre d\'état et sur l\'écran de verrouillage"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Impossible de modifier ces notifications."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Impossible de modifier les notifications d\'appel."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Vous ne pouvez pas configurer ce groupe de notifications ici"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitâche"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Utiliser l\'écran partagé avec l\'appli sur la droite"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Utiliser l\'écran partagé avec l\'appli sur la gauche"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Passer en plein écran"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Utiliser le mode plein écran"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Utiliser l\'affichage sur ordinateur"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Passer à l\'appli à droite ou en dessous avec l\'écran partagé"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Passez à l\'appli à gauche ou au-dessus avec l\'écran partagé"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"En mode écran partagé : Remplacer une appli par une autre"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Afficher les icônes de notification à faible priorité"</string>
     <string name="other" msgid="429768510980739978">"Autre"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"supprimer le bloc"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"ajouter le bloc à la dernière position"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Déplacer le bloc"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Afficher les applis récentes"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Passer d\'une application à l\'autre"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"OK"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"Suivant"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"Essayez encore."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Retour"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Balayez vers la gauche ou la droite avec trois doigts sur le pavé tactile"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Pour afficher les applis récentes, balayez vers le haut avec trois doigts sur le pavé tactile et maintenez-les."</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Pour afficher toutes vos applis, appuyez sur la touche d\'action de votre clavier"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Masqué"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Déverrouiller pour afficher"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Éducation contextuelle"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Utilisez votre pavé tactile pour revenir en arrière"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Balayez vers la gauche ou la droite en utilisant trois doigts. Appuyez pour apprendre d\'autres gestes."</string>
diff --git a/packages/SystemUI/res/values-fr/tiles_states_strings.xml b/packages/SystemUI/res/values-fr/tiles_states_strings.xml
index cefc9a2..52c7c0c 100644
--- a/packages/SystemUI/res/values-fr/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-fr/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Désactivé"</item>
     <item msgid="5908720590832378783">"Activé"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Indisponible"</item>
+    <item msgid="6641673879029894995">"Désactivé"</item>
+    <item msgid="5806682401126108403">"Activé"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-gl/strings.xml b/packages/SystemUI/res/values-gl/strings.xml
index 4e801ee..82ba5dc 100644
--- a/packages/SystemUI/res/values-gl/strings.xml
+++ b/packages/SystemUI/res/values-gl/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth conectado"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Icona do dispositivo Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Facer clic para configurar os detalles do dispositivo"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Facer clic para ver todos os dispositivos"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Facer clic para vincular un novo dispositivo"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Descoñécese a porcentaxe da batería."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Conectado a <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Dispositivo conectado: <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Entrada"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Audiófonos"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Activando…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Non se pode axustar o brillo\n porque o controla a aplicación principal"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Non se pode axustar o brillo porque o controla a aplicación principal"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Xirar automaticamente"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Xirar pantalla automaticamente"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Localización"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> non admite funcións de conversa"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Comentarios"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Pechar"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Non mostrar como fixadas"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Mostrando novidades en tempo real"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"As notificacións fixadas mostrarán a información en tempo real das aplicacións e aparecerán sempre na barra de estado e na pantalla de bloqueo"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Estas notificacións non se poden modificar."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"As notificacións de chamadas non se poden modificar."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Aquí non se pode configurar este grupo de notificacións"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitarefa"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Usar pantalla dividida coa aplicación na dereita"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Usar pantalla dividida coa aplicación na esquerda"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Cambiar a pantalla completa"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Cambiar á aplicación da dereita ou de abaixo coa pantalla dividida"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Cambiar á aplicación da esquerda ou de arriba coa pantalla dividida"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"En modo de pantalla dividida: Substituír unha aplicación por outra"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Mostrar iconas das notificacións que teñan baixa prioridade"</string>
     <string name="other" msgid="429768510980739978">"Outros"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"quitar tarxeta"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"engadir o atallo á última posición"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Mover tarxeta"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Consultar aplicacións recentes"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Cambiar de aplicación"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Feito"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Téntao de novo."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Volver"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Pasa tres dedos cara á esquerda ou cara á dereita no panel táctil"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Para ver as aplicacións recentes, pasa tres dedos cara arriba no panel táctil e mantenos premidos"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Para ver todas as aplicacións, preme a tecla de acción do teclado"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Contido ocultado"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Desbloquea o dispositivo para ver o contido"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Información contextual"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Usa o panel táctil para volver"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Pasa tres dedos cara á esquerda ou cara á dereita. Toca para obter máis información sobre os xestos."</string>
diff --git a/packages/SystemUI/res/values-gl/tiles_states_strings.xml b/packages/SystemUI/res/values-gl/tiles_states_strings.xml
index bfd6a12..7cf5f82 100644
--- a/packages/SystemUI/res/values-gl/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-gl/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Opción desactivada"</item>
     <item msgid="5908720590832378783">"Opción activada"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Non dispoñible"</item>
+    <item msgid="6641673879029894995">"Desactivado"</item>
+    <item msgid="5806682401126108403">"Activado"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-gu/strings.xml b/packages/SystemUI/res/values-gu/strings.xml
index 08e1398..1fa46e6 100644
--- a/packages/SystemUI/res/values-gu/strings.xml
+++ b/packages/SystemUI/res/values-gu/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"બ્લૂટૂથ કનેક્ટ થયું."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"બ્લૂટૂથ ડિવાઇસનું આઇકન"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"ડિવાઇસની વિગત ગોઠવવા માટે ક્લિક કરો"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"બધા ડિવાઇસ જોવા માટે ક્લિક કરો"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"નવું ડિવાઇસ જોડવા માટે ક્લિક કરો"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"બૅટરીની ટકાવારી અજાણ છે."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g> થી કનેક્ટ થયાં."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> થી કનેક્ટ કરેલ."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"ઇનપુટ"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"સાંભળવામાં મદદ આપતા યંત્રો"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"ચાલુ કરી રહ્યાં છીએ…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"બ્રાઇટનેસ ગોઠવી શકતા નથી કારણ કે તે\n લોકપ્રિય ઍપ દ્વારા નિયંત્રિત કરવામાં આવી રહી છે"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"બ્રાઇટનેસ ગોઠવી શકતા નથી કારણ કે તે લોકપ્રિય ઍપ દ્વારા નિયંત્રિત કરવામાં આવી રહી છે"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"ઑટો રોટેટ"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"ઑટો રોટેટ સ્ક્રીન"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"લોકેશન"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> વાતચીતની સુવિધાઓને સપોર્ટ આપતી નથી"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"પ્રતિસાદ"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"છોડી દો"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"પિન કરેલા તરીકે બતાવશો નહીં"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"લાઇવ અપડેટ બતાવી રહ્યાં છીએ"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"પિન કરેલા નોટિફિકેશન ઍપમાંથી લાઇવ નોટિફિકેશન બતાવે છે અને હંમેશાં સ્ટેટસ બાર અને લૉક સ્ક્રીન પર દેખાય છે"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"આ નોટિફિકેશનમાં કોઈ ફેરફાર થઈ શકશે નહીં."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"કૉલના નોટિફિકેશનમાં કોઈ ફેરફાર કરી શકાતો નથી."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"નોટિફિકેશનના આ ગ્રૂપની ગોઠવણી અહીં કરી શકાશે નહીં"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"એકસાથે એકથી વધુ કાર્યો કરવા"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"હાલની ઍપને જમણી બાજુએ રાખીને વિભાજિત સ્ક્રીનનો ઉપયોગ કરો"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"હાલની ઍપને ડાબી બાજુએ રાખીને વિભાજિત સ્ક્રીનનો ઉપયોગ કરો"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"પૂર્ણ સ્ક્રીન પર સ્વિચ કરો"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"વિભાજિત સ્ક્રીનનો ઉપયોગ કરતી વખતે જમણી બાજુ કે નીચેની ઍપ પર સ્વિચ કરો"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"વિભાજિત સ્ક્રીનનો ઉપયોગ કરતી વખતે ડાબી બાજુની કે ઉપરની ઍપ પર સ્વિચ કરો"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"વિભાજિત સ્ક્રીન દરમિયાન: એક ઍપને બીજી ઍપમાં બદલો"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"ઓછી પ્રાધાન્યતાનું નોટિફિકેશન આઇકન બતાવો"</string>
     <string name="other" msgid="429768510980739978">"અન્ય"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"ટાઇલ કાઢી નાખો"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"છેલ્લા સ્થાનમાં ટાઇલ ઉમેરો"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"ટાઇલ ખસેડો"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"તાજેતરની ઍપ જુઓ"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"ઍપ સ્વિચ કરો"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"થઈ ગયું"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"ફરી પ્રયાસ કરો!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"પાછા જાઓ"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"તમારા ટચપૅડ પર ત્રણ આંગળીનો ઉપયોગ કરીને ડાબે કે જમણે સ્વાઇપ કરો"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"તાજેતરની ઍપ જોવા માટે, ટચપૅડ પર ત્રણ આંગળીઓ વડે ઉપર સ્વાઇપ કરો અને દબાવી રાખો"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"તમારી બધી ઍપ જોવા માટે, તમારા કીબોર્ડ પર ઍક્શન કી દબાવો"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"બદલાવેલું"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"જોવા માટે અનલૉક કરો"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"સંદર્ભાત્મક શિક્ષણ"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"પાછા જવા માટે તમારા ટચપૅડનો ઉપયોગ કરો"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"ત્રણ આંગળીનો ઉપયોગ કરીને ડાબે અથવા જમણે સ્વાઇપ કરો. સંકેતો વિશે વધુ જાણવા માટે ટૅપ કરો."</string>
diff --git a/packages/SystemUI/res/values-gu/tiles_states_strings.xml b/packages/SystemUI/res/values-gu/tiles_states_strings.xml
index c6e204d..a003106 100644
--- a/packages/SystemUI/res/values-gu/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-gu/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"બંધ છે"</item>
     <item msgid="5908720590832378783">"ચાલુ"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"અનુપલબ્ધ"</item>
+    <item msgid="6641673879029894995">"બંધ"</item>
+    <item msgid="5806682401126108403">"ચાલુ"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index d781585..be1ca7d 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"ब्लूटूथ कनेक्ट किया गया."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"ब्लूटूथ डिवाइस का आइकॉन"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"डिवाइस की जानकारी कॉन्फ़िगर करने के लिए क्लिक करें"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"\'सभी डिवाइस देखें\' पर क्लिक करें"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"\'नया डिवाइस जोड़ें\' पर क्लिक करें"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. डिवाइस की जानकारी कॉन्फ़िगर करें"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"सभी डिवाइस देखें"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"नया डिवाइस जोड़ें"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"इस बारे में जानकारी नहीं है कि अभी बैटरी कितने प्रतिशत चार्ज है."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g> से कनेक्ट किया गया."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> से कनेक्ट है."</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"इनपुट"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"कान की मशीनें"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"ब्लूटूथ चालू हो रहा है…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"स्क्रीन की रोशनी को एडजस्ट नहीं किया जा सकता, क्योंकि\n इसे टॉप ऐप्लिकेशन कंट्रोल कर रहा है"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"स्क्रीन की रोशनी को एडजस्ट नहीं किया जा सकता, क्योंकि इसे टॉप ऐप्लिकेशन कंट्रोल कर रहा है"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"ऑटो-रोटेट"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"स्क्रीन का अपने-आप दिशा बदलना (ऑटो-रोटेट)"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"जगह की जानकारी"</string>
@@ -536,7 +537,7 @@
     <string name="accessibility_action_label_expand_widget" msgid="9190524260912211759">"ऊंचाई बढ़ाएं"</string>
     <string name="accessibility_action_label_umo_show_next" msgid="8033581654789193281">"अगला दिखाएं"</string>
     <string name="accessibility_action_label_umo_show_previous" msgid="5935831384525173810">"पिछला दिखाएं"</string>
-    <string name="communal_widgets_disclaimer_title" msgid="1150954395585308868">"लॉक स्क्रीन विजेट"</string>
+    <string name="communal_widgets_disclaimer_title" msgid="1150954395585308868">"लॉक स्क्रीन के विजेट"</string>
     <string name="communal_widgets_disclaimer_text" msgid="1423545475160506349">"किसी विजेट से कोई ऐप्लिकेशन खोलने के लिए, आपको अपनी पहचान की पुष्टि करनी होगी. ध्यान रखें कि आपके टैबलेट के लॉक होने पर भी, कोई व्यक्ति विजेट देख सकता है. ऐसा हो सकता है कि कुछ विजेट, लॉक स्क्रीन पर दिखाने के लिए न बने हों. इन्हें लॉक स्क्रीन पर जोड़ना असुरक्षित हो सकता है."</string>
     <string name="communal_widgets_disclaimer_button" msgid="4423059765740780753">"ठीक है"</string>
     <string name="accessibility_glanceable_hub_to_dream_button" msgid="7552776300297055307">"स्क्रीन सेवर दिखाने का बटन"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> पर बातचीत की सुविधाएं काम नहीं करतीं"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"सुझाव/राय दें या शिकायत करें"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"खारिज करें"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"पिन किए गए लाइव अपडेट न दिखाएं"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"लाइव अपडेट दिखाए जा रहे हैं"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"पिन की गई सूचनाएं, ऐप्लिकेशन से मिलने वाली जानकारी रीयल-टाइम में दिखाती हैं. ये सूचनाएं, स्टेटस बार और लॉक स्क्रीन पर दिखती हैं"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"ये सूचनाएं नहीं बदली जा सकती हैं."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"कॉल से जुड़ी सूचनाओं को ब्लॉक नहीं किया जा सकता."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"सूचनाओं के इस समूह को यहां कॉन्फ़िगर नहीं किया जा सकता"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"मल्टीटास्किंग (एक साथ कई काम करना)"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"स्प्लिट स्क्रीन की सुविधा चालू करें और इस ऐप्लिकेशन को दाईं ओर दिखाएं"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"स्प्लिट स्क्रीन की सुविधा चालू करें और इस ऐप्लिकेशन को बाईं ओर दिखाएं"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"फ़ुल स्क्रीन पर स्विच करें"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"फ़ुल स्क्रीन मोड का इस्तेमाल करें"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"डेस्कटॉप व्यू मोड का इस्तेमाल करें"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"स्प्लिट स्क्रीन पर, दाईं ओर या नीचे के ऐप पर स्विच करने के लिए"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"स्प्लिट स्क्रीन पर, बाईं ओर या ऊपर के ऐप पर स्विच करने के लिए"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"स्प्लिट स्क्रीन के दौरान: एक ऐप्लिकेशन को दूसरे ऐप्लिकेशन से बदलें"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"कम प्राथमिकता वाली सूचना के आइकॉन दिखाएं"</string>
     <string name="other" msgid="429768510980739978">"अन्य"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"टाइल हटाएं"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"आखिरी जगह पर टाइल जोड़ें"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"टाइल को किसी और पोज़िशन पर ले जाएं"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"हाल ही में इस्तेमाल किए गए ऐप्लिकेशन देखें"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"ऐप्लिकेशन के बीच स्विच करें"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"हो गया"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"आगे बढ़ें"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"फिर से कोशिश करें!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"वापस जाएं"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"अपने टचपैड पर तीन उंगलियों से बाईं या दाईं ओर स्वाइप करें"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"हाल ही में इस्तेमाल हुए ऐप देखने के लिए, टचपैड पर तीन उंगलियों से ऊपर की ओर स्वाइप करके दबाकर रखें"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"सभी ऐप्लिकेशन देखने के लिए, कीबोर्ड पर ऐक्शन बटन दबाएं"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"जानकारी छिपाने के लिए सूचना में बदलाव किया गया"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"देखने के लिए डिवाइस अनलॉक करें"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"कॉन्टेक्स्ट के हिसाब से जानकारी"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"वापस जाने के लिए, अपने डिवाइस के टचपैड का इस्तेमाल करें"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"तीन उंगलियों से बाईं या दाईं ओर स्वाइप करें. ज़्यादा जेस्चर के बारे में जानने के लिए टैप करें."</string>
diff --git a/packages/SystemUI/res/values-hi/tiles_states_strings.xml b/packages/SystemUI/res/values-hi/tiles_states_strings.xml
index 65046cc..ae08316 100644
--- a/packages/SystemUI/res/values-hi/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-hi/tiles_states_strings.xml
@@ -152,7 +152,7 @@
     <item msgid="8998632451221157987">"चालू है"</item>
   </string-array>
   <string-array name="tile_states_controls">
-    <item msgid="8199009425335668294">"उपलब्ध नहीं है"</item>
+    <item msgid="8199009425335668294">"उपलब्ध नहीं हैं"</item>
     <item msgid="4544919905196727508">"बंद है"</item>
     <item msgid="3422023746567004609">"चालू है"</item>
   </string-array>
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"बंद है"</item>
     <item msgid="5908720590832378783">"चालू है"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"उपलब्ध नहीं है"</item>
+    <item msgid="6641673879029894995">"बंद है"</item>
+    <item msgid="5806682401126108403">"चालू है"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index 3a985a9..5c7ee24 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth povezan."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ikona Bluetooth uređaja"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Kliknite da biste konfigurirali pojedinosti o uređaju"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Kliknite za prikaz svih uređaja"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Kliknite da biste uparili novi uređaj"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Konfigurirajte pojedinosti o uređaju"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Pogledajte sve uređaje"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Upari novi uređaj"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Postotak baterije nije poznat."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Spojen na <xliff:g id="BLUETOOTH">%s</xliff:g> ."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Povezani ste sa sljedećim uređajem: <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Unos"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Slušna pomagala"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Uključivanje…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Svjetlina se ne može prilagoditi jer njome\n upravlja aplikacija pri vrhu"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Svjetlina se ne može prilagoditi jer njome upravlja aplikacija pri vrhu"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Automatsko zakretanje"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Automatsko zakretanje zaslona"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Lokacija"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> ne podržava značajke razgovora"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Povratne informacije"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Odbaci"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Ne prikazuj kao prikvačeno"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Prikazivanje obavijesti uživo"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Prikvačene obavijesti prikazuju informacije uživo iz aplikacija i uvijek se prikazuju na traci statusa i zaključanom zaslonu"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Te se obavijesti ne mogu izmijeniti."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Obavijesti o pozivima ne mogu se izmijeniti."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Ta se grupa obavijesti ne može konfigurirati ovdje"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Obavljanje više zadataka"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Upotreba podijeljenog zaslona s aplikacijom s desne strane"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Upotreba podijeljenog zaslona s aplikacijom s lijeve strane"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Prebacivanje na cijeli zaslon"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Upotreba prikaza na cijelom zaslonu"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Upotreba prikaza na računalu"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Prelazak na aplikaciju zdesna ili ispod uz podijeljeni zaslon"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Prelazak na aplikaciju slijeva ili iznad uz podijeljeni zaslon"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Tijekom podijeljenog zaslona: zamijeni aplikaciju drugom"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Prikaži ikone obavijesti niskog prioriteta"</string>
     <string name="other" msgid="429768510980739978">"Ostalo"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"uklanjanje kartice"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"dodavanje kartice na posljednji položaj"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Premještanje kartice"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Pregled nedavnih aplikacija"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Promjena aplikacije"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Gotovo"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"Dalje"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"Pokušajte ponovno!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Natrag"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Prijeđite ulijevo ili udesno trima prstima na dodirnoj podlozi"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Za prikaz nedavnih aplikacija prijeđite prema gore trima prstima i zadržite pritisak na dodirnoj podlozi"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Za prikaz svojih svih aplikacija pritisnite tipku za radnju na tipkovnici"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Redaktirano"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Otključajte za prikaz"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontekstualno obrazovanje"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Upotrijebite dodirnu podlogu za povratak"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Prijeđite ulijevo ili udesno trima prstima. Dodirnite da biste naučili više pokreta."</string>
diff --git a/packages/SystemUI/res/values-hr/tiles_states_strings.xml b/packages/SystemUI/res/values-hr/tiles_states_strings.xml
index 3b99019..51b667c 100644
--- a/packages/SystemUI/res/values-hr/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-hr/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Isključeno"</item>
     <item msgid="5908720590832378783">"Uključeno"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Nedostupno"</item>
+    <item msgid="6641673879029894995">"Isključeno"</item>
+    <item msgid="5806682401126108403">"Uključeno"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index 9b17567..421570c 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth csatlakoztatva."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth-eszköz ikon"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Kattintson az eszköz beállításainak megadásához"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Kattintson az összes eszköz megtekintéséhez"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Kattintson új eszköz párosításához"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Az akkumulátor töltöttségi szintje ismeretlen."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Csatlakoztatva a következőhöz: <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Csatlakozva a következőhöz: <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Bevitel"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Hallókészülék"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Bekapcsolás…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Nem lehet módosítani a fényerőt, mert a felső alkalmazás\n vezérli"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Nem lehet módosítani a fényerőt, mert a felső alkalmazás vezérli"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Automatikus elforgatás"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Automatikus képernyőforgatás"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Tartózkodási hely"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> nem támogatja a beszélgetési funkciókat"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Visszajelzés"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Elvetés"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Ne jelenjen meg kitűzöttként"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Friss hírek megjelenítése…"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"A kitűzött értesítések alkalmazásokból származó élő információkat jelenítenek meg, és mindig az állapotsoron és a lezárási képernyőn jelennek meg"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Ezeket az értesítéseket nem lehet módosítani."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"A hívásértesítéseket nem lehet módosítani."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Az értesítések jelen csoportját itt nem lehet beállítani"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitasking"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Osztott képernyő használata, az alkalmazás a jobb oldalon van"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Osztott képernyő használata, az alkalmazás a bal oldalon van"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Váltás teljes képernyőre"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Váltás a jobb oldalt, illetve lent lévő appra osztott képernyő esetén"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Váltás a bal oldalt, illetve fent lévő appra osztott képernyő esetén"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Osztott képernyőn: az egyik alkalmazás lecserélése egy másikra"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Alacsony prioritású értesítési ikonok mutatása"</string>
     <string name="other" msgid="429768510980739978">"Egyéb"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"mozaik eltávolításához"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"mozaik hozzáadása az utolsó pozícióhoz"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Mozaik áthelyezése"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Legutóbbi alkalmazások megtekintése"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Váltás az alkalmazások között"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Kész"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Próbálja újra"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Vissza"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Csúsztassa gyorsan három ujját balra vagy jobbra az érintőpadon."</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"A legutóbbi appokért csúsztasson lefelé három ujjal az érintőpadon, és tartsa lenyomva ujjait."</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Az összes alkalmazás megtekintéséhez nyomja meg a billentyűzet műveletbillentyűjét."</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Törölve"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Oldja fel a megtekintéshez"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontextusfüggő tájékoztató párbeszédpanel"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"A visszalépéshez használja az érintőpadot"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Csúsztatasson gyorsan három ujjal balra vagy jobbra. Koppintson a további kézmozdulatokért."</string>
diff --git a/packages/SystemUI/res/values-hu/tiles_states_strings.xml b/packages/SystemUI/res/values-hu/tiles_states_strings.xml
index 06bf4f2..c8f7b0f 100644
--- a/packages/SystemUI/res/values-hu/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-hu/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Ki"</item>
     <item msgid="5908720590832378783">"Be"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Nem áll rendelkezésre"</item>
+    <item msgid="6641673879029894995">"Ki"</item>
+    <item msgid="5806682401126108403">"Be"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-hy/strings.xml b/packages/SystemUI/res/values-hy/strings.xml
index 2aa72cc..aaedf56 100644
--- a/packages/SystemUI/res/values-hy/strings.xml
+++ b/packages/SystemUI/res/values-hy/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth-ը միացված է:"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth սարքի պատկերակ"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Սեղմեք՝ սարքի մանրամասները կազմաձևելու համար"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Սեղմեք՝ բոլոր սարքերը տեսնելու համար"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Սեղմեք՝ նոր սարք զուգակցելու համար"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Մարտկոցի լիցքի մակարդակն անհայտ է։"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Միացված է <xliff:g id="BLUETOOTH">%s</xliff:g>-ին:"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Միացված է <xliff:g id="CAST">%s</xliff:g>-ին:"</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Մուտքագրում"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Լսողական սարք"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Միացում…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Հնարավոր չէ կարգավորել պայծառությունը, քանի որ այն\n կառավարվում է գլխավոր հավելվածի կողմից"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Հնարավոր չէ կարգավորել պայծառությունը, քանի որ այն կառավարվում է գլխավոր հավելվածի կողմից"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Ինքնապտտում"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Ավտոմատ պտտել էկրանը"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Տեղորոշում"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածը զրույցի գործառույթներ չի աջակցում"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Կարծիք հայտնել"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Փակել"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Ցույց չտալ որպես ամրացված"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Ցուցադրվում են թարմացումներ իրական ժամանակում"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Ամրացված ծանուցումները ցուցադրում են հավելվածների ընթացիկ տեղեկությունները և միշտ հայտնվում են կարգավիճակի գոտում և կողպէկրանին"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Այս ծանուցումները չեն կարող փոփոխվել:"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Զանգերի մասին ծանուցումները հնարավոր չէ փոփոխել։"</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Ծանուցումների տվյալ խումբը հնարավոր չէ կարգավորել այստեղ"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Բազմա­խնդրու­թ­յուն"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Տրոհել էկրանը և տեղավորել այս հավելվածը աջ կողմում"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Տրոհել էկրանը և տեղավորել այս հավելվածը ձախ կողմում"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Անցնել լիաէկրան ռեժիմի"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Անցեք աջ կողմի կամ ներքևի հավելվածին տրոհված էկրանի միջոցով"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Անցեք աջ կողմի կամ վերևի հավելվածին տրոհված էկրանի միջոցով"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Տրոհված էկրանի ռեժիմում մեկ հավելվածը փոխարինել մյուսով"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Ցուցադրել ցածր առաջնահերթության ծանուցումների պատկերակները"</string>
     <string name="other" msgid="429768510980739978">"Այլ"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"հեռացնել սալիկը"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"ավելացնել սալիկը վերջին դիրքում"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Տեղափոխել սալիկը"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Դիտել վերջին հավելվածները"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Անցում մեկ հավելվածից մյուսին"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Պատրաստ է"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Նորից փորձեք։"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Հետ գնալ"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Հպահարթակի վրա երեք մատով սահեցրեք ձախ կամ աջ"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Վերջերս օգտագործված հավելվածները դիտելու համար երեք մատը սահեցրեք վերև և սեղմած պահեք"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Բոլոր հավելվածները դիտելու համար սեղմեք գործողության ստեղնը ստեղնաշարի վրա"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Կոդավորված"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Ապակողպել դիտելու համար"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Համատեքստային ուսուցում"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Օգտագործեք ձեր հպահարթակը՝ վերադառնալու համար"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Երեք մատը սահեցրեք ձախ կամ աջ։ Հպեք՝ ավելի շատ ժեստերի ծանոթանալու համար։"</string>
diff --git a/packages/SystemUI/res/values-hy/tiles_states_strings.xml b/packages/SystemUI/res/values-hy/tiles_states_strings.xml
index dc8bbb1..e7eee79 100644
--- a/packages/SystemUI/res/values-hy/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-hy/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Անջատված է"</item>
     <item msgid="5908720590832378783">"Միացված է"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Հասանելի չէ"</item>
+    <item msgid="6641673879029894995">"Անջատված է"</item>
+    <item msgid="5806682401126108403">"Միացված է"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index c57f40f..4990774 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth terhubung."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ikon perangkat Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Klik untuk mengonfigurasi detail perangkat"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Klik untuk melihat semua perangkat"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Klik untuk menyambungkan perangkat baru"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Persentase baterai tidak diketahui."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Terhubung ke <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Terhubung ke <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Input"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Alat bantu dengar"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Mengaktifkan…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Tidak dapat menyesuaikan kecerahan karena sedang\n dikontrol oleh aplikasi atas"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Tidak dapat menyesuaikan kecerahan karena sedang dikontrol oleh aplikasi atas"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Putar Otomatis"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Putar layar otomatis"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Lokasi"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak mendukung fitur percakapan"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Masukan"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Tutup"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Jangan tampilkan sebagai tersemat"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Menampilkan Info Terbaru Langsung"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Notifikasi yang disematkan menampilkan info terbaru dari aplikasi, serta selalu muncul di status bar dan layar kunci"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Notifikasi ini tidak dapat diubah."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Notifikasi panggilan tidak dapat diubah."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Grup notifikasi ini tidak dapat dikonfigurasi di sini"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitasking"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Gunakan layar terpisah dengan aplikasi di sebelah kanan"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Gunakan layar terpisah dengan aplikasi di sebelah kiri"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Beralih ke layar penuh"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Beralih ke aplikasi di bagian kanan atau bawah saat menggunakan layar terpisah"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Beralih ke aplikasi di bagian kiri atau atas saat menggunakan layar terpisah"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Dalam layar terpisah: ganti salah satu aplikasi dengan yang lain"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Tampilkan ikon notifikasi prioritas rendah"</string>
     <string name="other" msgid="429768510980739978">"Lainnya"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"menghapus kartu"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"menambahkan kartu ke posisi terakhir"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Pindahkan kartu"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Lihat aplikasi terbaru"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Beralih aplikasi"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Selesai"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Coba lagi"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Kembali"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Geser ke kiri atau kanan menggunakan tiga jari di touchpad"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Untuk melihat aplikasi terkini, geser ke atas dan tahan menggunakan tiga jari di touchpad"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Untuk melihat semua aplikasi, tekan tombol tindakan di keyboard"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Disamarkan"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Buka kunci untuk melihat"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Pendidikan kontekstual"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Gunakan touchpad untuk kembali"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Geser ke kiri atau kanan menggunakan tiga jari. Ketuk untuk mempelajari gestur lainnya."</string>
diff --git a/packages/SystemUI/res/values-in/tiles_states_strings.xml b/packages/SystemUI/res/values-in/tiles_states_strings.xml
index b48a587..182924d 100644
--- a/packages/SystemUI/res/values-in/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-in/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Nonaktif"</item>
     <item msgid="5908720590832378783">"Aktif"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Tidak tersedia"</item>
+    <item msgid="6641673879029894995">"Nonaktif"</item>
+    <item msgid="5806682401126108403">"Aktif"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-is/strings.xml b/packages/SystemUI/res/values-is/strings.xml
index ec284c2..3f8492a 100644
--- a/packages/SystemUI/res/values-is/strings.xml
+++ b/packages/SystemUI/res/values-is/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth tengt."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Tákn Bluetooth-tækis"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Smelltu til að stilla tækjaupplýsingar"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Smelltu til að sjá öll tæki"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Smelltu til að para nýtt tæki"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Staða rafhlöðu óþekkt."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Tengt við <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Tengt við <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Inntak"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Heyrnartæki"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Kveikir…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Ekki er hægt að breyta birtustiginu vegna þess að \n efsta forritið stjórnar því"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Ekki er hægt að breyta birtustiginu vegna þess að efsta forritið stjórnar því"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Sjálfvirkur snúningur"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Snúa skjá sjálfkrafa"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Staðsetning"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> styður ekki samtalseiginleika"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Ábendingar"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Loka"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Ekki sýna sem fest"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Sýna uppfærslur í beinni"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Festar tilkynningar sýna upplýsingar frá forritum í rauntíma og birtast ávallt á stöðustikunni og lásskjánum"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Ekki er hægt að breyta þessum tilkynningum."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Ekki er hægt að breyta tilkynningum um símtöl."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Ekki er hægt að stilla þessar tilkynningar hér"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Fjölvinnsla"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Notaðu skjáskiptingu fyrir forritið til hægri"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Notaðu skjáskiptingu fyrir forritið til vinstri"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Skipta yfir í allan skjáinn"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Skiptu í forrit til hægri eða fyrir neðan þegar skjáskipting er notuð"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Skiptu í forrit til vinstri eða fyrir ofan þegar skjáskipting er notuð"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Í skjáskiptingu: Skipta forriti út fyrir annað forrit"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Sýna tákn fyrir tilkynningar með litlum forgangi"</string>
     <string name="other" msgid="429768510980739978">"Annað"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"fjarlægja flís"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"bæta reit við síðustu stöðu"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Færa flís"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Sjá nýleg forrit"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Að skipta á milli forrita"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Lokið"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Reyndu aftur!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Til baka"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Strjúktu til hægri eða vinstri á snertifletinum með þremur fingrum"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Strjúktu upp og haltu með þremur fingrum á snertifletinum til að sjá nýleg forrit"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Ýttu á aðgerðalykilinn á lyklaborðinu til að sjá öll forritin þín"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Ritskoðað"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Taktu úr lás til að skoða"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Samhengismiðuð menntun"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Notaðu snertiflötinn til að fara til baka"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Strjúktu til vinstri eða hægri með þremur fingrum. Ýttu til að læra fleiri bendingar."</string>
diff --git a/packages/SystemUI/res/values-is/tiles_states_strings.xml b/packages/SystemUI/res/values-is/tiles_states_strings.xml
index 92f07b6..58ce0ae 100644
--- a/packages/SystemUI/res/values-is/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-is/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Slökkt"</item>
     <item msgid="5908720590832378783">"Kveikt"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Ekki tiltækt"</item>
+    <item msgid="6641673879029894995">"Slökkt"</item>
+    <item msgid="5806682401126108403">"Kveikt"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index 2391fe2..bb7202b 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth collegato."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Icona del dispositivo Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Fai clic per configurare i dettagli del dispositivo"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Fai clic per vedere tutti i dispositivi"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Fai clic per accoppiare un nuovo dispositivo"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Configura i dettagli del dispositivo"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Visualizza tutti i dispositivi"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Accoppia nuovo dispositivo"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Percentuale della batteria sconosciuta."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Connesso a <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Connesso a: <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Ingresso"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Apparecchi acustici"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Attivazione…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Impossibile regolare la luminosità perché è\n controllata dall\'app in primo piano"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Impossibile regolare la luminosità perché è controllata dall\'app in primo piano"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Rotazione automatica"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Rotazione automatica dello schermo"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Posizione"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> non supporta le funzionalità delle conversazioni"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Feedback"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Ignora"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Non mostrare come fissata"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Visualizzare gli aggiornamenti in tempo reale"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Le notifiche fissate mostrano informazioni in tempo reale provenienti dalle app e vengono sempre visualizzate nella barra di stato e nella schermata di blocco"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Impossibile modificare queste notifiche."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Impossibile modificare gli avvisi di chiamata."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Qui non è possibile configurare questo gruppo di notifiche"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitasking"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Utilizza lo schermo diviso con l\'app a destra"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Utilizza lo schermo diviso con l\'app a sinistra"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Passa alla modalità a schermo intero"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Utilizza la modalità a schermo intero"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Utilizza la visualizzazione desktop"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Passa all\'app a destra o sotto mentre usi lo schermo diviso"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Passa all\'app a sinistra o sopra mentre usi lo schermo diviso"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Con lo schermo diviso: sostituisci un\'app con un\'altra"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Mostra icone di notifiche con priorità bassa"</string>
     <string name="other" msgid="429768510980739978">"Altro"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"rimuovere il riquadro"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"aggiungere il riquadro all\'ultima posizione"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Sposta riquadro"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Visualizza app recenti"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Cambia app"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Fine"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"Avanti"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"Riprova."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Indietro"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Scorri verso sinistra o destra con tre dita sul touchpad"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Per visualizzare le app recenti, scorri verso l\'alto e tieni premuto con tre dita sul touchpad"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Per visualizzare tutte le tue app, premi il tasto azione sulla tastiera"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Oscurata"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Sblocca per visualizzare"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Istruzione contestuale"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Usa il touchpad per tornare indietro"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Scorri verso sinistra o destra con tre dita. Tocca per scoprire altri gesti."</string>
diff --git a/packages/SystemUI/res/values-it/tiles_states_strings.xml b/packages/SystemUI/res/values-it/tiles_states_strings.xml
index 7e11d0b..5c56d08 100644
--- a/packages/SystemUI/res/values-it/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-it/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Off"</item>
     <item msgid="5908720590832378783">"On"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Non disponibile"</item>
+    <item msgid="6641673879029894995">"Off"</item>
+    <item msgid="5806682401126108403">"On"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index 0d7a620..92fc203 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"‏Bluetooth מחובר."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"‏סמל של מכשיר Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"יש ללחוץ כדי להגדיר את פרטי המכשיר"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"אפשר ללחוץ כדי לראות את כל המכשירים"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"צריך ללחוץ כדי להתאים מכשיר חדש"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"אחוז טעינת הסוללה לא ידוע."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"התבצע חיבור אל <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"מחובר אל <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"קלט"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"מכשירי שמיעה"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"ההפעלה מתבצעת…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"לא ניתן להתאים את הבהירות כי היא\n נשלטת על ידי האפליקציה העליונה"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"לא ניתן להתאים את הבהירות כי היא נשלטת על ידי האפליקציה העליונה"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"סיבוב אוטומטי"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"סיבוב אוטומטי של המסך"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"מיקום"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"האפליקציה <xliff:g id="APP_NAME">%1$s</xliff:g> לא תומכת בתכונות השיחה"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"משוב"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"סגירה"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"לא להצמיד"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"מוצגים עדכונים בזמן אמת"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"בהתראות המוצמדות מוצג מידע בזמן אמת מאפליקציות, והן תמיד מופיעות בשורת הסטטוס ובמסך הנעילה"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"לא ניתן לשנות את ההתראות האלה."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"לא ניתן לשנות את התראות השיחה."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"לא ניתן להגדיר כאן את קבוצת ההתראות הזו"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"ריבוי משימות"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"שימוש במסך מפוצל כשהאפליקציה בצד ימין"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"שימוש במסך מפוצל כשהאפליקציה בצד שמאל"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"למסך מלא"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"מעבר לאפליקציה משמאל או למטה בזמן שימוש במסך מפוצל"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"מעבר לאפליקציה מימין או למעלה בזמן שימוש במסך מפוצל"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"כשהמסך מפוצל: החלפה בין אפליקציה אחת לאחרת"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"הצגת סמלי התראות בעדיפות נמוכה"</string>
     <string name="other" msgid="429768510980739978">"אחר"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"הסרת הלחצן"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"הוספת הלחצן במיקום האחרון"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"העברת הלחצן"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"הצגת האפליקציות האחרונות"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"מעבר בין אפליקציות"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"סיום"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"צריך לנסות שוב."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"חזרה"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"מחליקים שמאלה או ימינה עם שלוש אצבעות על לוח המגע"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"כדי לראות את האפליקציות האחרונות, מחליקים למעלה לוחצים לחיצה ארוכה עם שלוש אצבעות על לוח המגע"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"כדי לראות את כל האפליקציות, מקישים על מקש הפעולה במקלדת"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"מצונזר"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"צריך לבטל את הנעילה כדי לראות"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"חינוך בהתאם להקשר"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"אפשר להשתמש בלוח המגע כדי לחזור אחורה"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"מחליקים ימינה או שמאלה עם שלוש אצבעות. ניתן ללחוץ כדי לקבל מידע נוסף על התנועות."</string>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 7867633..3512271 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetoothに接続済み。"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth デバイスのアイコン"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"クリックしてデバイスの詳細を設定します"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"クリックすると、すべてのデバイスが表示されます"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"クリックすると、新しいデバイスをペア設定できます"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>。デバイスの詳細を設定してください"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"すべてのデバイスを表示"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"新しいデバイスとペア設定"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"バッテリー残量は不明です。"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g>に接続しました。"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g>に接続されています。"</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"入力"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"補聴器"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"ON にしています…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"明るさはトップ アプリによって\n制御されているため、調整できません"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"明るさはトップ アプリによって制御されているため、調整できません"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"自動回転"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"画面を自動回転します"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"位置情報"</string>
@@ -530,7 +531,7 @@
     <string name="accessibility_action_label_remove_widget" msgid="3373779447448758070">"ウィジェットを削除"</string>
     <string name="accessibility_action_label_place_widget" msgid="1914197458644168978">"選択したウィジェットを配置"</string>
     <string name="communal_widget_picker_title" msgid="1953369090475731663">"ロック画面ウィジェット"</string>
-    <string name="communal_widget_picker_description" msgid="490515450110487871">"タブレットがロックされていても、ロック画面のウィジェットは誰でも確認できます。"</string>
+    <string name="communal_widget_picker_description" msgid="490515450110487871">"タブレットがロックされていても、ロック画面のウィジェットは誰でも見ることができます。"</string>
     <string name="accessibility_action_label_unselect_widget" msgid="1041811747619468698">"ウィジェットの選択を解除する"</string>
     <string name="accessibility_action_label_shrink_widget" msgid="8259511040536438771">"高さを低くする"</string>
     <string name="accessibility_action_label_expand_widget" msgid="9190524260912211759">"高さを高くする"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g>は会話機能に対応していません"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"フィードバック"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"閉じる"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"固定表示しない"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"ライブ情報が表示されます"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"固定した通知にアプリのライブ情報が表示され、常にステータスバーとロック画面に表示されます"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"これらの通知は変更できません。"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"着信通知は変更できません。"</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"このグループの通知はここでは設定できません"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"マルチタスク"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"分割画面の使用（アプリを右側に表示）"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"分割画面の使用（アプリを左側に表示）"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"全画面表示に切り替える"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"全画面表示に切り替える"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"デスクトップ ビューを使用する"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"分割画面の使用時に右側または下部のアプリに切り替える"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"分割画面の使用時に左側または上部のアプリに切り替える"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"分割画面中: アプリを順に置換する"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"優先度の低い通知アイコンを表示"</string>
     <string name="other" msgid="429768510980739978">"その他"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"タイルを削除"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"タイルを最後の位置に追加する"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"タイルを移動"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"最近使ったアプリを表示する"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"アプリの切り替え"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"完了"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"次へ"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"もう一度お試しください。"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"戻る"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"タッチパッドを 3 本の指で左または右にスワイプします"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"最近使ったアプリを表示するには、3 本の指でタッチパッドを上にスワイプして長押しします"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"すべてのアプリを表示するには、キーボードのアクションキーを押してください"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"削除済み"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"表示するにはロックを解除してください"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"コンテキスト メニューに関する説明"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"タッチパッドを使用して、前の画面に戻る"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"3 本の指で左または右にスワイプします。ジェスチャーの詳細を確認するにはタップしてください。"</string>
diff --git a/packages/SystemUI/res/values-ja/tiles_states_strings.xml b/packages/SystemUI/res/values-ja/tiles_states_strings.xml
index 1282f57..cce5ceb 100644
--- a/packages/SystemUI/res/values-ja/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-ja/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"OFF"</item>
     <item msgid="5908720590832378783">"ON"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"使用不可"</item>
+    <item msgid="6641673879029894995">"OFF"</item>
+    <item msgid="5806682401126108403">"ON"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ka/strings.xml b/packages/SystemUI/res/values-ka/strings.xml
index b599220..3877fe7 100644
--- a/packages/SystemUI/res/values-ka/strings.xml
+++ b/packages/SystemUI/res/values-ka/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth დაკავშირებულია."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth მოწყობილობის ხატულა"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"დააწკაპუნეთ მოწყობილობის დეტალების კონფიგურირებისთვის"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"დააწკაპუნეთ ყველა მოწყობილობის სანახავად"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"დააწკაპუნეთ ახალი მოწყობილობის დასაწყვილებლად"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. მოწყობილობის დეტალის კონფიგურაცია"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"ყველა მოწყობილობის ნახვა"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"ახალი მოწყობილობის დაწყვილება"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"ბატარეის პროცენტული მაჩვენებელი უცნობია."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"დაკავშირებულია <xliff:g id="BLUETOOTH">%s</xliff:g>-თან."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"დაკავშირებულია მოწყობილობასთან: <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g>-ს არ აქვს მიმოწერის ფუნქციების მხარდაჭერა"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"გამოხმაურება"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"დახურვა"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"არ გამოჩნდეს ჩამაგრებულად"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"აჩვენებს განახლებებს რეალურ დროში"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"ჩამაგრებული შეტყობინებები რეალურ დროში აჩვენებს ინფორმაციას აპებიდან და ყოველთვის ჩანს სტატუსის ზოლსა და ჩაკეტილ ეკრანზე"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"ამ შეტყობინებების შეცვლა შეუძლებელია."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"ზარის შეტყობინებების შეცვლა შეუძლებელია."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"შეტყობინებების ამ ჯგუფის კონფიგურირება აქ შეუძლებელია"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"მრავალამოცანიანი რეჟიმი"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"ეკრანის გაყოფის გამოყენება აპზე მარჯვნივ"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"ეკრანის გაყოფის გამოყენება აპზე მარცხნივ"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"სრულ ეკრანზე გადართვა"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"სრული ეკრანის გამოყენება"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"დესკტოპის ხედის გამოყენება"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"ეკრანის გაყოფის გამოყენებისას აპზე მარჯვნივ ან ქვემოთ გადართვა"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"ეკრანის გაყოფის გამოყენებისას აპზე მარცხნივ ან ზემოთ გადართვა"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"ეკრანის გაყოფის დროს: ერთი აპის მეორით ჩანაცვლება"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"დაბალი პრიორიტეტის მქონე შეტყობინებების ხატულების ჩვენება"</string>
     <string name="other" msgid="429768510980739978">"სხვა"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"მოზაიკის ფილის წაშლა"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"მოზაიკის ფილის ბოლო პოზიციაზე დამატება"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"მოზაიკის გადატანა"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"ბოლო აპების ნახვა"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"აპების გადართვა"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"მზადაა"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"შემდეგი"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"ცადეთ ხელახლა!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"უკან დაბრუნება"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"თქვენს სენსორულ პანელზე სამი თითით გადაფურცლეთ მარცხნივ ან მარჯვნივ"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"ბოლო აპების სანახავად სენსორულ პანელზე სამი თითით გადაფურცლეთ ზემოთ და მოიცადეთ"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"ყველა აპის სანახავად დააჭირეთ მოქმედების კლავიშს თქვენს კლავიატურაზე"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"ტექსტს ადევს ცენზურა"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"განბლოკვა სანახავად"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"კონტექსტური განათლება"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"უკან დასაბრუნებლად გამოიყენეთ სენსორული პანელი"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"გადაფურცლეთ მარცხნივ ან მარჯვნივ სამი თითით. შეეხეთ მეტი ჟესტის შესასწავლად."</string>
diff --git a/packages/SystemUI/res/values-ka/tiles_states_strings.xml b/packages/SystemUI/res/values-ka/tiles_states_strings.xml
index 81fc54d..7a22981 100644
--- a/packages/SystemUI/res/values-ka/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-ka/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"გამორთული"</item>
     <item msgid="5908720590832378783">"ჩართული"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"მიუწვდომელი"</item>
+    <item msgid="6641673879029894995">"გამორთული"</item>
+    <item msgid="5806682401126108403">"ჩართული"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-kk/strings.xml b/packages/SystemUI/res/values-kk/strings.xml
index bf12aca..506ce8b 100644
--- a/packages/SystemUI/res/values-kk/strings.xml
+++ b/packages/SystemUI/res/values-kk/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth қосылған."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth құрылғысы белгішесі"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Құрылғы деректерін конфигурациялау үшін басыңыз."</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Барлық құрылғыны көру үшін басыңыз."</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Жаңа құрылғы жұптау үшін басыңыз."</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Батарея зарядының мөлшері белгісіз."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g> қосылған."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> трансляциясына қосылды."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Кіріс"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Есту аппараттары"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Қосылып жатыр…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Жарықтықты реттеу мүмкін емес, себебі ол\n жетекші қолданба арқылы басқарылады."</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Жарықтықты реттеу мүмкін емес, себебі ол жетекші қолданба арқылы басқарылады."</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Автоматты түрде бұру"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Автоматты айналатын экран"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Локация"</string>
@@ -689,11 +693,11 @@
     <string name="screen_pinning_negative" msgid="6882816864569211666">"Жоқ, рақмет"</string>
     <string name="screen_pinning_start" msgid="7483998671383371313">"Қолданба бекітілді."</string>
     <string name="screen_pinning_exit" msgid="4553787518387346893">"Қолданба босатылды."</string>
-    <string name="stream_voice_call" msgid="7468348170702375660">"Қоңырау шалу"</string>
+    <string name="stream_voice_call" msgid="7468348170702375660">"Сөйлесу кезіндегі дыбыс"</string>
     <string name="stream_system" msgid="7663148785370565134">"Жүйе"</string>
-    <string name="stream_ring" msgid="7550670036738697526">"Шылдыр"</string>
+    <string name="stream_ring" msgid="7550670036738697526">"Қоңырау сигналы"</string>
     <string name="stream_music" msgid="2188224742361847580">"Мультимедиа"</string>
-    <string name="stream_alarm" msgid="16058075093011694">"Дабыл"</string>
+    <string name="stream_alarm" msgid="16058075093011694">"Оятқыш"</string>
     <string name="stream_notification" msgid="7930294049046243939">"Хабарландыру"</string>
     <string name="stream_bluetooth_sco" msgid="6234562365528664331">"Bluetooth"</string>
     <string name="stream_dtmf" msgid="7322536356554673067">"Қос үнді көп жиілік"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> әңгіме функцияларын қолдамайды."</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Пікір"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Жабу"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Бекітілген ретінде көрсетпеу"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Нақты уақыттағы жаңартуларды көрсету"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Бекітілген хабарландырулар қолданбалардың нақты уақыттағы ақпаратын көрсетеді және әрдайым күй жолағында және құлып экранында көрсетіледі."</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Бұл хабарландыруларды өзгерту мүмкін емес."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Қоңырау туралы хабарландыруларды өзгерту мүмкін емес."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Мұндай хабарландырулар бұл жерде конфигурацияланбайды."</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Мультитаскинг"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Қолданбаны бөлінген экранның оң жағынан пайдалану"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Қолданбаны бөлінген экранның сол жағынан пайдалану"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Толық экранға ауысу"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Бөлінген экранда оң не төмен жақтағы қолданбаға ауысу"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Бөлінген экранда сол не жоғары жақтағы қолданбаға ауысу"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Экранды бөлу кезінде: бір қолданбаны басқасымен алмастыру"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Маңызды емес хабарландыру белгішелерін көрсету"</string>
     <string name="other" msgid="429768510980739978">"Басқа"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"бөлшекті өшіру"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"соңғы позицияға бөлшек қосу"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Бөлшекті жылжыту"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Соңғы қолданбаларды көру"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Қолданба ауыстыру"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Дайын"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Қайталап көріңіз"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Артқа"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Сенсорлық тақтада үш саусақпен оңға немесе солға сырғытыңыз."</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Сенсорлық тақтада үш саусақпен жоғары сырғытып, басып тұрсаңыз, соңғы ашылған қолданбаларды көресіз."</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Пернетақтада әрекет пернесін басып, барлық қолданбаны көре аласыз."</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Жасырылған"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Көру үшін құлыпты ашыңыз."</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Контекстік білім"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Артқа қайту үшін сенсорлық тақтаны қолданыңыз"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Үш саусақпен солға не оңға сырғытыңыз. Басқа қимылдарды үйрену үшін түртіңіз."</string>
diff --git a/packages/SystemUI/res/values-kk/tiles_states_strings.xml b/packages/SystemUI/res/values-kk/tiles_states_strings.xml
index 32562c6..2b839c8 100644
--- a/packages/SystemUI/res/values-kk/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-kk/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Өшірулі"</item>
     <item msgid="5908720590832378783">"Қосулы"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Қолжетімді емес"</item>
+    <item msgid="6641673879029894995">"Өшірулі"</item>
+    <item msgid="5806682401126108403">"Қосулы"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml
index e12fd13..1fa0acb 100644
--- a/packages/SystemUI/res/values-km/strings.xml
+++ b/packages/SystemUI/res/values-km/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"បាន​តភ្ជាប់​ប៊្លូធូស។"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"រូបឧបករណ៍​ប៊្លូធូស"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"ចុចដើម្បីកំណត់រចនាសម្ព័ន្ធព័ត៌មានលម្អិតអំពីឧបករណ៍"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"ចុច ដើម្បីមើលឃើញឧបករណ៍ទាំងអស់"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"ចុច ដើម្បីផ្គូផ្គងឧបករណ៍ថ្មី"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"មិនដឹងអំពី​ភាគរយថ្មទេ។"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"បាន​ភ្ជាប់​ទៅ <xliff:g id="BLUETOOTH">%s</xliff:g> ។"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"បានភ្ជាប់ទៅ <xliff:g id="CAST">%s</xliff:g>"</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"បញ្ចូល"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"ឧបករណ៍ជំនួយការស្ដាប់"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"កំពុង​បើក..."</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"មិនអាចកែតម្រូវកម្រិតពន្លឺបានទេ ដោយសារវាកំពុងស្ថិតក្រោម\nការគ្រប់គ្រងរបស់កម្មវិធីខាងលើគេ"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"មិនអាចកែតម្រូវកម្រិតពន្លឺបានទេ ដោយសារវាកំពុងស្ថិតក្រោមការគ្រប់គ្រងរបស់កម្មវិធីខាងលើគេ"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"បង្វិល​ស្វ័យ​ប្រវត្តិ"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"បង្វិលអេក្រង់ស្វ័យប្រវត្តិ"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"ទី​តាំង​"</string>
@@ -689,7 +693,7 @@
     <string name="screen_pinning_negative" msgid="6882816864569211666">"ទេ អរគុណ"</string>
     <string name="screen_pinning_start" msgid="7483998671383371313">"បានខ្ទាស់​កម្មវិធី"</string>
     <string name="screen_pinning_exit" msgid="4553787518387346893">"បានដកខ្ទាស់​កម្មវិធី"</string>
-    <string name="stream_voice_call" msgid="7468348170702375660">"ហៅ"</string>
+    <string name="stream_voice_call" msgid="7468348170702375660">"ការហៅទូរសព្ទ"</string>
     <string name="stream_system" msgid="7663148785370565134">"ប្រព័ន្ធ"</string>
     <string name="stream_ring" msgid="7550670036738697526">"រោទ៍"</string>
     <string name="stream_music" msgid="2188224742361847580">"មេឌៀ"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> មិនអាចប្រើ​មុខងារ​សន្ទនា​បានទេ"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"មតិកែលម្អ"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"ច្រានចោល"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"កុំបង្ហាញដូចអ្វីដែលបានខ្ទាស់"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"ការបង្ហាញព័ត៌មាន​បន្តផ្ទាល់"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"ការជូនដំណឹងដែលបានខ្ទាស់បង្ហាញព័ត៌មានបន្តផ្ទាល់ពីកម្មវិធី និងតែងតែបង្ហាញនៅលើរបារ​ស្ថានភាព និងអេក្រង់ចាក់សោ"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"មិនអាច​កែប្រែ​ការជូនដំណឹង​ទាំងនេះ​បានទេ។"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"មិនអាច​កែប្រែ​ការជូនដំណឹងអំពីការហៅទូរសព្ទបានទេ។"</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"មិនអាច​កំណត់​រចនាសម្ព័ន្ធ​ក្រុមការជូនដំណឹងនេះ​នៅទីនេះ​បានទេ"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"ការដំណើរការបានច្រើន"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"ប្រើមុខងារបំបែកអេក្រង់ជាមួយកម្មវិធីនៅខាងស្ដាំ"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"ប្រើមុខងារបំបែកអេក្រង់ជាមួយកម្មវិធីនៅខាងឆ្វេង"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"ប្ដូរទៅ​អេក្រង់ពេញ"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"ប្ដូរទៅកម្មវិធីនៅខាងស្ដាំ ឬខាងក្រោម ពេលកំពុងប្រើមុខងារ​បំបែកអេក្រង់"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"ប្ដូរទៅកម្មវិធីនៅខាងឆ្វេង ឬខាងលើ ពេលកំពុងប្រើមុខងារ​បំបែកអេក្រង់"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"ក្នុងអំឡុងពេលប្រើមុខងារបំបែកអេក្រង់៖ ជំនួសកម្មវិធីពីមួយទៅមួយទៀត"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"បង្ហាញ​រូប​ការជូនដំណឹង​ដែលមានអាទិភាពទាប"</string>
     <string name="other" msgid="429768510980739978">"ផ្សេងៗ"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"ដកប្រអប់ចេញ"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"បញ្ចូលប្រអប់ទៅទីតាំងចុងក្រោយ"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"ផ្លាស់ទី​ប្រអប់"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"មើលកម្មវិធីថ្មីៗ"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"ប្ដូរ​កម្មវិធី"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"រួចរាល់"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"សូមព្យាយាមម្ដងទៀត!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"ថយ​ក្រោយ"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"អូសទៅឆ្វេង ឬស្ដាំដោយប្រើ​ម្រាមដៃបីនៅលើផ្ទាំងប៉ះរបស់អ្នក"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"ដើម្បីមើលកម្មវិធីថ្មីៗ សូមអូសឡើងលើ ហើយសង្កត់ឱ្យជាប់ដោយប្រើម្រាមដៃបីនៅលើផ្ទាំងប៉ះ"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"ដើម្បីមើលកម្មវិធីទាំងអស់របស់អ្នក សូមចុចគ្រាប់ចុចសកម្មភាពនៅលើក្ដារចុចរបស់អ្នក"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"បាន​កែ​លម្អ​ពាក្យពេចន៍"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"ដោះសោដើម្បីមើល"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"ការអប់រំ​តាមបរិបទ"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"ប្រើផ្ទាំងប៉ះរបស់អ្នក ដើម្បីថយក្រោយ"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"អូសទៅឆ្វេង ឬស្ដាំដោយប្រើ​ម្រាមដៃបី។ ចុច ដើម្បីស្វែងយល់បន្ថែមអំពីចលនា។"</string>
diff --git a/packages/SystemUI/res/values-km/tiles_states_strings.xml b/packages/SystemUI/res/values-km/tiles_states_strings.xml
index 0e47250..7085509 100644
--- a/packages/SystemUI/res/values-km/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-km/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"បិទ"</item>
     <item msgid="5908720590832378783">"បើក"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"មិនមានទេ"</item>
+    <item msgid="6641673879029894995">"បិទ"</item>
+    <item msgid="5806682401126108403">"បើក"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-kn/strings.xml b/packages/SystemUI/res/values-kn/strings.xml
index 3bb4e4d..5363c62 100644
--- a/packages/SystemUI/res/values-kn/strings.xml
+++ b/packages/SystemUI/res/values-kn/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"ಬ್ಲೂಟೂತ್‌‌ ಸಂಪರ್ಕಗೊಂಡಿದೆ."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"ಬ್ಲೂಟೂತ್ ಸಾಧನ ಐಕಾನ್"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"ಸಾಧನದ ವಿವರಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಕ್ಲಿಕ್ ಮಾಡಿ"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"ಎಲ್ಲಾ ಸಾಧನಗಳನ್ನು ನೋಡಲು ಕ್ಲಿಕ್ ಮಾಡಿ"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"ಹೊಸ ಸಾಧನವನ್ನು ಪೇರ್ ಮಾಡಲು ಕ್ಲಿಕ್ ಮಾಡಿ"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"ಬ್ಯಾಟರಿ ಶೇಕಡಾವಾರು ತಿಳಿದಿಲ್ಲ."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g> ಗೆ ಸಂಪರ್ಕಪಡಿಸಲಾಗಿದೆ."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> ಗೆ ಸಂಪರ್ಕಿಸಲಾಗಿದೆ."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"ಇನ್‌ಪುಟ್"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"ಶ್ರವಣ ಸಾಧನಗಳು"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"ಆನ್ ಮಾಡಲಾಗುತ್ತಿದೆ..."</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ಬ್ರೈಟ್‌ನೆಸ್ ಅನ್ನು ಅಡ್ಜಸ್ಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ,\n ಏಕೆಂದರೆ ಅದನ್ನು ಟಾಪ್ ಆ್ಯಪ್ ನಿಯಂತ್ರಿಸುತ್ತಿದೆ"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ಬ್ರೈಟ್‌ನೆಸ್ ಅನ್ನು ಅಡ್ಜಸ್ಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ, ಏಕೆಂದರೆ ಅದನ್ನು ಟಾಪ್ ಆ್ಯಪ್ ನಿಯಂತ್ರಿಸುತ್ತಿದೆ"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"ಸ್ವಯಂ-ತಿರುಗುವಿಕೆ"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"ಪರದೆಯನ್ನು ಸ್ವಯಂ-ತಿರುಗಿಸಿ"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"ಸ್ಥಳ"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"ಸಂವಾದ ಫೀಚರ್‌ಗಳನ್ನು <xliff:g id="APP_NAME">%1$s</xliff:g> ಬೆಂಬಲಿಸುವುದಿಲ್ಲ"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"ಫೀಡ್‌ಬ್ಯಾಕ್"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"ವಜಾಗೊಳಿಸಿ"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"ಪಿನ್ ಮಾಡಿದ ಹಾಗೆ ತೋರಿಸಬೇಡಿ"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"ಲೈವ್ ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ತೋರಿಸಲಾಗುತ್ತಿದೆ"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"ಪಿನ್ ಮಾಡಲಾದ ನೋಟಿಫಿಕೇಶನ್‌ಗಳು ಆ್ಯಪ್‌ಗಳಿಂದ ಲೈವ್ ಮಾಹಿತಿಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತವೆ ಹಾಗೂ ಅವುಗಳು ಯಾವಾಗಲೂ ಸ್ಥಿತಿ ಪಟ್ಟಿ ಮತ್ತು ಲಾಕ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ಗೋಚರಿಸುತ್ತವೆ"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"ಈ ಅಧಿಸೂಚನೆಗಳನ್ನು ಮಾರ್ಪಡಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"ಕರೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ಮಾರ್ಪಡಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"ಈ ಗುಂಪಿನ ಅಧಿಸೂಚನೆಗಳನ್ನು ಇಲ್ಲಿ ಕಾನ್ಫಿಗರ್‌ ಮಾಡಲಾಗಿರುವುದಿಲ್ಲ"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"ಮಲ್ಟಿಟಾಸ್ಕಿಂಗ್"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"ಬಲಭಾಗದಲ್ಲಿ ಆ್ಯಪ್ ಮೂಲಕ ಸ್ಪ್ಲಿಟ್ ಸ್ಕ್ರೀನ್ ಬಳಸಿ"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"ಎಡಭಾಗದಲ್ಲಿ ಆ್ಯಪ್ ಮೂಲಕ ಸ್ಪ್ಲಿಟ್ ಸ್ಕ್ರೀನ್ ಬಳಸಿ"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"ಫುಲ್‌ಸ್ಕ್ರೀನ್ ಮೋಡ್‌ಗೆ ಬದಲಿಸಿ"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"ಸ್ಕ್ರೀನ್ ಬೇರ್ಪಡಿಸಿ ಮೋಡ್ ಬಳಸುವಾಗ ಬಲಭಾಗ ಅಥವಾ ಕೆಳಭಾಗದಲ್ಲಿರುವ ಆ್ಯಪ್‌ಗೆ ಬದಲಿಸಿ"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"ಸ್ಕ್ರೀನ್ ಬೇರ್ಪಡಿಸಿ ಮೋಡ್ ಬಳಸುವಾಗ ಎಡಭಾಗ ಅಥವಾ ಮೇಲ್ಭಾಗದಲ್ಲಿರುವ ಆ್ಯಪ್‌ಗೆ ಬದಲಿಸಿ"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"ಸ್ಕ್ರೀನ್ ಬೇರ್ಪಡಿಸುವ ಸಮಯದಲ್ಲಿ: ಒಂದು ಆ್ಯಪ್‌ನಿಂದ ಮತ್ತೊಂದು ಆ್ಯಪ್‌ಗೆ ಬದಲಿಸಿ"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"ಕಡಿಮೆ-ಆದ್ಯತೆ ಸೂಚನೆಯ ಐಕಾನ್‌ಗಳನ್ನು ತೋರಿಸಿ"</string>
     <string name="other" msgid="429768510980739978">"ಇತರ"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"ಟೈಲ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿ"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"ಕೊನೆಯ ಸ್ಥಾನಕ್ಕೆ ಟೈಲ್ ಅನ್ನು ಸೇರಿಸಿ"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"ಟೈಲ್ ಸರಿಸಿ"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"ಇತ್ತೀಚಿನ ಆ್ಯಪ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"ಆ್ಯಪ್‌ಗಳನ್ನು ಬದಲಿಸಿ"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"ಮುಗಿದಿದೆ"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"ಪುನಃ ಪ್ರಯತ್ನಿಸಿ!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"ಹಿಂತಿರುಗಿ"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"ನಿಮ್ಮ ಟಚ್‌ಪ್ಯಾಡ್‌ನಲ್ಲಿ ಮೂರು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಎಡ ಅಥವಾ ಬಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"ಇತ್ತೀಚಿನ ಆ್ಯಪ್‌ಗಳನ್ನು ನೋಡಲು, ಟಚ್‌ಪ್ಯಾಡ್‌ನಲ್ಲಿ ಮೂರು ಬೆರಳುಗಳಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಹಾಗೂ ಹೋಲ್ಡ್ ಮಾಡಿ"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"ನಿಮ್ಮ ಎಲ್ಲಾ ಆ್ಯಪ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಲು, ನಿಮ್ಮ ಕೀಬೋರ್ಡ್‌ನಲ್ಲಿರುವ ಆ್ಯಕ್ಷನ್‌ ಕೀಯನ್ನು ಒತ್ತಿರಿ"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"ಅರ್ಥಬದ್ಧವಾಗಿಸಲಾಗಿದೆ"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"ನೋಡಲು ಅನ್‌ಲಾಕ್ ಮಾಡಿ"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"ಸಂದರ್ಭೋಚಿತ ಶಿಕ್ಷಣ"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"ಹಿಂತಿರುಗಲು ನಿಮ್ಮ ಟಚ್‌ಪ್ಯಾಡ್ ಅನ್ನು ಬಳಸಿ"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"ಮೂರು ಬೆರಳುಗಳಿಂದ ಎಡಕ್ಕೆ ಅಥವಾ ಬಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಇನ್ನಷ್ಟು ಗೆಸ್ಚರ್‌ಗಳನ್ನು ತಿಳಿಯಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
diff --git a/packages/SystemUI/res/values-kn/tiles_states_strings.xml b/packages/SystemUI/res/values-kn/tiles_states_strings.xml
index b3543f9..487be13 100644
--- a/packages/SystemUI/res/values-kn/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-kn/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"ಆಫ್ ಆಗಿದೆ"</item>
     <item msgid="5908720590832378783">"ಆನ್ ಆಗಿದೆ"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"ಲಭ್ಯವಿಲ್ಲ"</item>
+    <item msgid="6641673879029894995">"ಆಫ್ ಆಗಿದೆ"</item>
+    <item msgid="5806682401126108403">"ಆನ್ ಆಗಿದೆ"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index 33f54b6..931daa0 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"블루투스가 연결되었습니다."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"블루투스 기기 아이콘"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"기기 세부정보를 구성하려면 클릭하세요."</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"모든 기기를 보려면 클릭하세요"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"새 기기를 페어링하려면 클릭하세요"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"배터리 잔량을 알 수 없습니다."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g>에 연결되었습니다."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g>에 연결됨"</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"입력"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"보청기"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"켜는 중..."</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"상위 앱에서 밝기를 제어하고 있으므로\n 밝기를 조절할 수 없습니다."</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"상위 앱에서 밝기를 제어하고 있으므로 밝기를 조절할 수 없습니다."</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"자동 회전"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"화면 자동 회전"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"위치"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> 앱은 대화 기능을 지원하지 않습니다."</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"의견"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"닫기"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"고정된 것으로 표시 안함"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"실시간 소식 표시"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"고정된 알림은 앱의 실시간 정보를 표시하며, 항상 상태 표시줄과 잠금 화면에 표시됩니다."</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"이 알림은 수정할 수 없습니다."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"전화 알림은 수정할 수 없습니다."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"이 알림 그룹은 여기에서 설정할 수 없습니다."</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"멀티태스킹"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"앱이 오른쪽에 오도록 화면 분할 사용"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"앱이 왼쪽에 오도록 화면 분할 사용"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"전체 화면으로 전환"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"화면 분할을 사용하는 중에 오른쪽 또는 아래쪽에 있는 앱으로 전환"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"화면 분할을 사용하는 중에 왼쪽 또는 위쪽에 있는 앱으로 전환하기"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"화면 분할 중: 다른 앱으로 바꾸기"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"우선순위가 낮은 알림 아이콘 표시"</string>
     <string name="other" msgid="429768510980739978">"기타"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"타일 삭제"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"마지막 위치에 타일 추가"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"타일 이동"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"최근 앱 보기"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"앱 전환"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"완료"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"다시 시도해 보세요"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"뒤로"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"세 손가락을 사용해 터치패드에서 왼쪽 또는 오른쪽으로 스와이프하세요."</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"최근 앱을 보려면 터치패드에서 세 손가락으로 위로 스와이프한 후 잠시 기다리세요"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"모든 앱을 보려면 키보드의 작업 키를 누르세요"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"수정됨"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"잠금 해제하여 보기"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"컨텍스트 교육"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"터치패드를 사용하여 돌아가기"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"세 손가락을 사용해 왼쪽 또는 오른쪽으로 스와이프하세요. 더 많은 동작을 알아보려면 탭하세요."</string>
diff --git a/packages/SystemUI/res/values-ko/tiles_states_strings.xml b/packages/SystemUI/res/values-ko/tiles_states_strings.xml
index c512435..dfdcefe 100644
--- a/packages/SystemUI/res/values-ko/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-ko/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"사용 안함"</item>
     <item msgid="5908720590832378783">"사용"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"사용할 수 없음"</item>
+    <item msgid="6641673879029894995">"사용 안함"</item>
+    <item msgid="5806682401126108403">"사용"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml
index e764bad..f1c4eef 100644
--- a/packages/SystemUI/res/values-ky/strings.xml
+++ b/packages/SystemUI/res/values-ky/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth байланышта"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth түзмөгүнүн сүрөтчөсү"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Түзмөктүн чоо-жайын конфигурациялоо үчүн чыкылдатыңыз"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Бардык түзмөктөрдү көрүү үчүн чыкылдатыңыз"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Жаңы түзмөк кошуу үчүн чыкылдатыңыз"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Батареянын деңгээли белгисиз."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g> менен туташкан."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> менен туташты."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Киргизүү"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Угуу аппараттары"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Күйгүзүлүүдө…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Жарыктыкты тууралоого болбойт, анткени аны\n жогорку колдонмо көзөмөлдөйт"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Жарыктыкты тууралоого болбойт, анткени аны жогорку колдонмо көзөмөлдөйт"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Авто буруу"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Экранды авто буруу"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Жайгашкан жер"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосунда оозеки сүйлөшкөнгө болбойт"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Пикир билдирүү"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Жабуу"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Билдирмелерди бошотуу"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Анык убакыттагы билдирмелерди көрсөтүү"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Кадалган билдирмелер ар дайым абал тилкесинде жана кулпуланган экранда көрсөтүлүп, колдонмолордогу маалыматты анык убакытта көрсөтөт"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Бул билдирмелерди өзгөртүүгө болбойт."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Чалуу билдирмелерин өзгөртүүгө болбойт."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Бул билдирмелердин тобун бул жерде конфигурациялоого болбойт"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Бир нече тапшырма аткаруу"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Колдонмону оңго жылдырып, экранды бөлүү"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Колдонмону солго жылдырып, экранды бөлүү"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Толук экранга которулуу"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Бөлүнгөн экранда сол же төмөн жактагы колдонмого которулуу"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Бөлүнгөн экранды колдонуп жатканда сол же жогору жактагы колдонмого которулуңуз"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Экранды бөлүү режиминде бир колдонмону экинчисине алмаштыруу"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Анча маанилүү эмес билдирменин сүрөтчөлөрүн көрсөтүү"</string>
     <string name="other" msgid="429768510980739978">"Башка"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"ыкчам баскычты өчүрүү"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"аягына карта кошуу"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Ыкчам баскычты жылдыруу"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Акыркы колдонмолорду көрүү"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Колдонмолорду которуштуруу"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Бүттү"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Кайталап көрүңүз!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Артка кайтуу"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Сенсордук тактаны үч манжаңыз менен солго же оңго сүрүңүз"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Акыркы колдонмолорду көрүү үчүн сенсордук тактаны үч манжаңыз менен өйдө сүрүп, кармап туруңуз"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Бардык колдонмолоруңузду көрүү үчүн баскычтобуңуздагы аракет баскычын басыңыз"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Жашырылды"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Көрүү үчүн кулпусун ачыңыз"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Контексттик билим берүү"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Артка кайтуу үчүн сенсордук тактаны колдонуңуз"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Үч манжаңыз менен солго же оңго сүрүңүз. Башка жаңсоолорду үйрөнүү үчүн таптаңыз."</string>
diff --git a/packages/SystemUI/res/values-ky/tiles_states_strings.xml b/packages/SystemUI/res/values-ky/tiles_states_strings.xml
index 47e36da..6077f66 100644
--- a/packages/SystemUI/res/values-ky/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-ky/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Өчүк"</item>
     <item msgid="5908720590832378783">"Күйүк"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Жеткиликсиз"</item>
+    <item msgid="6641673879029894995">"Өчүк"</item>
+    <item msgid="5806682401126108403">"Күйүк"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-land-television/dimens.xml b/packages/SystemUI/res/values-land-television/dimens.xml
index d3bafbc..b1a46a6 100644
--- a/packages/SystemUI/res/values-land-television/dimens.xml
+++ b/packages/SystemUI/res/values-land-television/dimens.xml
@@ -20,7 +20,7 @@
   <dimen name="volume_dialog_panel_width">48dp</dimen>
   <dimen name="volume_dialog_panel_width_half">24dp</dimen>
   <dimen name="volume_dialog_panel_transparent_padding">24dp</dimen>
-  <dimen name="volume_dialog_slider_width">4dp</dimen>
+  <dimen name="volume_dialog_slider_width_legacy">4dp</dimen>
   <dimen name="volume_dialog_slider_corner_radius">@dimen/volume_dialog_slider_width</dimen>
   <dimen name="volume_dialog_background_blur_radius">31dp</dimen>
   <dimen name="volume_tool_tip_right_margin">136dp</dimen>
diff --git a/packages/SystemUI/res/values-lo/strings.xml b/packages/SystemUI/res/values-lo/strings.xml
index 3236b2e2..de9694a 100644
--- a/packages/SystemUI/res/values-lo/strings.xml
+++ b/packages/SystemUI/res/values-lo/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"ເຊື່ອມຕໍ່ Bluetooth ແລ້ວ."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"ໄອຄອນອຸປະກອນ Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"ຄລິກເພື່ອຕັ້ງຄ່າລາຍລະອຽດອຸປະກອນ"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"ຄລິກເພື່ອເບິ່ງອຸປະກອນທັງໝົດ"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"ຄລິກເພື່ອຈັບຄູ່ອຸປະກອນໃໝ່"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"ບໍ່ຮູ້ເປີເຊັນແບັດເຕີຣີ."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"ເຊື່ອມ​ຕໍ່​ຫາ <xliff:g id="BLUETOOTH">%s</xliff:g> ແລ້ວ."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"ເຊື່ອມຕໍ່ຫາ <xliff:g id="CAST">%s</xliff:g> ແລ້ວ."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"ການປ້ອນຂໍ້ມູນ"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"ເຄື່ອງຊ່ວຍຟັງ"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"ກຳລັງເປີດ..."</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ບໍ່ສາມາດປັບຄວາມແຈ້ງເນື່ອງຈາກມັນ\n ຖືກຄວບຄຸມໂດຍແອັບຍອດນິຍົມ"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ບໍ່ສາມາດປັບຄວາມແຈ້ງເນື່ອງຈາກມັນ ຖືກຄວບຄຸມໂດຍແອັບຍອດນິຍົມ"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"ໝຸນ​ອັດ​ຕະ​ໂນ​ມັດ"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"ໝຸນໜ້າຈໍອັດຕະໂນມັດ"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"ສະຖານທີ່"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> ບໍ່ຮອງຮັບຄຸນສົມບັດການສົນທະນາ"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"ຄຳຕິຊົມ"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"ປິດໄວ້"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"ຢ່າສະແດງເປັນປັກໝຸດ"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"ກຳລັງສະແດງອັບເດດສົດ"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"ການແຈ້ງເຕືອນທີ່ປັກໝຸດໄວ້ຈະສະແດງຂໍ້ມູນສົດຈາກແອັບຕ່າງໆ ແລະ ຈະປາກົດຢູ່ແຖບສະຖານະ ແລະ ໜ້າຈໍລັອກສະເໝີ"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"ບໍ່ສາມາດແກ້ໄຂການແຈ້ງເຕືອນເຫຼົ່ານີ້ໄດ້."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"ບໍ່ສາມາດແກ້ໄຂການແຈ້ງເຕືອນການໂທໄດ້."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"ບໍ່ສາມາດຕັ້ງຄ່າກຸ່ມການແຈ້ງເຕືອນນີ້ຢູ່ບ່ອນນີ້ໄດ້"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"ການເຮັດຫຼາຍໜ້າວຽກພ້ອມກັນ"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"ໃຊ້ໂໝດແບ່ງໜ້າຈໍໂດຍໃຫ້ແອັບຢູ່ເບື້ອງຂວາ"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"ໃຊ້ໂໝດແບ່ງໜ້າຈໍໂດຍໃຫ້ແອັບຢູ່ເບື້ອງຊ້າຍ"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"ສະຫຼັບໄປໃຊ້ໂໝດເຕັມຈໍ"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"ສະຫຼັບໄປໃຊ້ແອັບຢູ່ຂວາ ຫຼື ທາງລຸ່ມໃນຂະນະທີ່ໃຊ້ແບ່ງໜ້າຈໍ"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"ສະຫຼັບໄປໃຊ້ແອັບຢູ່ຊ້າຍ ຫຼື ທາງເທິງໃນຂະນະທີ່ໃຊ້ແບ່ງໜ້າຈໍ"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"ໃນລະຫວ່າງແບ່ງໜ້າຈໍ: ໃຫ້ປ່ຽນຈາກແອັບໜຶ່ງເປັນອີກແອັບໜຶ່ງ"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"ສະແດງໄອຄອນການແຈ້ງເຕືອນຄວາມສຳຄັນຕ່ຳ"</string>
     <string name="other" msgid="429768510980739978">"ອື່ນໆ"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"ລຶບແຜ່ນອອກ"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"ເພີ່ມແຜ່ນໃສ່ຕຳແໜ່ງສຸດທ້າຍ"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"ຍ້າຍແຜ່ນ"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"ເບິ່ງແອັບຫຼ້າສຸດ"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"ສະຫຼັບແອັບ"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"ແລ້ວໆ"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"ກະລຸນາລອງໃໝ່!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"ກັບຄືນ"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"ປັດຊ້າຍ ຫຼື ຂວາໂດຍໃຊ້ມືສາມນິ້ວຢູ່ແຜ່ນສໍາຜັດຂອງທ່ານ"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"ເພື່ອເບິ່ງແອັບຫຼ້າສຸດ, ໃຫ້ໃຊ້ 3 ນິ້ວປັດຂຶ້ນ ແລ້ວຄ້າງໄວ້ເທິງແຜ່ນສໍາຜັດ"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"ເພື່ອເບິ່ງແອັບທັງໝົດຂອງທ່ານ, ໃຫ້ກົດປຸ່ມຄຳສັ່ງຢູ່ແປ້ນພິມຂອງທ່ານ"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"ປົກປິດໄວ້ແລ້ວ"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"ປົດລັອກເພື່ອເບິ່ງ"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"ການສຶກສາຕາມບໍລິບົດ"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"ໃຊ້ແຜ່ນສໍາຜັດຂອງທ່ານເພື່ອກັບຄືນ"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"ໃຊ້ 3 ນິ້ວປັດຊ້າຍ ຫຼື ຂວາ. ແຕະເພື່ອສຶກສາທ່າທາງເພີ່ມເຕີມ."</string>
diff --git a/packages/SystemUI/res/values-lo/tiles_states_strings.xml b/packages/SystemUI/res/values-lo/tiles_states_strings.xml
index 71e084a..294d6af 100644
--- a/packages/SystemUI/res/values-lo/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-lo/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"ປິດ"</item>
     <item msgid="5908720590832378783">"ເປີດ"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"ບໍ່ພ້ອມໃຫ້ນຳໃຊ້"</item>
+    <item msgid="6641673879029894995">"ປິດ"</item>
+    <item msgid="5806682401126108403">"ເປີດ"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index 25208b0..59f0ad34 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"„Bluetooth“ prijungtas."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"„Bluetooth“ įrenginio piktograma"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Spustelėkite, jei norite konfigūruoti išsamią įrenginio informaciją"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Spustelėkite, kad peržiūrėtumėte visus įrenginius"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Spustelėkite, kad susietumėte naują įrenginį"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"„<xliff:g id="DEVICE_NAME">%s</xliff:g>“. Konfigūruoti išsamią įrenginio informaciją"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Žr. visus įrenginius"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Susieti naują įrenginį"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Akumuliatoriaus energija procentais nežinoma."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Prisijungta prie „<xliff:g id="BLUETOOTH">%s</xliff:g>“."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Prisijungta prie <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Įvestis"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Klausos aparatai"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Įjungiama…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Negalima koreguoti ryškumo, nes jį valdo\n viršuje esanti programa"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Negalima koreguoti ryškumo, nes jį valdo viršuje esanti programa"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Automatinis pasukimas"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Automatiškai sukti ekraną"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Vietovė"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"Programa „<xliff:g id="APP_NAME">%1$s</xliff:g>“ nepalaiko pokalbių funkcijų"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Atsiliepimai"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Uždaryti"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Nerodyti kaip prisegtą"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Rodomos tiesioginės naujienos"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Prisegti pranešimai rodo tiesioginę informaciją iš programų ir visada rodomi būsenos juostoje bei užrakinimo ekrane"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Šių pranešimų keisti negalima."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Skambučių pranešimų keisti negalima."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Šios grupės pranešimai čia nekonfigūruojami"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Kelių užduočių atlikimas"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Naudokite išskaidyto ekrano režimą su programa dešinėje"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Naudokite išskaidyto ekrano režimą su programa kairėje"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Perjunkite į viso ekrano režimą"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Naudoti viso ekrano režimą"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Naudoti rodinio versiją staliniams kompiuteriams"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Perjunkite į programą dešinėje arba apačioje išskaidyto ekrano režimu"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Perjunkite į programą kairėje arba viršuje išskaidyto ekrano režimu"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Išskaidyto ekrano režimu: pakeisti iš vienos programos į kitą"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Rodyti mažo prioriteto pranešimų piktogramas"</string>
     <string name="other" msgid="429768510980739978">"Kita"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"pašalintumėte išklotinės elementą"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"pridėti išklotinės elementą paskutinėje pozicijoje"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Perkelti išklotinės elementą"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Peržiūrėti naujausias programas"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Perjungti programas"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Atlikta"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"Kitas"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"Bandykite dar kartą!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Grįžti"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Braukite kairėn arba dešinėn trimis pirštais bet kur jutiklinėje dalyje"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Peržiūrėkite naujausias programas, jutiklinėje dalyje perbraukę aukštyn trimis pirštais ir palaikę"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Jei norite peržiūrėti visas programas, paspauskite klaviatūros veiksmų klavišą"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Paslėpta"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Atrakinkite, kad peržiūrėtumėte"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontekstinis švietimas"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Naudokite klaviatūrą, kad grįžtumėte atgal"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Perbraukite į kairę ar dešinę trimis pirštais. Palieskite, kad sužinotumėte daugiau gestų."</string>
diff --git a/packages/SystemUI/res/values-lt/tiles_states_strings.xml b/packages/SystemUI/res/values-lt/tiles_states_strings.xml
index 893d6ae..46c6f69 100644
--- a/packages/SystemUI/res/values-lt/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-lt/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Išjungta"</item>
     <item msgid="5908720590832378783">"Įjungta"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Nepasiekiama"</item>
+    <item msgid="6641673879029894995">"Išjungta"</item>
+    <item msgid="5806682401126108403">"Įjungta"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index bf1ef96..9962226 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth savienojums ir izveidots."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth ierīces ikona"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Lai konfigurētu ierīces informāciju, noklikšķiniet"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Noklikšķiniet, lai skatītu visas ierīces"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Noklikšķiniet, lai savienotu pārī jaunu ierīci"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Akumulatora uzlādes līmenis procentos nav zināms."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Ir izveidots savienojum ar <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Savienots ar ierīci <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Ievade"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Dzirdes aparāti"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Notiek ieslēgšana…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Nevar mainīt spilgtumu, jo to kontrolē\n aktīvā lietotne."</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Nevar mainīt spilgtumu, jo to kontrolē aktīvā lietotne."</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Automātiska pagriešana"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Automātiska ekrāna pagriešana"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Atrašanās vieta"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"Lietotnē <xliff:g id="APP_NAME">%1$s</xliff:g> netiek atbalstītas sarunu funkcijas."</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Atsauksmes"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Nerādīt"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Nerādīt kā piespraustu"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Reāllaika jaunumu rādīšana"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Piespraustajos paziņojumos tiek rādīta reāllaika informācija no lietotnēm, un tie vienmēr tiek rādīti statusa joslā un bloķēšanas ekrānā."</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Šos paziņojumus nevar modificēt."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Paziņojumus par zvaniem nevar modificēt."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Šeit nevar konfigurēt šo paziņojumu grupu."</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Vairākuzdevumu režīms"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Izmantot ekrāna sadalīšanu ar lietotni labajā pusē"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Izmantot ekrāna sadalīšanu ar lietotni kreisajā pusē"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Pārslēgšana pilnekrāna režīmā"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Pāriet uz lietotni pa labi/lejā, kamēr izmantojat sadalīto ekrānu."</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Pāriet uz lietotni pa kreisi/augšā, kamēr izmantojat sadalīto ekrānu."</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Ekrāna sadalīšanas režīmā: pārvietot lietotni no viena ekrāna uz otru"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Rādīt zemas prioritātes paziņojumu ikonas"</string>
     <string name="other" msgid="429768510980739978">"Citi"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"noņemt elementu"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"pievienotu elementu pēdējā pozīcijā"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Pārvietot elementu"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Skatīt nesen izmantotās lietotnes"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Pārslēgties starp lietotnēm"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Gatavs"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Mēģiniet vēlreiz."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Atpakaļ"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Skārienpaliktnī ar trīs pirkstiem velciet pa kreisi vai pa labi."</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Lai skatītu nesenās lietotnes, ar trīs pirkstiem uz skārienpaliktņa velciet augšup un turiet."</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Lai skatītu visas savas lietotnes, tastatūrā nospiediet darbību taustiņu."</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Rediģēts"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Lai skatītu, atbloķējiet"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontekstuāla pamācība"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Atgriešanās, izmantojot skārienpaliktni"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Ar trīs pirkstiem velciet pa kreisi vai pa labi. Lai apgūtu citus žestus, pieskarieties šeit."</string>
diff --git a/packages/SystemUI/res/values-lv/tiles_states_strings.xml b/packages/SystemUI/res/values-lv/tiles_states_strings.xml
index 7329751..8e9268a 100644
--- a/packages/SystemUI/res/values-lv/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-lv/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Izslēgts"</item>
     <item msgid="5908720590832378783">"Ieslēgts"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Nav pieejams"</item>
+    <item msgid="6641673879029894995">"Izslēgts"</item>
+    <item msgid="5806682401126108403">"Ieslēgts"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-mk/strings.xml b/packages/SystemUI/res/values-mk/strings.xml
index e34d9d8..9d9c074 100644
--- a/packages/SystemUI/res/values-mk/strings.xml
+++ b/packages/SystemUI/res/values-mk/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth е поврзан."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Икона за уред со Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Кликнете за да ги конфигурирате деталите за уредот"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Кликнете за да се прикажат сите уреди"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Кликнете за да спарите нов уред"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Процентот на батеријата е непознат."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Поврзано со <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Поврзано со <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Влез"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Слушни помагала"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Се вклучува…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Не може да се приспособи осветленоста бидејќи е\n контролирана од горната апликација"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Не може да се приспособи осветленоста бидејќи е контролирана од горната апликација"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Автоматско ротирање"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Автоматско ротирање на екранот"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Локација"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> не поддржува функции за разговор"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Повратни информации"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Отфрли"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Не прикажувај како закачено"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Прикажува новости во живо"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Закачените известувања прикажуваат информации во живо од апликациите и секогаш се појавуваат на статусната лента и на заклучениот екран"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Овие известувања не може да се изменат"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Известувањата за повици не може да се изменат."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Оваа група известувања не може да се конфигурира тука"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Мултитаскинг"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Користете поделен екран со апликацијата оддесно"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Користете поделен екран со апликацијата одлево"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Префрлете се на цел екран"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Префрлете се на апликацијата десно или долу при користењето поделен екран"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Префрлете се на апликацијата лево или горе при користењето поделен екран"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"При поделен екран: префрлете ги аплик. од едната на другата страна"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Прикажувај икони за известувања со низок приоритет"</string>
     <string name="other" msgid="429768510980739978">"Друго"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"отстранување на плочката"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"додајте плочка на последната позиција"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Преместување на плочката"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Прикажи ги неодамнешните апликации"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Сменете ги апликациите"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Готово"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Обидете се повторно!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Назад"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Повлечете налево или надесно со три прста на допирната подлога"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"За да ги видите скорешните апликации, повлечете нагоре и задржете со три прста на допирната подлога"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Притиснете го копчето за дејство на тастатурата за да ги видите сите апликации"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Редактирано"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Отклучете за приказ"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Контекстуално образование"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Користете ја допирната подлога за да се вратите назад"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Повлечете налево или надесно со три прста. Допрете за да научите повеќе движења."</string>
diff --git a/packages/SystemUI/res/values-mk/tiles_states_strings.xml b/packages/SystemUI/res/values-mk/tiles_states_strings.xml
index 67baf7c..752c386 100644
--- a/packages/SystemUI/res/values-mk/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-mk/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Исклучено"</item>
     <item msgid="5908720590832378783">"Вклучено"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Недостапно"</item>
+    <item msgid="6641673879029894995">"Исклучено"</item>
+    <item msgid="5806682401126108403">"Вклучено"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml
index 226822a..301c3da 100644
--- a/packages/SystemUI/res/values-ml/strings.xml
+++ b/packages/SystemUI/res/values-ml/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"ബ്ലൂടൂത്ത് കണക്‌റ്റുചെയ്തു."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth ഉപകരണ ഐക്കൺ"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"ഉപകരണത്തിന്റെ വിശദാംശങ്ങൾ കോൺഫിഗർ ചെയ്യാൻ ക്ലിക്ക് ചെയ്യുക"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"എല്ലാ ഉപകരണങ്ങളും കാണാൻ ക്ലിക്ക് ചെയ്യുക"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"പുതിയ ഉപകരണം ജോടിയാക്കാൻ ക്ലിക്ക് ചെയ്യുക"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"ബാറ്ററി ശതമാനം അജ്ഞാതമാണ്."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g> എന്നതിലേക്ക് കണക്‌റ്റുചെയ്‌തു."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> എന്നതിലേക്ക് കണക്റ്റുചെയ്തു."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"ഇൻപുട്ട്"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"ശ്രവണ സഹായികൾ"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"ഓണാക്കുന്നു…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"തെളിച്ചം അഡ്‌ജസ്റ്റ് ചെയ്യാനാകില്ല, അത്\n നിയന്ത്രിക്കുന്നത് ഏറ്റവും മുകളിലുള്ള ആപ്പാണ്"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"തെളിച്ചം അഡ്‌ജസ്റ്റ് ചെയ്യാനാകില്ല, അത് നിയന്ത്രിക്കുന്നത് ഏറ്റവും മുകളിലുള്ള ആപ്പാണ്"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"സ്‌ക്രീൻ സ്വയമേവ തിരിയൽ"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"സ്‌ക്രീൻ സ്വയമേവ തിരിക്കുക"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"ലൊക്കേഷൻ"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"സംഭാഷണ ഫീച്ചറുകളെ <xliff:g id="APP_NAME">%1$s</xliff:g> പിന്തുണയ്‌ക്കുന്നില്ല"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"ഫീഡ്ബാക്ക്"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"ഡിസ്‌മിസ് ചെയ്യുക"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"പിൻ ചെയ്തതായി കാണിക്കരുത്"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"തത്സമയ അപ്‌ഡേറ്റുകൾ കാണിക്കുന്നു"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"പിൻ ചെയ്ത അറിയിപ്പുകൾ, ആപ്പുകളിൽ നിന്നുള്ള തത്സമയ വിവരങ്ങൾ പ്രദർശിപ്പിക്കും, അവ എപ്പോഴും സ്റ്റാറ്റസ് ബാറിലും ലോക്ക് സ്‌ക്രീനിലും ദൃശ്യമാകും"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"ഈ അറിയിപ്പുകൾ പരിഷ്ക്കരിക്കാനാവില്ല."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"കോൾ അറിയിപ്പുകൾ പരിഷ്‌കരിക്കാനാകുന്നില്ല."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"അറിയിപ്പുകളുടെ ഈ ഗ്രൂപ്പ് ഇവിടെ കോണ്‍ഫിഗര്‍ ചെയ്യാൻ കഴിയില്ല"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"മൾട്ടിടാസ്‌കിംഗ്"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"വലതുവശത്തുള്ള ആപ്പിനൊപ്പം സ്‌ക്രീൻ വിഭജന മോഡ് ഉപയോഗിക്കുക"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"ഇടതുവശത്തുള്ള ആപ്പിനൊപ്പം സ്‌ക്രീൻ വിഭജന മോഡ് ഉപയോഗിക്കുക"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"പൂർണ്ണ സ്‌ക്രീനിലേക്ക് മാറുക"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"സ്ക്രീൻ വിഭജന മോഡ് ഉപയോഗിക്കുമ്പോൾ വലതുവശത്തെ/താഴത്തെ ആപ്പിലേക്ക് മാറുക"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"സ്ക്രീൻ വിഭജന മോഡ് ഉപയോഗിക്കുമ്പോൾ ഇടതുവശത്തെ/മുകളിലെ ആപ്പിലേക്ക് മാറൂ"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"സ്‌ക്രീൻ വിഭജന മോഡിൽ: ഒരു ആപ്പിൽ നിന്ന് മറ്റൊന്നിലേക്ക് മാറുക"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"പ്രാധാന്യം കുറഞ്ഞ അറിയിപ്പ് ചിഹ്‌നങ്ങൾ"</string>
     <string name="other" msgid="429768510980739978">"മറ്റുള്ളവ"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"ടൈൽ നീക്കം ചെയ്യുക"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"അവസാന ഭാഗത്ത് ടൈൽ ചേർക്കുക"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"ടൈൽ നീക്കുക"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"അടുത്തിടെയുള്ള ആപ്പുകൾ കാണുക"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"ആപ്പുകൾ മാറുക"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"പൂർത്തിയായി"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"വീണ്ടും ശ്രമിക്കുക!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"മടങ്ങുക"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"ടച്ച്‌പാഡിൽ മൂന്ന് വിരലുകൾ കൊണ്ട് ഇടത്തേക്കോ വലത്തേക്കോ സ്വൈപ്പ് ചെയ്യുക"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"അടുത്തിടെ ഉപയോഗിച്ച ആപ്പുകൾ കാണാൻ, മൂന്ന് വിരലുകൾ ഉപയോഗിച്ച് ടച്ച്‌പാഡിൽ സ്വൈപ്പ് ചെയ്ത് പിടിക്കുക"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"എല്ലാ ആപ്പുകളും കാണാൻ, നിങ്ങളുടെ കീബോർഡിലെ ആക്‌ഷൻ കീ അമർത്തുക"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"മറച്ചത്"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"കാണാൻ, അൺലോക്ക് ചെയ്യുക"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"സന്ദർഭോചിത വിദ്യാഭ്യാസം"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"തിരികെ പോകാൻ നിങ്ങളുടെ ടച്ച്‌പാഡ് ഉപയോഗിക്കുക"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"മൂന്ന് വിരലുകൾ കൊണ്ട് ഇടത്തേക്കോ വലത്തേക്കോ സ്വൈപ്പ് ചെയ്യൂ. കൂടുതൽ ജെസ്ച്ചറുകളറിയാൻ ടാപ്പ് ചെയ്യൂ."</string>
diff --git a/packages/SystemUI/res/values-ml/tiles_states_strings.xml b/packages/SystemUI/res/values-ml/tiles_states_strings.xml
index 8639c10..e197c92 100644
--- a/packages/SystemUI/res/values-ml/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-ml/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"ഓഫാണ്"</item>
     <item msgid="5908720590832378783">"ഓണാണ്"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"ലഭ്യമല്ല"</item>
+    <item msgid="6641673879029894995">"ഓഫാണ്"</item>
+    <item msgid="5806682401126108403">"ഓണാണ്"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-mn/strings.xml b/packages/SystemUI/res/values-mn/strings.xml
index 06b62e9..7c2e69c 100644
--- a/packages/SystemUI/res/values-mn/strings.xml
+++ b/packages/SystemUI/res/values-mn/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth холбогдсон."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth төхөөрөмжийн дүрс тэмдэг"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Төхөөрөмжийн дэлгэрэнгүйг тохируулахын тулд товшино уу"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Бүх төхөөрөмжийг харахын тулд товшино уу"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Шинэ төхөөрөмж хослуулахын тулд товшино уу"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Батарейн хувь тодорхойгүй байна."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g>-тай холбогдсон."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g>-д холбогдсон."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Оролт"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Сонсголын төхөөрөмж"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Асааж байна…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Гэрэлтүүлгийг\nдавуу эрхтэй аппаас хянаж байгаа тул тохируулах боломжгүй"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Гэрэлтүүлгийгдавуу эрхтэй аппаас хянаж байгаа тул тохируулах боломжгүй"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Автоматаар эргэх"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Дэлгэцийг автоматаар эргүүлэх"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Байршил"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> нь харилцан ярианы онцлогуудыг дэмждэггүй"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Санал хүсэлт"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Хаах"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Бэхэлсэн байдлаар бүү харуул"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Шууд шинэчлэлтийг харуулж байна"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Бэхэлсэн мэдэгдэл нь аппуудын шууд мэдээллийг харуулдаг бөгөөд статусын мөр, түгжээтэй дэлгэц дээр үргэлж харагдана"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Эдгээр мэдэгдлийг өөрчлөх боломжгүй."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Дуудлагын мэдэгдлийг өөрчлөх боломжгүй."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Энэ бүлэг мэдэгдлийг энд тохируулах боломжгүй байна"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Олон ажил зэрэг хийх"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Аппыг баруун талд байгаагаар дэлгэцийг хуваахыг ашиглах"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Аппыг зүүн талд байгаагаар дэлгэцийг хуваахыг ашиглах"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Бүтэн дэлгэц рүү сэлгэх"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Дэлгэц хуваахыг ашиглаж байхдаа баруун талд эсвэл доор байх апп руу сэлгэ"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Дэлгэц хуваахыг ашиглаж байхдаа зүүн талд эсвэл дээр байх апп руу сэлгэ"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Дэлгэц хуваах үеэр: аппыг нэгээс нөгөөгөөр солих"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Бага ач холбогдолтой мэдэгдлийн дүрс тэмдгийг харуулах"</string>
     <string name="other" msgid="429768510980739978">"Бусад"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"хавтанг хасна уу"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"хавтанг сүүлийн байрлалд нэмэх"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Хавтанг зөөх"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Саяхны аппуудыг харах"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Апп сэлгэх"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Болсон"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Дахин оролдоно уу!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Буцах"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Мэдрэгч самбар дээрээ гурван хуруугаа ашиглан зүүн эсвэл баруун тийш шударна уу"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Саяхны аппуудыг харахын тулд мэдрэгч самбар дээр гурван хуруугаараа дээш шудраад, удаан дарна уу"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Бүх аппаа харахын тулд гар дээр тань байх тусгай товчлуурыг дарна уу"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Хассан"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Харахын тулд түгжээг тайлна уу"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Хам сэдэвт боловсрол"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Буцахын тулд мэдрэгч самбараа ашиглах"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Гурван хуруугаараа зүүн эсвэл баруун тийш шударна уу. Илүү олон зангаа сурахын тулд товшино уу."</string>
diff --git a/packages/SystemUI/res/values-mn/tiles_states_strings.xml b/packages/SystemUI/res/values-mn/tiles_states_strings.xml
index 678033c..7ca88e9 100644
--- a/packages/SystemUI/res/values-mn/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-mn/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Унтраалттай"</item>
     <item msgid="5908720590832378783">"Асаалттай"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Боломжгүй"</item>
+    <item msgid="6641673879029894995">"Унтраалттай"</item>
+    <item msgid="5806682401126108403">"Асаалттай"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-mr/strings.xml b/packages/SystemUI/res/values-mr/strings.xml
index 4c2fd29..6889179 100644
--- a/packages/SystemUI/res/values-mr/strings.xml
+++ b/packages/SystemUI/res/values-mr/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"ब्लूटूथ कनेक्‍ट केले."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"ब्लूटूथ डिव्‍हाइस आयकन"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"डिव्हाइसचे तपशील कॉन्फिगर करण्यासाठी क्लिक करा"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"सर्व डिव्हाइस पाहण्यासाठी क्लिक करा"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"नवीन डिव्हाइस पेअर करण्यासाठी क्लिक करा"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. डिव्हाइसचे तपशील कॉन्फिगर करा"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"सर्व डिव्हाइस पहा"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"नवीन डिव्हाइस पेअर करा"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"बॅटरीच्या चार्जिंगची टक्केवारी माहित नाही."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g> शी कनेक्‍ट केले."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> शी कनेक्ट केले."</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"इनपुट"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"श्रवणयंत्रे"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"सुरू करत आहे…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ब्राइटनेस ॲडजस्ट करू शकत नाही, कारण तो\n टॉप ॲपद्वारे नियंत्रित केला जात आहे"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ब्राइटनेस ॲडजस्ट करू शकत नाही, कारण तो टॉप ॲपद्वारे नियंत्रित केला जात आहे"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"ऑटो-रोटेट"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"ऑटो-रोटेट स्क्रीन"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"स्थान"</string>
@@ -417,7 +418,7 @@
     <string name="hearing_devices_presets_error" msgid="350363093458408536">"प्रीसेट अपडेट करता आले नाही"</string>
     <string name="hearing_devices_preset_label" msgid="7878267405046232358">"प्रीसेट"</string>
     <string name="hearing_devices_spinner_item_selected" msgid="3137083889662762383">"निवडला आहे"</string>
-    <string name="hearing_devices_ambient_label" msgid="629440938614895797">"जवळपासचे आवाज"</string>
+    <string name="hearing_devices_ambient_label" msgid="629440938614895797">"जवळपासचे"</string>
     <string name="hearing_devices_ambient_control_left" msgid="3586965448230412600">"डावे"</string>
     <string name="hearing_devices_ambient_control_right" msgid="6192137602448918383">"उजवे"</string>
     <string name="hearing_devices_ambient_expand_controls" msgid="2131816068187709200">"डाव्या आणि उजव्या स्वतंत्र नियंत्रणांचा विस्तार करा"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> हे संभाषण वैशिष्ट्यांना सपोर्ट करत नाही"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"फीडबॅक"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"डिसमिस करा"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"पिन केलेले म्हणून दाखवू नका"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"लाइव्ह अपडेट दाखवत आहे"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"पिन केलेली नोटिफिकेशन अ‍ॅप्समधील लाइव्ह माहिती दाखवतात आणि नेहमी स्टेटस बार व लॉक स्‍क्रीनवर दिसतात"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"या सूचनांमध्ये सुधारणा केली जाऊ शकत नाही."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"कॉलशी संबंधित सूचनांमध्ये फेरबदल केला जाऊ शकत नाही."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"या सूचनांचा संच येथे कॉन्फिगर केला जाऊ शकत नाही"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"मल्टिटास्किंग"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"ॲप उजवीकडे ठेवून स्प्लिट स्क्रीन वापरा"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"ॲप डावीकडे ठेवून स्प्लिट स्क्रीन वापरा"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"फुल स्क्रीनवर स्विच करणे"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"फुल स्क्रीन वापरा"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"डेस्कटॉप दृश्य पहा"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"स्प्लिट स्क्रीन वापरताना उजवीकडील किंवा खालील अ‍ॅपवर स्विच करा"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"स्प्लिट स्क्रीन वापरताना डावीकडील किंवा वरील अ‍ॅपवर स्विच करा"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"स्प्लिट स्क्रीनदरम्यान: एक अ‍ॅप दुसऱ्या अ‍ॅपने बदला"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"कमी प्राधान्य सूचना आयकन दर्शवा"</string>
     <string name="other" msgid="429768510980739978">"अन्य"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"टाइल काढून टाका"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"टाइल शेवटच्या स्थानावर जोडा"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"टाइल हलवा"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"अलीकडील अ‍ॅप्स पहा"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"अ‍ॅप्स स्विच करा"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"पूर्ण झाले"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"पुढील"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"पुन्हा प्रयत्न करा!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"मागे जा"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"तुमच्या टचपॅडवर तीन बोटांनी डावीकडे किंवा उजवीकडे स्‍वाइप करा"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"अलीकडील ॲप्स पाहण्यासाठी, टचपॅडवर तीन बोटांनी वरती स्वाइप करा आणि धरून ठेवा"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"तुमची सर्व ॲप्स पाहण्यासाठी, तुमच्या कीबोर्डवरील अ‍ॅक्शन की प्रेस करा"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"रिडॅक्ट केलेले"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"पाहण्यासाठी अनलॉक करा"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"संदर्भीय शिक्षण"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"मागे जाण्यासाठी तुमचा टचपॅड वापरा"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"तीन बोटांनी डावीकडे किंवा उजवीकडे स्वाइप करा. आणखी जेश्चर जाणून घेण्यासाठी टॅप करा."</string>
diff --git a/packages/SystemUI/res/values-mr/tiles_states_strings.xml b/packages/SystemUI/res/values-mr/tiles_states_strings.xml
index ec87659..58c4d06 100644
--- a/packages/SystemUI/res/values-mr/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-mr/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"बंद आहे"</item>
     <item msgid="5908720590832378783">"सुरू आहे"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"उपलब्ध नाही"</item>
+    <item msgid="6641673879029894995">"बंद आहे"</item>
+    <item msgid="5806682401126108403">"सुरू आहे"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml
index 93f25ff..b7e3153 100644
--- a/packages/SystemUI/res/values-ms/strings.xml
+++ b/packages/SystemUI/res/values-ms/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth disambungkan."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ikon peranti Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Klik untuk mengkonfigurasi butiran peranti"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Klik untuk melihat semua peranti"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Klik untuk menggandingkan peranti baharu"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Peratusan kuasa bateri tidak diketahui."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Disambungkan kepada <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Disambungkan ke <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Input"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Alat bantu pendengaran"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Menghidupkan…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Tidak dapat melaraskan kecerahan kerana peranti\n dikawal oleh apl popular"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Tidak dapat melaraskan kecerahan kerana peranti dikawal oleh apl popular"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Autoputar"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Autoputar skrin"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Lokasi"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> tidak menyokong ciri perbualan"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Maklum balas"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Ketepikan"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Jangan papar sebagai disemat"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Menunjukkan Kemaskinian Langsung"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Pemberitahuan yang disematkan memaparkan maklumat langsung daripada apl dan sentiasa dipaparkan pada bar status dan skrin kunci"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Pemberitahuan ini tidak boleh diubah suai."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Pemberitahuan panggilan tidak boleh diubah suai."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Kumpulan pemberitahuan ini tidak boleh dikonfigurasikan di sini"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Berbilang tugas"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Gunakan skrin pisah dengan apl pada sebelah kanan"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Gunakan skrin pisah dengan apl pada sebelah kiri"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Beralih kepada skrin penuh"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Tukar kepada apl di sebelah kanan/bawah semasa menggunakan skrin pisah"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Tukar kepada apl di sebelah kiri/atas semasa menggunakan skrin pisah"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Semasa skrin pisah: gantikan apl daripada satu apl kepada apl lain"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Tunjukkan ikon pemberitahuan keutamaan rendah"</string>
     <string name="other" msgid="429768510980739978">"Lain-lain"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"alih keluar jubin"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"tambahkan jubin pada kedudukan terakhir"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Alihkan jubin"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Lihat apl terbaharu"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Tukar apl"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Selesai"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Cuba lagi!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Kembali"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Leret ke kiri atau ke kanan menggunakan tiga jari pada pad sentuh"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Untuk melihat apl terbaharu, leret ke atas dan tahan dengan tiga jari pada pad sentuh"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Untuk melihat semua apl, tekan kekunci tindakan pada papan kekunci"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Disunting"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Buka kunci untuk melihat"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Pendidikan kontekstual"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Gunakan pad sentuh anda untuk kembali"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Leret ke kiri atau ke kanan dengan tiga jari. Ketik dan ketahui lebih lanjut tentang gerak isyarat."</string>
diff --git a/packages/SystemUI/res/values-ms/tiles_states_strings.xml b/packages/SystemUI/res/values-ms/tiles_states_strings.xml
index 6dc9827..5a55b76 100644
--- a/packages/SystemUI/res/values-ms/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-ms/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Mati"</item>
     <item msgid="5908720590832378783">"Hidup"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Tidak tersedia"</item>
+    <item msgid="6641673879029894995">"Mati"</item>
+    <item msgid="5806682401126108403">"Hidup"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-my/strings.xml b/packages/SystemUI/res/values-my/strings.xml
index bed07ef..72f0369 100644
--- a/packages/SystemUI/res/values-my/strings.xml
+++ b/packages/SystemUI/res/values-my/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"ဘလူးတုသ်ချိတ်ဆက်ထားမှု"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"ဘလူးတုသ်သုံးစက် သင်္ကေတ"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"စက်အသေးစိတ်ကို စီစဉ်သတ်မှတ်ရန် နှိပ်ပါ"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"စက်အားလုံးကြည့်ရန် နှိပ်ပါ"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"စက်အသစ် တွဲချိတ်ရန် နှိပ်ပါ"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"ဘက်ထရီရာခိုင်နှုန်းကို မသိပါ။"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g>သို့ ချိတ်ဆက်ထား"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> သို့ချိတ်ဆက်ထားပါသည်။"</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"အဝင်"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"နားကြားကိရိယာ"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"ဖွင့်နေသည်…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"၎င်းကို ထိပ်ဆုံးရှိအက်ပ်က\n ထိန်းချုပ်နေသဖြင့် တောက်ပမှုကို ပြင်ဆင်၍မရပါ"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"၎င်းကို ထိပ်ဆုံးရှိအက်ပ်က ထိန်းချုပ်နေသဖြင့် တောက်ပမှုကို ပြင်ဆင်၍မရပါ"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"အော်တို-လည်"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"မျက်နှာပြင်အား အလိုအလျောက်လှည့်ခြင်း"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"တည်နေရာ"</string>
@@ -530,7 +534,7 @@
     <string name="accessibility_action_label_remove_widget" msgid="3373779447448758070">"ဝိဂျက် ဖယ်ရှားရန်"</string>
     <string name="accessibility_action_label_place_widget" msgid="1914197458644168978">"ရွေးချယ်ထားသော ဝိဂျက်ကို တင်ရန်"</string>
     <string name="communal_widget_picker_title" msgid="1953369090475731663">"လော့ခ်မျက်နှာပြင် ဝိဂျက်များ"</string>
-    <string name="communal_widget_picker_description" msgid="490515450110487871">"တက်ဘလက်လော့ခ်ချထားသော်လည်း မည်သူမဆို လော့ခ်မျက်နှာပြင်ဝိဂျက်ကို ကြည့်နိုင်သည်။"</string>
+    <string name="communal_widget_picker_description" msgid="490515450110487871">"တက်ဘလက်လော့ခ်ချထားစဉ် မည်သူမဆို လော့ခ်မျက်နှာပြင်ရှိ ဝိဂျက်များကို မြင်နိုင်သည်။"</string>
     <string name="accessibility_action_label_unselect_widget" msgid="1041811747619468698">"ဝိဂျက် ပြန်ဖြုတ်ရန်"</string>
     <string name="accessibility_action_label_shrink_widget" msgid="8259511040536438771">"အမြင့်ကို လျှော့ရန်"</string>
     <string name="accessibility_action_label_expand_widget" msgid="9190524260912211759">"အမြင့်ကို တိုးရန်"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> က စကားဝိုင်းဝန်ဆောင်မှုများကို မပံ့ပိုးပါ"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"အကြံပြုချက်"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"ပယ်ရန်"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"ပင်ထိုးထားသည့်အတိုင်း မပြရ"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"တိုက်ရိုက် အပ်ဒိတ်များ ပြနေသည်"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"ပင်ထိုးထားသော အကြောင်းကြားချက်များသည် အက်ပ်များမှ တိုက်ရိုက်အချက်အလက်များကိုပြပြီး ၎င်းတို့ကို အခြေအနေပြဘားနှင့် လော့ခ်မျက်နှာပြင်တို့တွင် အမြဲမြင်ရသည်"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"ဤအကြောင်းကြားချက်များကို ပြုပြင်၍ မရပါ။"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"ခေါ်ဆိုမှုအကြောင်းကြားချက်များကို ပြင်၍မရပါ။"</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"ဤအကြောင်းကြားချက်အုပ်စုကို ဤနေရာတွင် စီစဉ်သတ်မှတ်၍ မရပါ"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"တစ်ပြိုင်နက် များစွာလုပ်ခြင်း"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"အက်ပ်ကို ညာ၌ထားကာ မျက်နှာပြင် ခွဲ၍ပြသခြင်း သုံးရန်"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"အက်ပ်ကို ဘယ်၌ထားကာ မျက်နှာပြင် ခွဲ၍ပြသခြင်း သုံးရန်"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"ဖန်သားပြင်အပြည့် ပြောင်းရန်"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"မျက်နှာပြင်ခွဲ၍ပြသခြင်း သုံးစဉ် ညာ (သို့) အောက်ရှိအက်ပ်သို့ ပြောင်းရန်"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"မျက်နှာပြင် ခွဲ၍ပြသခြင်းသုံးစဉ် ဘယ် (သို့) အထက်ရှိအက်ပ်သို့ ပြောင်းရန်"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"မျက်နှာပြင် ခွဲ၍ပြသစဉ်- အက်ပ်တစ်ခုကို နောက်တစ်ခုနှင့် အစားထိုးရန်"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"အရေးမကြီးသော အကြောင်းကြားချက် သင်္ကေတများ ပြရန်"</string>
     <string name="other" msgid="429768510980739978">"အခြား"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"အကွက်ငယ်ကို ဖယ်ရှားရန်"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"နောက်ဆုံးနေရာတွင် အကွက်ငယ် ထည့်ရန်"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"အကွက်ငယ်ကို ရွှေ့ရန်"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"မကြာသေးမီကအက်ပ်များကို ကြည့်ရန်"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"အက်ပ်များကူးပြောင်းခြင်း"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"ပြီးပြီ"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"ထပ်စမ်းကြည့်ပါ။"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"ပြန်သွားရန်"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"သင့်တာ့ချ်ပက်တွင် လက်သုံးချောင်းဖြင့် ဘယ် (သို့) ညာသို့ ပွတ်ဆွဲပါ"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"လတ်တလောအက်ပ်များကို ကြည့်ရန် တာ့ချ်ပက်ပေါ်တွင် လက်သုံးချောင်းဖြင့် အပေါ်သို့ပွတ်ဆွဲပြီး ဖိထားပါ"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"သင့်အက်ပ်အားလုံးကြည့်ရန် ကီးဘုတ်ပေါ်ရှိ လုပ်ဆောင်ချက်ကီးကို နှိပ်ပါ"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"အစားထိုးထားသည်"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"ကြည့်ရန် ဖွင့်ပါ"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"အကြောင်းအရာအလိုက် ပညာရေး"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"နောက်ပြန်သွားရန် သင့်တာ့ချ်ပက်ကို သုံးပါ"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"လက်သုံးချောင်းဖြင့် ဘယ် (သို့) ညာသို့ ပွတ်ဆွဲပါ။ လက်ဟန်များ ပိုမိုလေ့လာရန် တို့ပါ။"</string>
diff --git a/packages/SystemUI/res/values-my/tiles_states_strings.xml b/packages/SystemUI/res/values-my/tiles_states_strings.xml
index 424b4b9..7789205 100644
--- a/packages/SystemUI/res/values-my/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-my/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"ပိတ်"</item>
     <item msgid="5908720590832378783">"ဖွင့်"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"မရနိုင်ပါ"</item>
+    <item msgid="6641673879029894995">"ပိတ်"</item>
+    <item msgid="5806682401126108403">"ဖွင့်"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index 7e87efc..72d7956 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth er tilkoblet."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ikon for Bluetooth-enheter"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Klikk for å konfigurere enhetsdetaljer"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Klikk for å se alle enhetene"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Klikk for å koble sammen en ny enhet"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Batteriprosenten er ukjent."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Koblet til <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Koblet til <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Innenhet"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Høreapparater"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Slår på …"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Kan ikke justere lysstyrken, fordi den\n kontrolleres av appen på toppen"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Kan ikke justere lysstyrken, fordi den kontrolleres av appen på toppen"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Rotér automatisk"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Rotér skjermen automatisk"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Sted"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> støtter ikke samtalefunksjoner"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Tilbakemelding"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Lukk"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Ikke vis som festet"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Viser direkteoppdateringer"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Festede varsler viser sanntidsinformasjon fra apper og vises alltid i statusfeltet og på låseskjermen"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Disse varslene kan ikke endres."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Anropsvarsler kan ikke endres."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Denne varselgruppen kan ikke konfigureres her"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitasking"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Bruk delt skjerm med appen til høyre"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Bruk delt skjerm med appen til venstre"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Bytt til fullskjerm"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Bytt til appen til høyre eller under mens du bruker delt skjerm"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Bytt til appen til venstre eller over mens du bruker delt skjerm"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"I delt skjerm: Bytt ut en app"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Vis ikoner for varsler med lav prioritet"</string>
     <string name="other" msgid="429768510980739978">"Annet"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"fjerne infobrikken"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"legge til en brikke på den siste posisjonen"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Flytt infobrikken"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Se nylige apper"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Bytt app"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Ferdig"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Prøv på nytt."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Gå tilbake"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Sveip til venstre eller høyre med tre fingre på styreflaten"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"For å se nylige apper, sveip opp og hold med tre fingre på styreflaten"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"For å se alle appene dine, trykk på handlingstasten på tastaturet"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Fjernet"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Lås opp for å se"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontekstuell opplæring"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Bruk styreflaten for å gå tilbake"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Sveip til venstre eller høyre med tre fingre. Trykk for å lære flere bevegelser."</string>
diff --git a/packages/SystemUI/res/values-nb/tiles_states_strings.xml b/packages/SystemUI/res/values-nb/tiles_states_strings.xml
index bbeafd8..25b2205 100644
--- a/packages/SystemUI/res/values-nb/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-nb/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Av"</item>
     <item msgid="5908720590832378783">"På"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Utilgjengelig"</item>
+    <item msgid="6641673879029894995">"Av"</item>
+    <item msgid="5806682401126108403">"På"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml
index cc07b7f..8e0ee77 100644
--- a/packages/SystemUI/res/values-ne/strings.xml
+++ b/packages/SystemUI/res/values-ne/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"ब्लुटुथ जडान भयो।"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"ब्लुटुथ डिभाइस जनाउने आइकन"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"डिभाइसको विवरण कन्फिगर गर्न क्लिक गर्नुहोस्"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"सबै डिभाइसहरू हेर्न क्लिक गर्नुहोस्"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"नयाँ डिभाइसमा कनेक्ट गर्न क्लिक गर्नुहोस्"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"ब्याट्रीमा कति प्रतिशत चार्ज छ भन्ने कुराको जानाकरी छैन।"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g> मा जडित।"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> मा कनेक्ट गरियो।"</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"इनपुट"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"हियरिङ डिभाइसहरू"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"सक्रिय गर्दै…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"टप एपले चमक नियन्त्रण गरिरहेकाले\n चमक मिलाउन मिल्दैन"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"टप एपले चमक नियन्त्रण गरिरहेकाले चमक मिलाउन मिल्दैन"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"अटो रोटेट"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"स्क्रिन स्वतःघुम्ने"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"लोकेसन"</string>
@@ -424,7 +428,7 @@
     <string name="hearing_devices_ambient_collapse_controls" msgid="2261097656446201581">"कोल्याप्स गरी एउटै कन्ट्रोल बनाउनुहोस्"</string>
     <string name="hearing_devices_ambient_mute" msgid="1836882837647429416">"वरपरका आवाज म्युट गर्नुहोस्"</string>
     <string name="hearing_devices_ambient_unmute" msgid="2187938085943876814">"वरपरका आवाज अनम्युट गर्नुहोस्"</string>
-    <string name="hearing_devices_tools_label" msgid="1929081464316074476">"टुल"</string>
+    <string name="hearing_devices_tools_label" msgid="1929081464316074476">"टुलहरू"</string>
     <string name="quick_settings_hearing_devices_live_caption_title" msgid="1054814050932225451">"लाइभ क्याप्सन"</string>
     <string name="quick_settings_notes_label" msgid="1028004078001002623">"नोट"</string>
     <string name="sensor_privacy_start_use_mic_dialog_title" msgid="563796653825944944">"डिभाइसको माइक्रोफोन अनब्लक गर्ने हो?"</string>
@@ -506,7 +510,7 @@
     <string name="communal_tutorial_indicator_text" msgid="4503010353591430123">"कम्युनल ट्युटोरियल सुरु गर्न बायाँतिर स्वाइप गर्नुहोस्"</string>
     <string name="cta_tile_button_to_open_widget_editor" msgid="3871562362382963878">"कस्टमाइज गर्नुहोस्"</string>
     <string name="cta_tile_button_to_dismiss" msgid="3377597875997861754">"खारेज गर्नुहोस्"</string>
-    <string name="cta_label_to_edit_widget" msgid="6496885074209203756">"यो स्पेसमा आफ्ना विजेटहरू हाल्नुहोस्, हटाउनुहोस् र तिनका क्रम फेरि मिलाउनुहोस्"</string>
+    <string name="cta_label_to_edit_widget" msgid="6496885074209203756">"यो स्पेसमा विजेटहरू हाल्नुहोस्, हटाउनुहोस् र तिनको क्रम मिलाउनुहोस्"</string>
     <string name="cta_label_to_open_widget_picker" msgid="3874946756976360699">"थप विजेटहरू हाल्नुहोस्"</string>
     <string name="popup_on_dismiss_cta_tile_text" msgid="8292501780996070019">"विजेटहरू कस्टमाइज गर्न केही बेरसम्म थिच्नुहोस्"</string>
     <string name="button_to_configure_widgets_text" msgid="4191862850185256901">"विजेटहरू कस्टमाइज गर्नुहोस्"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> मा वार्तालापसम्बन्धी सुविधा प्रयोग गर्न मिल्दैन"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"प्रतिक्रिया"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"हटाउनुहोस्"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"पिन गरिएका अपडेटका रूपमा नदेखाउनुहोस्"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"लाइभ अपडेटहरू देखाइँदै छन्"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"पिन गरिएका नोटिफिकेसनमा एपहरूबाट प्राप्त हालको जानकारी देखाइन्छ र ती नोटिफिकेसन सधैँ स्ट्याटस बार र लक स्क्रिनमा देखिन्छन्"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"यी सूचनाहरू परिमार्जन गर्न मिल्दैन।"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"कलसम्बन्धी सूचनाहरू परिमार्जन गर्न मिल्दैन।"</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"यहाँबाट सूचनाहरूको यो समूह कन्फिगर गर्न सकिँदैन"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"मल्टिटास्किङ"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"हालको एप दायाँ भागमा पारेर स्प्लिट स्क्रिन प्रयोग गर्नुहोस्"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"हालको एप बायाँ भागमा पारेर स्प्लिट स्क्रिन प्रयोग गर्नुहोस्"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"फुल स्क्रिन प्रयोग गर्नुहोस्"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"स्प्लिट स्क्रिन प्रयोग गर्दै गर्दा दायाँ वा तलको एप चलाउनुहोस्"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"स्प्लिट स्क्रिन प्रयोग गर्दै गर्दा बायाँ वा माथिको एप चलाउनुहोस्"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"स्प्लिट स्क्रिन प्रयोग गरिएका बेला: एउटा स्क्रिनमा भएको एप अर्कोमा लैजानुहोस्"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"कम प्राथमिकताका सूचना आइकनहरू देखाउनुहोस्"</string>
     <string name="other" msgid="429768510980739978">"अन्य"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"टाइल हटाउनुहोस्"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"अन्तिम स्थानमा टाइल हाल्नुहोस्"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"टाइल सार्नुहोस्"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"हालसालै चलाइएका एपहरू हेर्नुहोस्"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"एपहरू बदल्नुहोस्"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"सम्पन्न भयो"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"फेरि प्रयास गर्नुहोस्!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"पछाडि जानुहोस्"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"तीन वटा औँला प्रयोग गरी टचप्याडमा बायाँ वा दायाँतिर स्वाइप गर्नुहोस्"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"आफूले हालसालै चलाएका एपहरू हेर्न तीन वटा औँलाले टचप्याडमा माथितिर स्वाइप गर्नुहोस् र होल्ड गर्नुहोस्"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"आफ्ना सबै एपहरू हेर्न आफ्नो किबोर्डमा भएको एक्सन की थिच्नुहोस्"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"जानकारी लुकाउन सम्पादन गरिएको"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"हेर्नका लागि अनलक गर्नुहोस्"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"सान्दर्भिक शिक्षा"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"पछाडि जान आफ्नो टचप्याड प्रयोग गर्नुहोस्"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"तीन वटा औँला प्रयोग गरी बायाँ वा दायाँतिर स्वाइप गर्नुहोस्। थप जेस्चर प्रयोग गर्ने तरिका सिक्न ट्याप गर्नुहोस्।"</string>
diff --git a/packages/SystemUI/res/values-ne/tiles_states_strings.xml b/packages/SystemUI/res/values-ne/tiles_states_strings.xml
index de3baa0..fe812f8 100644
--- a/packages/SystemUI/res/values-ne/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-ne/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"अफ छ"</item>
     <item msgid="5908720590832378783">"अन छ"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"उपलब्ध छैन"</item>
+    <item msgid="6641673879029894995">"अफ छ"</item>
+    <item msgid="5806682401126108403">"अन छ"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index b778cec..e789798 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth-verbinding ingesteld."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Icoon voor bluetooth-apparaat"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Klik om de apparaatgegevens in te stellen"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Klik om alle apparaten te bekijken"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Klik om nieuw apparaat te koppelen"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Batterijpercentage onbekend."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Verbonden met <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Verbonden met <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Invoer"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Hoortoestellen"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Aanzetten…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Kan de helderheid niet aanpassen omdat deze wordt\n beheerd door de bovenste app"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Kan de helderheid niet aanpassen omdat deze wordt beheerd door de bovenste app"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Automatisch draaien"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Scherm automatisch draaien"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Locatie"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> ondersteunt geen gespreksfuncties"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Feedback"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Sluiten"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Niet tonen als vastgezet"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Live updates worden getoond"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Vastgezette meldingen tonen live informatie van apps en verschijnen altijd in de statusbalk en op het vergrendelscherm"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Deze meldingen kunnen niet worden aangepast."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Gespreksmeldingen kunnen niet worden aangepast."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Deze groep meldingen kan hier niet worden ingesteld"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitasken"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Gesplitst scherm gebruiken met de app aan de rechterkant"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Gesplitst scherm gebruiken met de app aan de linkerkant"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Overschakelen naar volledig scherm"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Naar de app rechts of onderaan gaan als je een gesplitst scherm gebruikt"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Naar de app links of bovenaan gaan als je een gesplitst scherm gebruikt"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Tijdens gesplitst scherm: een app vervangen door een andere"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Iconen voor meldingen met lage prioriteit tonen"</string>
     <string name="other" msgid="429768510980739978">"Overig"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"tegel verwijderen"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"tegel toevoegen op de laatste positie"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Tegel verplaatsen"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Recente apps bekijken"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Wisselen tussen apps"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Klaar"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Probeer het nog eens."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Terug"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Swipe met 3 vingers naar links of rechts op de touchpad"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Als je recente apps wilt bekijken, swipe je met 3 vingers omhoog op de touchpad en houd je vast"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Als je alle apps wilt bekijken, druk je op de actietoets op je toetsenbord"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Verborgen"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Ontgrendelen om te bekijken"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Contextuele educatie"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Je touchpad gebruiken om terug te gaan"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Swipe met 3 vingers naar links of rechts. Tik voor meer gebaren."</string>
diff --git a/packages/SystemUI/res/values-nl/tiles_states_strings.xml b/packages/SystemUI/res/values-nl/tiles_states_strings.xml
index 90572b6..bb8fbe0 100644
--- a/packages/SystemUI/res/values-nl/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-nl/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Uit"</item>
     <item msgid="5908720590832378783">"Aan"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Niet beschikbaar"</item>
+    <item msgid="6641673879029894995">"Uit"</item>
+    <item msgid="5806682401126108403">"Aan"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-or/strings.xml b/packages/SystemUI/res/values-or/strings.xml
index 0ef622b..469ae28 100644
--- a/packages/SystemUI/res/values-or/strings.xml
+++ b/packages/SystemUI/res/values-or/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"ବ୍ଲୁଟୂଥ୍‍‌ ସଂଯୋଗ କରାଯାଇଛି।"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"ବ୍ଲୁଟୁଥ ଡିଭାଇସ ଆଇକନ"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"ଡିଭାଇସ ବିବରଣୀକୁ କନଫିଗର କରିବା ପାଇଁ କ୍ଲିକ କରନ୍ତୁ"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"ସମସ୍ତ ଡିଭାଇସ ଦେଖିବାକୁ କ୍ଲିକ କରନ୍ତୁ"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"ନୂଆ ଡିଭାଇସ ପେୟାର କରିବାକୁ କ୍ଲିକ କରନ୍ତୁ"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"ବ୍ୟାଟେରୀ ଶତକଡ଼ା ଅଜଣା ଅଟେ।"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g> ସହ ସଂଯୁକ୍ତ"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> ସହିତ ସଂଯୁକ୍ତ।"</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"ଇନପୁଟ୍"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"ଶ୍ରବଣ ଯନ୍ତ୍ର"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"ଅନ୍ ହେଉଛି…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ଟପ ଆପ ଦ୍ୱାରା ଉଜ୍ଜ୍ୱଳତା ନିୟନ୍ତ୍ରିତ\nହେଉଥିବା ଯୋଗୁଁ ଏହାକୁ ଆଡଜଷ୍ଟ କରିପାରିବେ ନାହିଁ"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ଟପ ଆପ ଦ୍ୱାରା ଉଜ୍ଜ୍ୱଳତା ନିୟନ୍ତ୍ରିତହେଉଥିବା ଯୋଗୁଁ ଏହାକୁ ଆଡଜଷ୍ଟ କରିପାରିବେ ନାହିଁ"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"ଅଟୋ-ରୋଟେଟ"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"ଅଟୋ-ରୋଟେଟ ସ୍କ୍ରିନ"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"ଲୋକେସନ"</string>
@@ -354,7 +358,7 @@
     <string name="quick_settings_inversion_label" msgid="3501527749494755688">"କଲର ଇନଭର୍ସନ"</string>
     <string name="quick_settings_color_correction_label" msgid="5636617913560474664">"ରଙ୍ଗ ସଂଶୋଧନ"</string>
     <string name="quick_settings_font_scaling_label" msgid="5289001009876936768">"ଫଣ୍ଟର ଆକାର"</string>
-    <string name="quick_settings_more_user_settings" msgid="7634653308485206306">"ୟୁଜରମାନଙ୍କୁ ପରିଚାଳନା କରନ୍ତୁ"</string>
+    <string name="quick_settings_more_user_settings" msgid="7634653308485206306">"ୟୁଜରଙ୍କୁ ପରିଚାଳନା"</string>
     <string name="quick_settings_done" msgid="2163641301648855793">"ହୋଇଗଲା"</string>
     <string name="quick_settings_close_user_panel" msgid="5599724542275896849">"ବନ୍ଦ କରନ୍ତୁ"</string>
     <string name="quick_settings_connected" msgid="3873605509184830379">"ସଂଯୁକ୍ତ"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> ବାର୍ତ୍ତାଳାପ ଫିଚରଗୁଡ଼ିକୁ ସମର୍ଥନ କରେ ନାହିଁ"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"ମତାମତ"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"ଖାରଜ କରନ୍ତୁ"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"ପିନ ଥିବା ଭାବେ ଦେଖାନ୍ତୁ ନାହିଁ"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"ଲାଇଭ ଅପଡେଟଗୁଡ଼ିକୁ ଦେଖାଉଛି"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"ପିନ କରାଯାଇଥିବା ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ଆପ୍ସରୁ ଲାଇଭ ସୂଚନା ଡିସପ୍ଲେ କରେ ଏବଂ ସର୍ବଦା ଷ୍ଟାଟସ ବାର ଓ ଲକ ସ୍କ୍ରିନରେ ଦେଖାଯାଏ"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"ଏହି ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ପରିବର୍ତ୍ତନ କରିହେବ ନାହିଁ।"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"କଲ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ପରିବର୍ତ୍ତନ କରାଯାଇପାରିବ ନାହିଁ।"</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"ଏଠାରେ ଏହି ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକର ଗ୍ରୁପ୍ କନଫ୍ୟୁଗର୍ କରାଯାଇପାରିବ ନାହିଁ"</string>
@@ -835,7 +836,7 @@
     <string name="notification_menu_gear_description" msgid="6429668976593634862">"ବିଜ୍ଞପ୍ତି ନିୟନ୍ତ୍ରଣ"</string>
     <string name="notification_menu_snooze_description" msgid="4740133348901973244">"ବିଜ୍ଞପ୍ତି ସ୍ନୁଜ୍‍ ବିକଳ୍ପ"</string>
     <string name="notification_menu_snooze_action" msgid="5415729610393475019">"ମୋତେ ରିମାଇଣ୍ଡର୍ କରନ୍ତୁ"</string>
-    <string name="snooze_undo" msgid="2738844148845992103">"ପୂର୍ବବତ୍ କରନ୍ତୁ"</string>
+    <string name="snooze_undo" msgid="2738844148845992103">"ଅନଡୁ କରନ୍ତୁ"</string>
     <string name="snooze_undo_content_description" msgid="2711656788917580801">"ବିଜ୍ଞପ୍ତି ସ୍ନୁଜକୁ ପୂର୍ବବତ କରନ୍ତୁ"</string>
     <string name="snoozed_for_time" msgid="7586689374860469469">"<xliff:g id="TIME_AMOUNT">%1$s</xliff:g> ପାଇଁ ସ୍ନୁଜ୍‍ କରାଗଲା"</string>
     <string name="snoozeHourOptions" msgid="2332819756222425558">"{count,plural, =1{# ଘଣ୍ଟା}=2{# ଘଣ୍ଟା}other{# ଘଣ୍ଟା}}"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"ମଲ୍ଟିଟାସ୍କିଂ"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"ଡାହାଣରେ ଆପ ସହିତ ସ୍ପ୍ଲିଟ ସ୍କ୍ରିନକୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"ବାମରେ ଆପ ସହିତ ସ୍ପ୍ଲିଟ ସ୍କ୍ରିନକୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନକୁ ସୁଇଚ କରନ୍ତୁ"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"ସ୍ପ୍ଲିଟ ସ୍କ୍ରିନ ବ୍ୟବହାର କରିବା ସମୟରେ ଡାହାଣପଟର ବା ତଳର ଆପକୁ ସୁଇଚ କରନ୍ତୁ"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"ସ୍ପ୍ଲିଟ ସ୍କ୍ରିନ ବ୍ୟବହାର କରିବା ସମୟରେ ବାମପଟର ବା ଉପରର ଆପକୁ ସୁଇଚ କରନ୍ତୁ"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"ସ୍ପ୍ଲିଟ ସ୍କ୍ରିନ ସମୟରେ: କୌଣସି ଆପକୁ ଗୋଟିଏରୁ ଅନ୍ୟ ଏକ ଆପରେ ବଦଳାନ୍ତୁ"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"କମ୍‍-ଅଗ୍ରାଧିକାର ବିଜ୍ଞପ୍ତି ଆଇକନ୍‍ ଦେଖାନ୍ତୁ"</string>
     <string name="other" msgid="429768510980739978">"ଅନ୍ୟ"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"ଟାଇଲ୍ କାଢ଼ି ଦିଅନ୍ତୁ"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"ଶେଷ ପୋଜିସନରେ ଟାଇଲ ଯୋଗ କରିବା"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"ଟାଇଲ୍ ମୁଭ୍ କରନ୍ତୁ"</string>
@@ -1132,7 +1138,7 @@
     <string name="accessibility_magnification_magnifier_window_settings" msgid="2834685072221468434">"ମ୍ୟାଗ୍ନିଫାୟର ୱିଣ୍ଡୋର ସେଟିଂସ"</string>
     <string name="accessibility_floating_button_migration_tooltip" msgid="5217151214439341902">"ଆକ୍ସେସିବିଲିଟୀ ଫିଚର ଖୋଲିବାକୁ ଟାପ କରନ୍ତୁ। ସେଟିଂସରେ ଏହି ବଟନକୁ କଷ୍ଟମାଇଜ କର କିମ୍ବା ବଦଳାଅ।\n\n"<annotation id="link">"ସେଟିଂସ ଦେଖନ୍ତୁ"</annotation></string>
     <string name="accessibility_floating_button_docking_tooltip" msgid="6814897496767461517">"ବଟନକୁ ଅସ୍ଥାୟୀ ଭାବେ ଲୁଚାଇବା ପାଇଁ ଏହାକୁ ଗୋଟିଏ ଧାରକୁ ମୁଭ୍ କରନ୍ତୁ"</string>
-    <string name="accessibility_floating_button_undo" msgid="511112888715708241">"ପୂର୍ବବତ୍ କରନ୍ତୁ"</string>
+    <string name="accessibility_floating_button_undo" msgid="511112888715708241">"ଅନଡୁ କରନ୍ତୁ"</string>
     <string name="accessibility_floating_button_hidden_notification_title" msgid="4115036997406994799">"ଆକ୍ସେସିବିଲିଟୀ ବଟନକୁ ଲୁଚାଯାଇଛି"</string>
     <string name="accessibility_floating_button_hidden_notification_text" msgid="1457021647040915658">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ ଦେଖାଇବାକୁ ଟାପ କରନ୍ତୁ"</string>
     <string name="accessibility_floating_button_undo_message_label_text" msgid="9017658016426242640">"<xliff:g id="FEATURE_NAME">%s</xliff:g> ସର୍ଟକଟକୁ କାଢ଼ି ଦିଆଯାଇଛି"</string>
@@ -1210,7 +1216,7 @@
     <string name="controls_media_smartspace_rec_item_description" msgid="2189271793070870883">"<xliff:g id="APP_LABEL">%3$s</xliff:g>ରୁ <xliff:g id="ARTIST_NAME">%2$s</xliff:g>ଙ୍କ <xliff:g id="SONG_NAME">%1$s</xliff:g> ଚଲାନ୍ତୁ"</string>
     <string name="controls_media_smartspace_rec_item_no_artist_description" msgid="8703614798636591077">"<xliff:g id="APP_LABEL">%2$s</xliff:g>ରୁ <xliff:g id="SONG_NAME">%1$s</xliff:g> ଚଲାନ୍ତୁ"</string>
     <string name="controls_media_smartspace_rec_header" msgid="5053461390357112834">"ଆପଣଙ୍କ ପାଇଁ"</string>
-    <string name="media_transfer_undo" msgid="1895606387620728736">"ପୂର୍ବବତ୍ କରନ୍ତୁ"</string>
+    <string name="media_transfer_undo" msgid="1895606387620728736">"ଅନଡୁ କରନ୍ତୁ"</string>
     <string name="media_move_closer_to_start_cast" msgid="2673104707465013176">"<xliff:g id="DEVICENAME">%1$s</xliff:g>ରେ ପ୍ଲେ କରିବା ପାଇଁ ପାଖକୁ ମୁଭ କରନ୍ତୁ"</string>
     <string name="media_move_closer_to_end_cast" msgid="7302555909119374738">"ଏଠାରେ ପ୍ଲେ କରିବା ପାଇଁ <xliff:g id="DEVICENAME">%1$s</xliff:g> ପାଖକୁ ମୁଭ କରନ୍ତୁ"</string>
     <string name="media_transfer_playing_different_device" msgid="7186806382609785610">"<xliff:g id="DEVICENAME">%1$s</xliff:g>ରେ ପ୍ଲେ ହେଉଛି"</string>
@@ -1356,7 +1362,7 @@
     <string name="clipboard_image_preview" msgid="2156475174343538128">"ଇମେଜ ପ୍ରିଭ୍ୟୁ"</string>
     <string name="clipboard_edit" msgid="4500155216174011640">"ଏଡିଟ କରନ୍ତୁ"</string>
     <string name="add" msgid="81036585205287996">"ଯୋଗ କରନ୍ତୁ"</string>
-    <string name="manage_users" msgid="1823875311934643849">"ୟୁଜରମାନଙ୍କୁ ପରିଚାଳନା କରନ୍ତୁ"</string>
+    <string name="manage_users" msgid="1823875311934643849">"ୟୁଜରଙ୍କୁ ପରିଚାଳନା"</string>
     <string name="drag_split_not_supported" msgid="7173481676120546121">"ଏହି ବିଜ୍ଞପ୍ତି ସ୍ପ୍ଲିଟ ସ୍କ୍ରିନକୁ ଟାଣିବାକୁ ସମର୍ଥନ କରେ ନାହିଁ"</string>
     <string name="dream_overlay_location_active" msgid="6484763493158166618">"ଲୋକେସନ ସକ୍ରିୟ ଅଛି"</string>
     <string name="dream_overlay_status_bar_wifi_off" msgid="4497069245055003582">"ୱାଇ-ଫାଇ ଉପଲବ୍ଧ ନାହିଁ"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"ବର୍ତ୍ତମାନର ଆପ୍ସ ଭ୍ୟୁ କରନ୍ତୁ"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"ଆପ୍ସକୁ ସୁଇଚ କରନ୍ତୁ"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"ହୋଇଗଲା"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"ପଛକୁ ଫେରନ୍ତୁ"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"ଆପଣଙ୍କ ଟଚପେଡରେ ତିନୋଟି ଆଙ୍ଗୁଠି ବ୍ୟବହାର କରି ବାମ କିମ୍ବା ଡାହାଣକୁ ସ୍ୱାଇପ କରନ୍ତୁ"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"ବର୍ତ୍ତମାନର ଆପ୍ସ ଭ୍ୟୁ କରିବାକୁ, ଟଚପେଡରେ ତିନୋଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ କରି ଧରି ରଖନ୍ତୁ"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"ଆପଣଙ୍କ ସମସ୍ତ ଆପ୍ସ ଭ୍ୟୁ କରିବା ପାଇଁ ଆପଣଙ୍କ କୀବୋର୍ଡରେ ଆକ୍ସନ କୀ\'କୁ ଦବାନ୍ତୁ"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"ଲୁଚା ଯାଇଥିବା"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"ଭ୍ୟୁ କରିବାକୁ ଅନଲକ କରନ୍ତୁ"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"ପ୍ରାସଙ୍ଗିକ ଶିକ୍ଷା"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"ପଛକୁ ଫେରିବା ପାଇଁ ଆପଣଙ୍କ ଟଚପେଡକୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"ତିନୋଟି ଆଙ୍ଗୁଠିରେ ବାମ ବା ଡାହାଣକୁ ସ୍ୱାଇପ କରନ୍ତୁ। ଜେଶ୍ଚରଗୁଡ଼ିକ ବିଷୟରେ ଅଧିକ ଜାଣିବାକୁ ଟାପ କରନ୍ତୁ।"</string>
diff --git a/packages/SystemUI/res/values-or/tiles_states_strings.xml b/packages/SystemUI/res/values-or/tiles_states_strings.xml
index c9c3198..eae984b 100644
--- a/packages/SystemUI/res/values-or/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-or/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"ବନ୍ଦ ଅଛି"</item>
     <item msgid="5908720590832378783">"ଚାଲୁ ଅଛି"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"ଅନୁପଲବ୍ଧ"</item>
+    <item msgid="6641673879029894995">"ବନ୍ଦ ଅଛି"</item>
+    <item msgid="5806682401126108403">"ଚାଲୁ ଅଛି"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-pa/strings.xml b/packages/SystemUI/res/values-pa/strings.xml
index 4be78a3..70d2497 100644
--- a/packages/SystemUI/res/values-pa/strings.xml
+++ b/packages/SystemUI/res/values-pa/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth ਕਨੈਕਟ ਕੀਤੀ।"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"ਬਲੂਟੁੱਥ ਡੀਵਾਈਸ ਦਾ ਪ੍ਰਤੀਕ"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"ਡੀਵਾਈਸ ਦੇ ਵੇਰਵੇ ਦਾ ਸੰਰੂਪਣ ਕਰਨ ਲਈ ਕਲਿੱਕ ਕਰੋ"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"\'ਸਾਰੇ ਡੀਵਾਈਸ ਦੇਖੋ\' \'ਤੇ ਕਲਿੱਕ ਕਰੋ"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"\'ਨਵਾਂ ਡੀਵਾਈਸ ਜੋੜਾਬੱਧ ਕਰੋ\' \'ਤੇ ਕਲਿੱਕ ਕਰੋ"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. ਡੀਵਾਈਸ ਦੇ ਵੇਰਵੇ ਦਾ ਸੰਰੂਪਣ ਕਰੋ"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"ਸਾਰੇ ਡੀਵਾਈਸ ਦੇਖੋ"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"ਨਵਾਂ ਡੀਵਾਈਸ ਜੋੜਾਬੱਧ ਕਰੋ"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"ਬੈਟਰੀ ਪ੍ਰਤੀਸ਼ਤ ਅਗਿਆਤ ਹੈ।"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ।"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ ਗਿਆ।"</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"ਇਨਪੁੱਟ"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"ਸੁਣਨ ਦੇ ਸਾਧਨ"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"ਚਾਲੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ਚਮਕ ਨੂੰ ਵਿਵਸਥਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਕਿਉਂਕਿ ਇਹ ਪਹਿਲਾਂ ਚੱਲ ਰਹੀ ਐਪ ਵੱਲੋਂ ਕੰਟਰੋਲ ਕਰਨ ਕਰਕੇ \n ਹੋ ਰਿਹਾ ਹੈ"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ਚਮਕ ਨੂੰ ਵਿਵਸਥਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਕਿਉਂਕਿ ਇਹ ਪਹਿਲਾਂ ਚੱਲ ਰਹੀ ਐਪ ਵੱਲੋਂ ਕੰਟਰੋਲ ਕਰਨ ਕਰਕੇ ਹੋ ਰਿਹਾ ਹੈ"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"ਸਵੈ-ਘੁਮਾਓ"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"ਸਕ੍ਰੀਨ ਨੂੰ ਆਪਣੇ ਆਪ ਘੁੰਮਾਓ"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"ਟਿਕਾਣਾ"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਐਪ ਗੱਲਬਾਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀ"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"ਵਿਚਾਰ"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"ਖਾਰਜ ਕਰੋ"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"ਪਿੰਨ ਕੀਤੇ ਵਜੋਂ ਨਾ ਦਿਖਾਓ"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"ਲਾਈਵ ਅੱਪਡੇਟ ਦਿਖਾਏ ਜਾ ਰਹੇ ਹਨ"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"ਪਿੰਨ ਕੀਤੀਆਂ ਸੂਚਨਾਵਾਂ ਐਪਾਂ ਤੋਂ ਲਾਈਵ ਜਾਣਕਾਰੀ ਦਿਖਾਉਂਦੀਆਂ ਹਨ ਅਤੇ ਇਹ ਜਾਣਕਾਰੀ ਹਮੇਸ਼ਾਂ ਸਥਿਤੀ ਪੱਟੀ ਅਤੇ ਲਾਕ ਸਕ੍ਰੀਨ \'ਤੇ ਦਿਖਦੀ ਹੈ"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"ਇਹਨਾਂ ਸੂਚਨਾਵਾਂ ਨੂੰ ਸੋਧਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ।"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"ਕਾਲ ਸੰਬੰਧੀ ਸੂਚਨਾਵਾਂ ਨੂੰ ਸੋਧਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ।"</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"ਇਹ ਸੂਚਨਾਵਾਂ ਦਾ ਗਰੁੱਪ ਇੱਥੇ ਸੰਰੂਪਿਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"ਮਲਟੀਟਾਸਕਿੰਗ"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"ਸੱਜੇ ਪਾਸੇ ਵਾਲੀ ਐਪ ਨਾਲ ਸਪਲਿਟ ਸਕ੍ਰੀਨ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"ਖੱਬੇ ਪਾਸੇ ਵਾਲੀ ਐਪ ਨਾਲ ਸਪਲਿਟ ਸਕ੍ਰੀਨ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"ਪੂਰੀ-ਸਕ੍ਰੀਨ \'ਤੇ ਸਵਿੱਚ ਕਰੋ"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"ਪੂਰੀ ਸਕ੍ਰੀਨ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"ਡੈਸਕਟਾਪ ਦ੍ਰਿਸ਼ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"ਸਪਲਿਟ ਸਕ੍ਰੀਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵੇਲੇ ਸੱਜੇ ਜਾਂ ਹੇਠਾਂ ਮੌਜੂਦ ਐਪ \'ਤੇ ਸਵਿੱਚ ਕਰੋ"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"ਸਪਲਿਟ ਸਕ੍ਰੀਨ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵੇਲੇ ਖੱਬੇ ਜਾਂ ਉੱਪਰ ਮੌਜੂਦ ਐਪ \'ਤੇ ਸਵਿੱਚ ਕਰੋ"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"ਸਪਲਿਟ ਸਕ੍ਰੀਨ ਦੌਰਾਨ: ਇੱਕ ਐਪ ਨਾਲ ਦੂਜੀ ਐਪ ਨੂੰ ਬਦਲੋ"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"ਘੱਟ ਤਰਜੀਹ ਵਾਲੇ ਸੂਚਨਾ ਪ੍ਰਤੀਕਾਂ ਨੂੰ ਦਿਖਾਓ"</string>
     <string name="other" msgid="429768510980739978">"ਹੋਰ"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"ਟਾਇਲ ਹਟਾਓ"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"ਪਿਛਲੀ ਸਥਿਤੀ \'ਤੇ ਟਾਇਲ ਸ਼ਾਮਲ ਕਰੋ"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"ਟਾਇਲ ਨੂੰ ਲਿਜਾਓ"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"ਹਾਲੀਆ ਐਪਾਂ ਦੇਖੋ"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"ਐਪਾਂ ਵਿਚਕਾਰ ਸਵਿੱਚ ਕਰੋ"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"ਹੋ ਗਿਆ"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"ਅੱਗੇ"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"ਵਾਪਸ ਜਾਓ"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"ਆਪਣੇ ਟੱਚਪੈਡ \'ਤੇ ਤਿੰਨ ਉਂਗਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਕੇ ਖੱਬੇ ਜਾਂ ਸੱਜੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"ਹਾਲੀਆ ਐਪਾਂ ਨੂੰ ਦੇਖਣ ਲਈ, ਟੱਚਪੈਡ \'ਤੇ ਤਿੰਨ ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰ ਕੇ ਦਬਾਈ ਰੱਖੋ"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"ਆਪਣੀਆਂ ਸਾਰੀਆਂ ਐਪਾਂ ਨੂੰ ਦੇਖਣ ਲਈ, ਆਪਣੇ ਕੀ-ਬੋਰਡ \'ਤੇ ਕਾਰਵਾਈ ਕੁੰਜੀ ਨੂੰ ਦਬਾਓ"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"ਅਸਪਸ਼ਟ ਬਣਾਇਆ ਗਿਆ"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"ਦੇਖਣ ਲਈ ਅਣਲਾਕ ਕਰੋ"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"ਸੰਦਰਭੀ ਸਿੱਖਿਆ"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"ਪਿੱਛੇ ਜਾਣ ਲਈ ਆਪਣੇ ਟੱਚਪੈਡ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"ਤਿੰਨ ਉਂਗਲਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਕੇ ਖੱਬੇ ਜਾਂ ਸੱਜੇ ਪਾਸੇ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਹੋਰ ਇਸ਼ਾਰਿਆਂ ਨੂੰ ਜਾਣਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
diff --git a/packages/SystemUI/res/values-pa/tiles_states_strings.xml b/packages/SystemUI/res/values-pa/tiles_states_strings.xml
index eeb9a5b..2baff30 100644
--- a/packages/SystemUI/res/values-pa/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-pa/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"ਬੰਦ"</item>
     <item msgid="5908720590832378783">"ਚਾਲੂ"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"ਉਪਲਬਧ ਨਹੀਂ"</item>
+    <item msgid="6641673879029894995">"ਬੰਦ ਹੈ"</item>
+    <item msgid="5806682401126108403">"ਚਾਲੂ ਹੈ"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index d358b9f..6a4b3d5 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth połączony."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ikona urządzenia Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Kliknij, aby skonfigurować szczegóły urządzenia"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Kliknij, aby zobaczyć wszystkie urządzenia"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Kliknij, aby sparować nowe urządzenie"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Poziom naładowania baterii jest nieznany."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Połączono z <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Połączono z urządzeniem <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Wejście"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Aparaty słuchowe"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Włączam…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Nie można dostosować jasności, ponieważ jest ona\nkontrolowana przez aplikację na pierwszym planie"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Nie można dostosować jasności, ponieważ jest onakontrolowana przez aplikację na pierwszym planie"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Autoobracanie"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Autoobracanie ekranu"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Lokalizacja"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"Aplikacja <xliff:g id="APP_NAME">%1$s</xliff:g> nie obsługuje funkcji rozmów"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Opinia"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Zamknij"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Nie pokazuj jako przypiętych"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Wyświetlanie aktualizacji na żywo"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Przypięte powiadomienia wyświetlają na żywo informacje z aplikacji i zawsze pojawiają się na pasku stanu oraz na ekranie blokady"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Tych powiadomień nie można zmodyfikować."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Powiadomień o połączeniach nie można modyfikować."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Tej grupy powiadomień nie można tu skonfigurować"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Wielozadaniowość"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Podziel ekran z aplikacją widoczną po prawej"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Podziel ekran z aplikacją widoczną po lewej"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Włącz pełny ekran"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Przełącz się na aplikację po prawej lub poniżej na podzielonym ekranie"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Przełącz się na aplikację po lewej lub powyżej na podzielonym ekranie"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Podczas podzielonego ekranu: zastępowanie aplikacji"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Pokazuj ikony powiadomień o niskim priorytecie"</string>
     <string name="other" msgid="429768510980739978">"Inne"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"usunąć kartę"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"dodaj kafelek do ostatniej pozycji"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Przenieś kartę"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Wyświetlanie ostatnich aplikacji"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Przełączanie aplikacji"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Gotowe"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Spróbuj jeszcze raz"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Wróć"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Przesuń 3 palcami w prawo lub w lewo na touchpadzie"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Aby wyświetlić ostatnie aplikacje, przesuń w górę za pomocą 3 palców na touchpadzie i przytrzymaj."</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Aby wyświetlić wszystkie swoje aplikacje, naciśnij klawisz działania na klawiaturze"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Usunięto"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Odblokuj, aby zobaczyć"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Edukacja kontekstowa"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Przechodzenie wstecz za pomocą touchpada"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Przesuń trzema palcami w prawo lub lewo. Kliknij, aby poznać więcej gestów."</string>
diff --git a/packages/SystemUI/res/values-pl/tiles_states_strings.xml b/packages/SystemUI/res/values-pl/tiles_states_strings.xml
index bc59a90..bd3a828 100644
--- a/packages/SystemUI/res/values-pl/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-pl/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Wyłączony"</item>
     <item msgid="5908720590832378783">"Włączony"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Niedostępne"</item>
+    <item msgid="6641673879029894995">"Wyłączone"</item>
+    <item msgid="5806682401126108403">"Włączone"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml
index 3a7d1f2..42ce3f4 100644
--- a/packages/SystemUI/res/values-pt-rBR/strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth conectado."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ícone de dispositivo Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Clique para configurar os detalhes do dispositivo"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Clique para conferir todos os dispositivos"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Clique para parear o novo dispositivo"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Porcentagem da bateria desconhecida."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Conectado a <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Conectado a <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Entrada"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Aparelhos auditivos"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Ativando…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Não é possível ajustar o brilho, porque ele está sendo\n controlado pelo app principal"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Não é possível ajustar o brilho, porque ele está sendo controlado pelo app principal"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Giro automático"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Giro automático da tela"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Localização"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> não é compatível com recursos de conversa"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Enviar feedback"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Dispensar"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Não mostrar como fixadas"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Mostrar atualizações em tempo real"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"As notificações fixadas mostram informações em tempo real dos apps e sempre aparecem na barra de status e na tela de bloqueio"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Não é possível modificar essas notificações."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Não é possível modificar as notificações de chamada."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Não é possível configurar esse grupo de notificações aqui"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitarefas"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Usar a tela dividida com o app à direita"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Usar a tela dividida com o app à esquerda"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Mudar para tela cheia"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Mudar para o app à direita ou abaixo ao usar a tela dividida"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Mudar para o app à esquerda ou acima ao usar a tela dividida"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Com a tela dividida: substituir um app por outro"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Mostrar ícones de notificações de baixa prioridade"</string>
     <string name="other" msgid="429768510980739978">"Outros"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"remover o bloco"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"adicionar o bloco à última posição"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Mover bloco"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Ver os apps recentes"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Mudar de app"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Concluído"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Tente de novo"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Voltar"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Deslize para a esquerda ou direita com 3 dedos no touchpad"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Se quiser ver os apps recentes, deslize para cima e pressione o touchpad com três dedos"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Para ver todos os apps, pressione a tecla de ação no teclado"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Encoberto"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Desbloquear para visualizar"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Educação contextual"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Use o touchpad para voltar"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Deslize para a esquerda ou direita usando três dedos. Toque para aprender outros gestos."</string>
diff --git a/packages/SystemUI/res/values-pt-rBR/tiles_states_strings.xml b/packages/SystemUI/res/values-pt-rBR/tiles_states_strings.xml
index 3e75cdd..b16d6f2 100644
--- a/packages/SystemUI/res/values-pt-rBR/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Desativado"</item>
     <item msgid="5908720590832378783">"Ativado"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Indisponível"</item>
+    <item msgid="6641673879029894995">"Desativado"</item>
+    <item msgid="5806682401126108403">"Ativado"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index ff0ba36..37ec3da 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth ligado."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ícone de dispositivo Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Clique para configurar o detalhe do dispositivo"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Clique para ver todos os dispositivos"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Clique para sincronizar um novo dispositivo"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Configure o detalhe do dispositivo"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Veja todos os dispositivos"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Sincronize um novo dispositivo"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Percentagem da bateria desconhecida."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Ligado a <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Ligado a <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Entrada"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Aparelhos auditivos"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"A ativar..."</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Não é possível ajustar o brilho porque está a ser\n controlado pela app principal"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Não é possível ajustar o brilho porque está a ser controlado pela app principal"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Rotação auto."</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Rodar o ecrã automaticamente"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Localização"</string>
@@ -506,7 +507,7 @@
     <string name="communal_tutorial_indicator_text" msgid="4503010353591430123">"Deslize rapidamente para a esquerda para iniciar o tutorial coletivo"</string>
     <string name="cta_tile_button_to_open_widget_editor" msgid="3871562362382963878">"Personalizar"</string>
     <string name="cta_tile_button_to_dismiss" msgid="3377597875997861754">"Ignorar"</string>
-    <string name="cta_label_to_edit_widget" msgid="6496885074209203756">"Adicionar, remover e reordenar widgets neste espaço"</string>
+    <string name="cta_label_to_edit_widget" msgid="6496885074209203756">"Adicione, remova e reordene widgets aqui"</string>
     <string name="cta_label_to_open_widget_picker" msgid="3874946756976360699">"Adicionar mais widgets"</string>
     <string name="popup_on_dismiss_cta_tile_text" msgid="8292501780996070019">"Mantenha pressionado para personalizar os widgets"</string>
     <string name="button_to_configure_widgets_text" msgid="4191862850185256901">"Personalizar widgets"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"A app <xliff:g id="APP_NAME">%1$s</xliff:g> não suporta funcionalidades de conversa."</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Feedback"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Ignorar"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Não mostrar como afixada"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"A mostrar atualizações em direto"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"As notificações afixadas apresentam informações em direto das apps e aparecem sempre na barra de estado e no ecrã de bloqueio"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Não é possível modificar estas notificações."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Não é possível modificar as notificações de chamadas."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Não é possível configurar este grupo de notificações aqui."</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Execução de várias tarefas em simultâneo"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Use o ecrã dividido com a app à direita"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Use o ecrã dividido com a app à esquerda"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Mude para ecrã inteiro"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Use o ecrã inteiro"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Use a vista de computador"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Mudar para a app à direita ou abaixo enquanto usa o ecrã dividido"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Mude para a app à esquerda ou acima enquanto usa o ecrã dividido"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Durante o ecrã dividido: substituir uma app por outra"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Mostrar ícones de notificações de prioridade baixa"</string>
     <string name="other" msgid="429768510980739978">"Outro"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"remover o cartão"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"adicionar o mosaico à última posição"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Mover cartão"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Ver apps recentes"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Mudar de app"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Concluir"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"Seguinte"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"Tente novamente!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Voltar"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Deslize rapidamente para a esquerda ou direita com 3 dedos no touchpad"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Para ver as apps recentes, deslize rapidamente para cima e mantenha premido com 3 dedos no touchpad"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Para ver todas as suas apps, prima a tecla de ação no teclado"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Revisto"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Desbloqueie para ver"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Educação contextual"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Use o touchpad para retroceder"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Deslize rapidamente para a esquerda ou direita com 3 dedos. Toque para aprender mais gestos."</string>
diff --git a/packages/SystemUI/res/values-pt-rPT/tiles_states_strings.xml b/packages/SystemUI/res/values-pt-rPT/tiles_states_strings.xml
index 7e7e673..3beca27 100644
--- a/packages/SystemUI/res/values-pt-rPT/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Desativado"</item>
     <item msgid="5908720590832378783">"Ativado"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Indisponível"</item>
+    <item msgid="6641673879029894995">"Desativado"</item>
+    <item msgid="5806682401126108403">"Ativado"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index 3a7d1f2..42ce3f4 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth conectado."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ícone de dispositivo Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Clique para configurar os detalhes do dispositivo"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Clique para conferir todos os dispositivos"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Clique para parear o novo dispositivo"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Porcentagem da bateria desconhecida."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Conectado a <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Conectado a <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Entrada"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Aparelhos auditivos"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Ativando…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Não é possível ajustar o brilho, porque ele está sendo\n controlado pelo app principal"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Não é possível ajustar o brilho, porque ele está sendo controlado pelo app principal"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Giro automático"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Giro automático da tela"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Localização"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> não é compatível com recursos de conversa"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Enviar feedback"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Dispensar"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Não mostrar como fixadas"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Mostrar atualizações em tempo real"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"As notificações fixadas mostram informações em tempo real dos apps e sempre aparecem na barra de status e na tela de bloqueio"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Não é possível modificar essas notificações."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Não é possível modificar as notificações de chamada."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Não é possível configurar esse grupo de notificações aqui"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitarefas"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Usar a tela dividida com o app à direita"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Usar a tela dividida com o app à esquerda"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Mudar para tela cheia"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Mudar para o app à direita ou abaixo ao usar a tela dividida"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Mudar para o app à esquerda ou acima ao usar a tela dividida"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Com a tela dividida: substituir um app por outro"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Mostrar ícones de notificações de baixa prioridade"</string>
     <string name="other" msgid="429768510980739978">"Outros"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"remover o bloco"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"adicionar o bloco à última posição"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Mover bloco"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Ver os apps recentes"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Mudar de app"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Concluído"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Tente de novo"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Voltar"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Deslize para a esquerda ou direita com 3 dedos no touchpad"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Se quiser ver os apps recentes, deslize para cima e pressione o touchpad com três dedos"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Para ver todos os apps, pressione a tecla de ação no teclado"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Encoberto"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Desbloquear para visualizar"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Educação contextual"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Use o touchpad para voltar"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Deslize para a esquerda ou direita usando três dedos. Toque para aprender outros gestos."</string>
diff --git a/packages/SystemUI/res/values-pt/tiles_states_strings.xml b/packages/SystemUI/res/values-pt/tiles_states_strings.xml
index 3e75cdd..b16d6f2 100644
--- a/packages/SystemUI/res/values-pt/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-pt/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Desativado"</item>
     <item msgid="5908720590832378783">"Ativado"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Indisponível"</item>
+    <item msgid="6641673879029894995">"Desativado"</item>
+    <item msgid="5806682401126108403">"Ativado"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index 2417c84..a23f95e 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Conectat prin Bluetooth."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Pictograma de dispozitiv Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Dă clic pentru a configura detaliile dispozitivului"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Dă clic pentru a vedea toate dispozitivele"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Dă clic pentru a asocia noul dispozitiv"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Procentajul bateriei este necunoscut."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Conectat la <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"S-a stabilit conexiunea la <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Intrare"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Aparate auditive"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Se activează..."</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Nu se poate ajusta luminozitatea deoarece este\n controlată de aplicația de top"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Nu se poate ajusta luminozitatea deoarece este controlată de aplicația de top"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Rotire automată"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Rotirea automată a ecranului"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Locație"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> nu acceptă funcții pentru conversații"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Feedback"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Închide"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Nu le afișa ca fixate"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Se afișează actualizări live"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Notificările fixate afișează informații live din aplicații și apar întotdeauna în bara de stare și pe ecranul de blocare"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Aceste notificări nu pot fi modificate."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Notificările pentru apeluri nu pot fi modificate."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Acest grup de notificări nu poate fi configurat aici"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitasking"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Folosește ecranul împărțit cu aplicația în dreapta"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Folosește ecranul împărțit cu aplicația în stânga"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Treci la ecran complet"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Treci la aplicația din dreapta sau de mai jos cu ecranul împărțit"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Treci la aplicația din stânga sau de mai sus cu ecranul împărțit"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"În modul ecran împărțit: înlocuiește o aplicație cu alta"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Afișează pictogramele de notificare cu prioritate redusă"</string>
     <string name="other" msgid="429768510980739978">"Altele"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"elimină cardul"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"adaugă cardul în ultima poziție"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Mută cardul"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Vezi aplicațiile recente"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Comută între aplicații"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Gata"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Încearcă din nou!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Înapoi"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Glisează la stânga sau la dreapta cu trei degete pe touchpad"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Ca să vezi aplicațiile recente, glisează în sus și ține apăsat cu trei degete pe touchpad"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Ca să vezi toate aplicațiile, apasă tasta de acțiuni de pe tastatură"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Ascunsă"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Deblochează pentru a afișa"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Educație contextuală"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Folosește-ți touchpadul ca să revii"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Glisează la stânga sau la dreapta cu trei degete. Atinge ca să înveți mai multe gesturi."</string>
diff --git a/packages/SystemUI/res/values-ro/tiles_states_strings.xml b/packages/SystemUI/res/values-ro/tiles_states_strings.xml
index 6dcb0d3..b555987 100644
--- a/packages/SystemUI/res/values-ro/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-ro/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Dezactivat"</item>
     <item msgid="5908720590832378783">"Activat"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Indisponibil"</item>
+    <item msgid="6641673879029894995">"Dezactivat"</item>
+    <item msgid="5806682401126108403">"Activat"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index f6968d5..1d40a6c 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth-соединение установлено."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Значок устройства Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Нажмите, чтобы изменить информацию об устройстве"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Нажмите, чтобы показать все устройства"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Нажмите, чтобы подключить устройство"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Уровень заряда батареи в процентах неизвестен."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g>: подключено."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Подключено к: <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Устройство ввода"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Слуховые аппараты"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Включение…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Невозможно изменить яркость,\nтак как она регулируется общими настройками."</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Невозможно изменить яркость,так как она регулируется общими настройками."</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Автоповорот"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Автоповорот экрана"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Геолокация"</string>
@@ -471,7 +475,7 @@
     <string name="zen_silence_introduction" msgid="6117517737057344014">"В этом режиме будут отключены вибросигнал и все звуки (в том числе для будильника, музыкального проигрывателя, игр и видео)."</string>
     <string name="notification_tap_again" msgid="4477318164947497249">"Нажмите ещё раз, чтобы открыть"</string>
     <string name="tap_again" msgid="1315420114387908655">"Нажмите ещё раз"</string>
-    <string name="keyguard_unlock" msgid="8031975796351361601">"Проведите вверх, чтобы открыть"</string>
+    <string name="keyguard_unlock" msgid="8031975796351361601">"Проведите вверх, чтобы открыть."</string>
     <string name="keyguard_unlock_press" msgid="9140109453735019209">"Нажмите на значок разблокировки."</string>
     <string name="keyguard_face_successful_unlock_swipe" msgid="6180997591385846073">"Сканирование выполнено. Чтобы открыть, проведите вверх."</string>
     <string name="keyguard_face_successful_unlock_press" msgid="25520941264602588">"Сканирование выполнено. Нажмите на значок разблокировки."</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"Приложение \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" не поддерживает функции разговоров."</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Оставить отзыв"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Закрыть"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Открепить уведомления"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Показывать уведомления в реальном времени"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Закрепленные уведомления с текущей информацией из приложений всегда показываются в строке состояния и на заблокированном экране"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Эти уведомления нельзя изменить."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Уведомления о звонках нельзя изменить."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Эту группу уведомлений нельзя настроить здесь."</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Многозадачность"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Разделить экран и поместить открытое приложение справа"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Разделить экран и поместить открытое приложение слева"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Включить полноэкранный режим"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Перейти к приложению справа или внизу на разделенном экране"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Перейти к приложению слева или вверху на разделенном экране"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"В режиме разделения экрана заменить одно приложение другим"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Показывать значки уведомлений с низким приоритетом"</string>
     <string name="other" msgid="429768510980739978">"Другое"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"удалить панель"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"добавить параметр в конец"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Переместить панель"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Просмотр недавних приложений"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Переход в другое приложение"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Готово"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Попробуйте ещё раз"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Назад"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Проведите тремя пальцами влево или вправо по сенсорной панели."</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Чтобы увидеть недавние приложения, проведите по сенсорной панели тремя пальцами вверх и удерживайте."</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Чтобы открыть список всех своих приложений, нажмите клавишу действия."</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Скрыто"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Разблокируйте экран, чтобы посмотреть."</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Контекстные подсказки"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Используйте сенсорную панель, чтобы возвращаться назад"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Для этого проведите тремя пальцами влево или вправо. Чтобы посмотреть другие жесты, нажмите здесь."</string>
diff --git a/packages/SystemUI/res/values-ru/tiles_states_strings.xml b/packages/SystemUI/res/values-ru/tiles_states_strings.xml
index e7ff74d..8279183 100644
--- a/packages/SystemUI/res/values-ru/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-ru/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Отключено"</item>
     <item msgid="5908720590832378783">"Включено"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Недоступно"</item>
+    <item msgid="6641673879029894995">"Отключено"</item>
+    <item msgid="5806682401126108403">"Включено"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-si/strings.xml b/packages/SystemUI/res/values-si/strings.xml
index eb816b8..440b320 100644
--- a/packages/SystemUI/res/values-si/strings.xml
+++ b/packages/SystemUI/res/values-si/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"බ්ලූටූත් සම්බන්ධිතයි."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"බ්ලූටූත් උපාංග නිරූපකය"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"උපාංග විස්තර වින්‍යාස කිරීමට ක්ලික් කරන්න"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"සියලු උපාංග බැලීමට ක්ලික් කරන්න"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"නව උපාංගය යුගල කිරීමට ක්ලික් කරන්න"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"බැටරි ප්‍රතිශතය නොදනී."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g> වෙත සම්බන්ධ කරන ලදි."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> වෙත සම්බන්ධ විය."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"ආදානය"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"ශ්‍රවණාධාරක"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"ක්‍රියාත්මක කරමින්…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ඉහළ යෙදුම මඟින් එය පාලනය වන නිසා\nදීප්තිය ගැළපුම් කළ නොහැක"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ඉහළ යෙදුම මඟින් එය පාලනය වන නිසාදීප්තිය ගැළපුම් කළ නොහැක"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"ස්වයංක්‍රීය කරකැවීම"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"ස්වයංක්‍රීයව-භ්‍රමණය වන තිරය"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"ස්ථානය"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> සංවාද විශේෂාංගවලට සහාය නොදක්වයි"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"ප්‍රතිපෝෂණය"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"අස් කරන්න"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"අමුණන ලද ලෙස නොපෙන්වන්න"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"සජීවී යාවත්කාලීන කිරීම් පෙන්වමින්"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"ඇමුණුම් කළ දැනුම්දීම් යෙදුම් වලින් සජීවී තතු පෙන්වන අතර, සෑම විට ම තත්ත්ව තීරුවේ සහ අගුළු තිරයේ දිස් වේ"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"මෙම දැනුම්දීම් වෙනස් කළ නොහැක."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"ඇමතුම් දැනුම්දීම් වෙනස් කළ නොහැකිය."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"මෙම දැනුම්දීම් සමූහය මෙහි වින්‍යාස කළ නොහැක"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"බහුකාර්ය"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"දකුණේ යෙදුම සමග බෙදීම් තිරය භාවිතා කරන්න"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"වම් පැත්තේ යෙදුම සමග බෙදීම් තිරය භාවිතා කරන්න"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"සම්පූර්ණ තිරයට මාරු වන්න"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"බෙදුම් තිරය භාවිත කරන අතරතුර දකුණේ හෝ පහළින් ඇති යෙදුමට මාරු වන්න"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"බෙදුම් තිරය භාවිත කරන අතරතුර වමේ හෝ ඉහළ ඇති යෙදුමට මාරු වන්න"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"බෙදුම් තිරය අතරතුර: යෙදුමක් එකකින් තවත් එකක් ප්‍රතිස්ථාපනය කරන්න"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"අඩු ප්‍රමුඛතා දැනුම්දීම් අයිකන පෙන්වන්න"</string>
     <string name="other" msgid="429768510980739978">"වෙනත්"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"ටයිල් ඉවත් කරන්න"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"ටයිල් එක අවසාන ස්ථානයට එක් කරන්න"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"ටයිල් ගෙන යන්න"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"මෑත යෙදුම් බලන්න"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"යෙදුම් මාරු කරන්න"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"නිමයි"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"නැවත උත්සාහ කරන්න!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"ආපස්සට යන්න"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"ඔබේ ස්පර්ශ පුවරුව මත ඇඟිලි තුනක් භාවිතයෙන් වමට හෝ දකුණට ස්වයිප් කරන්න"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"මෑත යෙදුම් බැලීමට, ඉහළට ස්වයිප් කර ස්පර්ශ පුවරුව මත ඇඟිලි තුනකින් අල්ලාගෙන සිටින්න"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"ඔබේ සියලුම යෙදුම් බැලීමට, ඔබේ යතුරුපුවරුවේ ක්‍රියාකාරී යතුර ඔබන්න"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"නැවත සකස් කරන ලද"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"බැලීමට අගුළු හරින්න"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"සන්දර්භීය අධ්‍යාපනය"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"ආපසු යාමට ඔබේ ස්පර්ශ පුවරුව භාවිත කරන්න"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"ඇඟිලි තුනක් භාවිතයෙන් වමට හෝ දකුණට ස්වයිප් කරන්න. තව ඉංගිත දැන ගැනීමට තට්ටු කරන්න."</string>
diff --git a/packages/SystemUI/res/values-si/tiles_states_strings.xml b/packages/SystemUI/res/values-si/tiles_states_strings.xml
index 710e9aa..9397ca7 100644
--- a/packages/SystemUI/res/values-si/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-si/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"ක්‍රියාවිරහිතයි"</item>
     <item msgid="5908720590832378783">"ක්‍රියාත්මකයි"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"නොමැත"</item>
+    <item msgid="6641673879029894995">"ක්‍රියාවිරහිතයි"</item>
+    <item msgid="5806682401126108403">"ක්‍රියාත්මකයි"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index fcb281d..274c46e 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth pripojené."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ikona zariadenia s rozhraním Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Kliknutím nakonfigurujte podrobnosti o zariadení"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Kliknutím zobrazíte všetky zariadenia"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Kliknutím spárujete nové zariadenie"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Percento batérie nie je známe."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Pripojené k zariadeniu <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Pripojené k zariadeniu <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Vstup"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Načúvadlá"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Zapína sa…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Jas sa nedá upraviť, pretože ho \n ovláda horná aplikácia"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Jas sa nedá upraviť, pretože ho ovláda horná aplikácia"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Automatické otáčanie"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Automatické otáčanie obrazovky"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Poloha"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> nepodporuje funkcie konverzácie"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Spätná väzba"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Zavrieť"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Nezobrazovať ako pripnuté"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Zobrazovanie aktualít naživo"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Pripnuté upozornenia zobrazujú aktuálne informácie z aplikácií a vždy sa zobrazujú v stavovom riadku a na uzamknutej obrazovke"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Tieto upozornenia sa nedajú upraviť."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Upozornenia na hovory sa nedajú upraviť."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Túto skupinu upozornení nejde na tomto mieste konfigurovať"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multitasking"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Rozdelenie obrazovky, aktuálna aplikácia vpravo"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Rozdelenie obrazovky, aktuálna aplikácia vľavo"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Prepnutie na celú obrazovku"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Prechod na aplikáciu vpravo alebo dole pri rozdelenej obrazovke"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Prechod na aplikáciu vľavo alebo hore pri rozdelenej obrazovke"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Počas rozdelenej obrazovky: nahradenie aplikácie inou"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Zobraziť ikony upozornení s nízkou prioritou"</string>
     <string name="other" msgid="429768510980739978">"Ďalšie"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"odstrániť kartu"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"pridáte kartu na poslednú pozíciu"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Presunúť kartu"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Zobraziť nedávne aplikácie"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Prepínanie aplikácií"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Hotovo"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Skúste to znova."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Späť"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Potiahnite troma prstami na touchpade doľava alebo doprava"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Ak si chcete zobraziť nedávne aplikácie, potiahnite po touchpade troma prstami nahor a pridržte ich."</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Ak si chcete zobraziť všetky aplikácie, stlačte na klávesnici akčný kláves"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Zamaskované"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Zobrazíte odomknutím"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontextová náuka"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Prechádzajte späť pomocou touchpadu"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Potiahnite troma prstami doľava alebo doprava. Viac o gestách sa dozviete klepnutím."</string>
diff --git a/packages/SystemUI/res/values-sk/tiles_states_strings.xml b/packages/SystemUI/res/values-sk/tiles_states_strings.xml
index 8323506..3e61884 100644
--- a/packages/SystemUI/res/values-sk/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-sk/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Vypnuté"</item>
     <item msgid="5908720590832378783">"Zapnuté"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Nedostupné"</item>
+    <item msgid="6641673879029894995">"Vypnuté"</item>
+    <item msgid="5806682401126108403">"Zapnuté"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index e999065..eb1219a 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Povezava Bluetooth vzpostavljena."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ikona naprave Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Kliknite za konfiguriranje podrobnosti o napravi"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Kliknite za ogled vseh naprav"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Kliknite za seznanitev nove naprave"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Konfiguriranje podrobnosti o napravi"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Ogled vseh naprav"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Seznanitev nove naprave"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Neznan odstotek napolnjenosti baterije."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Povezava vzpostavljena z: <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Vzpostavljena povezava: <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Vhodna naprava"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Slušni aparati"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Vklapljanje …"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Svetlosti ni mogoče prilagoditi, ker jo\n nadzoruje aplikacija na vrhu"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Svetlosti ni mogoče prilagoditi, ker jo nadzoruje aplikacija na vrhu"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Samodejno sukanje"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Samodejno sukanje zaslona"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Lokacija"</string>
@@ -691,7 +692,7 @@
     <string name="screen_pinning_exit" msgid="4553787518387346893">"Aplikacija je odpeta."</string>
     <string name="stream_voice_call" msgid="7468348170702375660">"Klic"</string>
     <string name="stream_system" msgid="7663148785370565134">"Sistem"</string>
-    <string name="stream_ring" msgid="7550670036738697526">"Sprožitev zvonjenja"</string>
+    <string name="stream_ring" msgid="7550670036738697526">"Zvonjenje"</string>
     <string name="stream_music" msgid="2188224742361847580">"Predstavnost"</string>
     <string name="stream_alarm" msgid="16058075093011694">"Alarm"</string>
     <string name="stream_notification" msgid="7930294049046243939">"Obvestilo"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> ne podpira pogovornih funkcij."</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Povratne informacije"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Opusti"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Ne prikaži kot pripeto"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Prikaz sprotnih obvestil"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Pripeta obvestila prikazujejo sprotne podatke iz aplikacij ter so vedno prikazana v vrstici stanja in na zaklenjenem zaslonu"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Za ta obvestila ni mogoče spremeniti nastavitev."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Obvestil o klicih ni mogoče spreminjati."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Te skupine obvestil ni mogoče konfigurirati tukaj"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Večopravilnost"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Uporaba razdeljenega zaslona z aplikacijo na desni"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Uporaba razdeljenega zaslona z aplikacijo na levi"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Preklop na celozaslonski način"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Uporaba celozaslonskega načina"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Uporaba pogleda za namizni računalnik"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Preklop na aplikacijo desno ali spodaj med uporabo razdeljenega zaslona"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Preklop na aplikacijo levo ali zgoraj med uporabo razdeljenega zaslona"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Pri razdeljenem zaslonu: medsebojna zamenjava aplikacij"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Pokaži ikone obvestil z nizko stopnjo prednosti"</string>
     <string name="other" msgid="429768510980739978">"Drugo"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"odstranitev ploščice"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"dodajanje ploščice na zadnji položaj"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Premik ploščice"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Ogled nedavnih aplikacij"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Preklop aplikacij"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Končano"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"Naprej"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"Poskusite znova"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Nazaj"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Na sledilni ploščici s tremi prsti povlecite levo ali desno"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Za ogled nedavnih aplikacij povlecite s tremi prsti navzgor po sledilni ploščici in pridržite"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Za ogled vseh aplikacij pritisnite tipko za dejanja na tipkovnici"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Zakrito"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Odklenite za ogled"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontekstualno izobraževanje"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Uporaba sledilne ploščice za pomik nazaj"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"S tremi prsti povlecite levo ali desno. Dotaknite se, če želite spoznati več potez."</string>
diff --git a/packages/SystemUI/res/values-sl/tiles_states_strings.xml b/packages/SystemUI/res/values-sl/tiles_states_strings.xml
index d644038..8146802 100644
--- a/packages/SystemUI/res/values-sl/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-sl/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Izklopljeno"</item>
     <item msgid="5908720590832378783">"Vklopljeno"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Ni na voljo"</item>
+    <item msgid="6641673879029894995">"Izklopljeno"</item>
+    <item msgid="5806682401126108403">"Vklopljeno"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-sq/strings.xml b/packages/SystemUI/res/values-sq/strings.xml
index 7e2b698..ea1f3aaf 100644
--- a/packages/SystemUI/res/values-sq/strings.xml
+++ b/packages/SystemUI/res/values-sq/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Pajisja është lidhur me \"bluetooth\"."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Ikona e pajisjes me Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Kliko për të konfiguruar detajet e pajisjes"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Kliko për të shikuar të gjitha pajisjet"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Kliko për të çiftuar një pajisje të re"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Përqindja e baterisë e panjohur."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Lidhur me <xliff:g id="BLUETOOTH">%s</xliff:g>"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Është lidhur me <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Hyrja"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Aparatet e dëgjimit"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Po aktivizohet…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Ndriçimi nuk mund të rregullohet pasi\n po kontrollohet nga aplikacioni i sipërm"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Ndriçimi nuk mund të rregullohet pasi po kontrollohet nga aplikacioni i sipërm"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Rrotullim automatik"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Rrotullimi automatik i ekranit"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Vendndodhja"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> nuk mbështet veçoritë e bisedës"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Koment"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Hiq"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Mos shfaq si të gozhduar"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Po shfaqen përditësimet drejtpërdrejt"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Njoftimet e gozhduara shfaqin informacione të drejtpërdrejta nga aplikacionet dhe shfaqen gjithmonë në shiritin e statusit dhe ekranin e kyçjes"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Këto njoftime nuk mund të modifikohen."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Njoftimet e telefonatave nuk mund të modifikohen."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Ky grup njoftimesh nuk mund të konfigurohet këtu"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Kryerja e shumë detyrave"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Përdor ekranin e ndarë me aplikacionin në të djathtë"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Përdor ekranin e ndarë me aplikacionin në të majtë"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Kalo në ekran të plotë"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Kalo tek aplikacioni djathtas ose poshtë kur përdor ekranin e ndarë"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Kalo tek aplikacioni në të majtë ose sipër kur përdor ekranin e ndarë"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Gjatë ekranit të ndarë: zëvendëso një aplikacion me një tjetër"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Shfaq ikonat e njoftimeve me përparësi të ulët"</string>
     <string name="other" msgid="429768510980739978">"Të tjera"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"hiq pllakëzën"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"shtuar pllakëzën në pozicionin e fundit"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Zhvendos pllakëzën"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Shiko aplikacionet e fundit"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Ndërro aplikacionet"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"U krye"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Provo përsëri!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Kthehu prapa"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Rrëshqit shpejt majtas ose djathtas duke përdorur tre gishta në bllokun me prekje"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Për aplikacionet e fundit, rrëshqit shpejt lart dhe mbaj shtypur me tre gishta në bllokun me prekje"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Për të shikuar të gjitha aplikacionet, shtyp tastin e veprimit në tastierë"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Redaktuar"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Shkyçe për ta parë"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Edukimi kontekstual"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Përdor bllokun me prekje për t\'u kthyer prapa"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Rrëshqit shpejt majtas ose djathtas duke përdorur tre gishta. Trokit për të mësuar më shumë gjeste."</string>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index 1e44e0c..eac0712 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth је прикључен."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Икона Bluetooth уређаја"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Кликните да бисте конфигурисали детаље о уређају"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Кликните да бисте видели све уређаје"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Кликните да бисте упарили нов уређај"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>. Конфигуришите детаље о уређају"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"Погледајте све уређаје"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"Упарите нови уређај"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Проценат напуњености батерије није познат."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Повезани сте са <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Повезани смо са уређајем <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Унос"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Слушни апарати"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Укључује се..."</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Не можете да прилагодите осветљеност јер је\n контролише апликација у врху"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Не можете да прилагодите осветљеност јер је контролише апликација у врху"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Аутоматска ротација"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Аутоматско ротирање екрана"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Локација"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> не подржава функције конверзације"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Повратне информације"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Одбаци"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Не приказуј као закачено"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Приказују се новости уживо"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Закачена обавештења приказују информације уживо из апликација и увек се појављују на статусној траци и закључаном екрану"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Ова обавештења не могу да се мењају."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Обавештења о позивима не могу да се мењају."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Ова група обавештења не може да се конфигурише овде"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Обављање више задатака истовремено"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Користи подељени екран са апликацијом с десне стране"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Користи подељени екран са апликацијом с леве стране"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Пређи на режим преко целог екрана"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"Користи приказ преко целог екрана"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"Користи приказ за рачунаре"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Пређи у апликацију здесна или испод док је подељен екран"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Пређите у апликацију слева или изнад док користите подељени екран"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"У режиму подељеног екрана: замена једне апликације другом"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Прикажи иконе обавештења ниског приоритета"</string>
     <string name="other" msgid="429768510980739978">"Друго"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"уклонили плочицу"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"додали плочицу на последњу позицију"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Преместите плочицу"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Прикажи недавно коришћене апликације"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Пређи на другу апликацију"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Готово"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"Даље"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"Пробајте поново."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Назад"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Превуците улево или удесно са три прста на тачпеду"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Да бисте прегледали недавне апликације, превуците нагоре и задржите са три прста на тачпеду"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Да бисте погледали све апликације, притисните тастер радњи на тастатури"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Редиговано"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Откључајте за приказ"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Контекстуално образовање"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Користите тачпед за враћање назад"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Превуците улево или удесно са три прста. Додирните да бисте видели више покрета."</string>
diff --git a/packages/SystemUI/res/values-sr/tiles_states_strings.xml b/packages/SystemUI/res/values-sr/tiles_states_strings.xml
index e1bd7b1..df9e574 100644
--- a/packages/SystemUI/res/values-sr/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-sr/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Искључено"</item>
     <item msgid="5908720590832378783">"Укључено"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Недоступно"</item>
+    <item msgid="6641673879029894995">"Искључено"</item>
+    <item msgid="5806682401126108403">"Укључено"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index d613922..dfb4e005 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth ansluten."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Enhetsikon för Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Klicka för att konfigurera enhetsinformation"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Klicka för att se alla enheter"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Klicka för att parkoppla en ny enhet"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Okänd batterinivå."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Ansluten till <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Ansluten till <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Ingång"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Hörapparater"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Aktiverar …"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Det går inte att justera ljusstyrkan eftersom den\n styrs av den översta appen"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Det går inte att justera ljusstyrkan eftersom den styrs av den översta appen"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Rotera automatiskt"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Rotera skärmen automatiskt"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Plats"</string>
@@ -506,7 +510,7 @@
     <string name="communal_tutorial_indicator_text" msgid="4503010353591430123">"Svep åt vänster för att börja med gruppguiden"</string>
     <string name="cta_tile_button_to_open_widget_editor" msgid="3871562362382963878">"Anpassa"</string>
     <string name="cta_tile_button_to_dismiss" msgid="3377597875997861754">"Ignorera"</string>
-    <string name="cta_label_to_edit_widget" msgid="6496885074209203756">"Lägg till, ta bort och ordna om dina widgetar i det här rummet"</string>
+    <string name="cta_label_to_edit_widget" msgid="6496885074209203756">"Lägg till, ta bort och ordna om dina widgetar här"</string>
     <string name="cta_label_to_open_widget_picker" msgid="3874946756976360699">"Lägg till fler widgetar"</string>
     <string name="popup_on_dismiss_cta_tile_text" msgid="8292501780996070019">"Tryck länge för att anpassa widgetar"</string>
     <string name="button_to_configure_widgets_text" msgid="4191862850185256901">"Anpassa widgetar"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> har inte stöd för konversationsfunktioner"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Feedback"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Stäng"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Visa inte som fäst"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Visar liveuppdateringar"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Fästa aviseringar visar liveinformation från appar och visas alltid i statusfältet och på låsskärmen"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Det går inte att ändra de här aviseringarna."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Det går inte att ändra samtalsaviseringarna."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Den här aviseringsgruppen kan inte konfigureras här"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multikörning"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Använd delad skärm med appen till höger"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Använd delad skärm med appen till vänster"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Byt till helskärm"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Byt till appen till höger eller nedanför när du använder delad skärm"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Byt till appen till vänster eller ovanför när du använder delad skärm"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Med delad skärm: ersätt en app med en annan"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Visa ikoner för aviseringar med låg prioritet"</string>
     <string name="other" msgid="429768510980739978">"Annat"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"ta bort ruta"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"lägg till en ruta på den sista platsen"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Flytta ruta"</string>
@@ -1377,7 +1383,7 @@
     <string name="bt_le_audio_broadcast_dialog_different_output" msgid="7885102097302562674">"Byt ljudutgång"</string>
     <string name="bt_le_audio_broadcast_dialog_unknown_name" msgid="3791472237793443044">"Okänt"</string>
     <string name="dream_time_complication_12_hr_time_format" msgid="4691197486690291529">"h.mm"</string>
-    <string name="dream_time_complication_24_hr_time_format" msgid="6248280719733640813">"kk.mm"</string>
+    <string name="dream_time_complication_24_hr_time_format" msgid="6248280719733640813">"kk:mm"</string>
     <string name="log_access_confirmation_title" msgid="4843557604739943395">"Vill du tillåta att <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> får åtkomst till alla enhetsloggar?"</string>
     <string name="log_access_confirmation_allow" msgid="752147861593202968">"Tillåt engångsåtkomst"</string>
     <string name="log_access_confirmation_deny" msgid="2389461495803585795">"Tillåt inte"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Se de senaste apparna"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Byta app"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Klar"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Försök igen!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Tillbaka"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Svep åt vänster eller höger med tre fingrar på styrplattan"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Svep uppåt på styrplattan med tre fingrar och håll kvar för att se nyligen använda appar"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Tryck på åtgärdstangenten på tangentbordet för att se alla appar"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Anonymiserad"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Lås upp för att visa"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontextuell utbildning"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Använd styrplattan för att gå tillbaka"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Svep åt vänster eller höger med tre fingrar. Tryck för att lära dig fler rörelser."</string>
diff --git a/packages/SystemUI/res/values-sv/tiles_states_strings.xml b/packages/SystemUI/res/values-sv/tiles_states_strings.xml
index 37d757e..76822d0 100644
--- a/packages/SystemUI/res/values-sv/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-sv/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Av"</item>
     <item msgid="5908720590832378783">"På"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Inte tillgänglig"</item>
+    <item msgid="6641673879029894995">"Av"</item>
+    <item msgid="5806682401126108403">"På"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index 33d8511..c096e41 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth imeunganishwa."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Aikoni ya Kifaa chenye Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Bofya ili uweke mipangilio ya maelezo ya kifaa"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Bofya ili uone vifaa vyote"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Bofya ili uoanishe kifaa kipya"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Asilimia ya betri haijulikani."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Imeunganishwa kwenye <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Imeunganishwa kwenye <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Vifaa vya kuingiza sauti"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Visaidizi vya kusikia"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Inawasha..."</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Imeshindwa kurekebisha mwangaza kwa sababu\n inadhibitiwa na programu inayotumika"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Imeshindwa kurekebisha mwangaza kwa sababu inadhibitiwa na programu inayotumika"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Zungusha kiotomatiki"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Skrini ijizungushe kiotomatiki"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Mahali"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> haitumii vipengele vya mazungumzo"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Maoni"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Ondoa"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Usionyeshe kama zilizobandikwa"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Inaonyesha Taarifa za Moja kwa Moja"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Arifa zilizobandikwa zinaonyesha maelezo ya moja kwa moja kutoka kwenye programu na huonekana kwenye sehemu ya arifa na skrini iliyofungwa"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Arifa hizi haziwezi kubadilishwa."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Arifa za simu haziwezi kubadilishwa."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Kikundi hiki cha arifa hakiwezi kuwekewa mipangilio hapa"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Majukumu mengi"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Tumia hali ya kugawa skrini na programu ya sasa iwe upande wa kulia"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Tumia hali ya kugawa skrini na programu ya sasa iwe upande wa kushoto"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Badilisha utumie skrini nzima"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Badilisha ili uende kwenye programu iliyo kulia au chini unapotumia hali ya kugawa skrini"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Badilisha uende kwenye programu iliyo kushoto au juu unapotumia hali ya kugawa skrini"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Ukigawanya skrini: badilisha kutoka programu moja hadi nyingine"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Onyesha aikoni za arifa zisizo muhimu"</string>
     <string name="other" msgid="429768510980739978">"Nyingine"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"ondoa kigae"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"weka kigae kwenye nafasi ya mwisho"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Hamisha kigae"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Angalia programu za hivi majuzi"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Badilisha programu"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Nimemaliza"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Jaribu tena!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Rudi nyuma"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Telezesha vidole vitatu kushoto au kulia kwenye padi yako ya kugusa"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Telezesha vidole vitatu juu na ushikilie kwenye padi ya kugusa ili uangalie programu za hivi majuzi"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Bonyeza kitufe cha vitendo kwenye kibodi yako ili uangalie programu zako zote"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Maandishi yameondolewa"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Fungua ili uone"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Elimu inayolingana na muktadha"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Kutumia padi yako ya kugusa ili kurudi nyuma"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Telezesha vidole vitatu kulia au kushoto. Gusa ili upate maelezo kuhusu miguso zaidi."</string>
diff --git a/packages/SystemUI/res/values-sw/tiles_states_strings.xml b/packages/SystemUI/res/values-sw/tiles_states_strings.xml
index fae42c3..4070260 100644
--- a/packages/SystemUI/res/values-sw/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-sw/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Limezimwa"</item>
     <item msgid="5908720590832378783">"Limewashwa"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Hakipatikani"</item>
+    <item msgid="6641673879029894995">"Kimezimwa"</item>
+    <item msgid="5806682401126108403">"Kimewashwa"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ta/strings.xml b/packages/SystemUI/res/values-ta/strings.xml
index aa312c7..342798f 100644
--- a/packages/SystemUI/res/values-ta/strings.xml
+++ b/packages/SystemUI/res/values-ta/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"புளூடூத் இணைக்கப்பட்டது."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"புளூடூத் சாதன ஐகான்"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"சாதன விவரத்தை உள்ளமைக்க கிளிக் செய்யலாம்"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"அனைத்துச் சாதனங்களையும் பார்க்க கிளிக் செய்யவும்"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"புதிய சாதனத்தை இணைக்க கிளிக் செய்யவும்"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"பேட்டரி சதவீதம் தெரியவில்லை."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g>க்கு இணைக்கப்பட்டது."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> உடன் இணைக்கப்பட்டுள்ளது."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"உள்ளீடு"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"செவித்துணைக் கருவி"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"ஆன் செய்கிறது…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"சிறந்த ஆப்ஸால் ஒளிர்வு கட்டுப்படுத்தப்படுவதால்\n இதைச் சரிசெய்ய முடியவில்லை"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"சிறந்த ஆப்ஸால் ஒளிர்வு கட்டுப்படுத்தப்படுவதால் இதைச் சரிசெய்ய முடியவில்லை"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"தானாகச் சுழற்று"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"திரையைத் தானாகச் சுழற்று"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"இருப்பிடம்"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"உரையாடல் அம்சங்களை <xliff:g id="APP_NAME">%1$s</xliff:g> ஆதரிக்காது"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"கருத்து"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"மூடுக"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"பின் செய்யப்பட்டதாகக் காட்டாதே"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"நேரலை அறிவிப்புகளைக் காட்டுகிறது"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"பின் செய்யப்பட்ட அறிவிப்புகள் ஆப்ஸிலிருந்து நேரலைத் தகவல்களைக் காட்டும், அத்துடன் அவை எப்போதும் நிலைப் பட்டியிலும் பூட்டுத் திரையிலும் காட்டப்படும்"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"இந்த அறிவிப்புகளை மாற்ற இயலாது."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"அழைப்பு அறிவிப்புகளை மாற்ற முடியாது."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"இந்த அறிவுப்புக் குழுக்களை இங்கே உள்ளமைக்க இயலாது"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"பல வேலைகளைச் செய்தல்"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"ஆப்ஸ் வலதுபுறம் வரும்படி திரைப் பிரிப்பைப் பயன்படுத்துதல்"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"ஆப்ஸ் இடதுபுறம் வரும்படி திரைப் பிரிப்பைப் பயன்படுத்துதல்"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"முழுத்திரைக்கு மாற்றுதல்"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"திரைப் பிரிப்பைப் பயன்படுத்தும்போது வலது/கீழ் உள்ள ஆப்ஸுக்கு மாறுதல்"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"திரைப் பிரிப்பைப் பயன்படுத்தும்போது இடது/மேலே உள்ள ஆப்ஸுக்கு மாறுதல்"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"திரைப் பிரிப்பின்போது: ஓர் ஆப்ஸுக்குப் பதிலாக மற்றொன்றை மாற்றுதல்"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"குறைந்த முன்னுரிமை உள்ள அறிவிப்பு ஐகான்களைக் காட்டு"</string>
     <string name="other" msgid="429768510980739978">"மற்றவை"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"கட்டத்தை அகற்றும்"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"கடைசி இடத்தில் கட்டத்தைச் சேர்க்கலாம்"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"கட்டத்தை நகர்த்து"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"சமீபத்திய ஆப்ஸைக் காட்டுதல்"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"ஆப்ஸுக்கிடையில் மாறுங்கள்"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"முடிந்தது"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"மீண்டும் முயலவும்!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"பின்செல்"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"உங்கள் டச்பேடில் மூன்று விரல்களால் இடது அல்லது வலதுபுறம் ஸ்வைப் செய்யவும்"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"சமீபத்திய ஆப்ஸைப் பார்க்க, டச்பேடில் மூன்று விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடிக்கவும்"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"அனைத்து ஆப்ஸையும் பார்க்க, உங்கள் கீபோர்டில் உள்ள ஆக்ஷன் பட்டனை அழுத்தவும்"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"அர்த்தம் புரியாதபடி திருத்தப்பட்டது"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"பார்ப்பதற்கு அன்லாக் செய்யவும்"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"சூழல் சார்ந்த கல்வி"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"பின்செல்ல, உங்கள் டச்பேடைப் பயன்படுத்துங்கள்"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"மூன்று விரல்களால் இடது அல்லது வலதுபுறம் ஸ்வைப் செய்யவும். சைகைகள் குறித்து மேலும் அறிய தட்டவும்."</string>
diff --git a/packages/SystemUI/res/values-ta/tiles_states_strings.xml b/packages/SystemUI/res/values-ta/tiles_states_strings.xml
index b09b17f..dc1c514 100644
--- a/packages/SystemUI/res/values-ta/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-ta/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"முடக்கப்பட்டுள்ளது"</item>
     <item msgid="5908720590832378783">"இயக்கப்பட்டுள்ளது"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"கிடைக்கவில்லை"</item>
+    <item msgid="6641673879029894995">"முடக்கப்பட்டுள்ளது"</item>
+    <item msgid="5806682401126108403">"இயக்கப்பட்டுள்ளது"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-te/strings.xml b/packages/SystemUI/res/values-te/strings.xml
index fc5361b..6f4619f 100644
--- a/packages/SystemUI/res/values-te/strings.xml
+++ b/packages/SystemUI/res/values-te/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"బ్లూటూత్ కనెక్ట్ చేయబడింది."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"బ్లూటూత్ పరికర చిహ్నం"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"పరికర వివరాలను కాన్ఫిగర్ చేయడానికి క్లిక్ చేయండి"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"అన్ని పరికరాలను చూడటానికి క్లిక్ చేయండి"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"కొత్త పరికరాన్ని పెయిర్ చేయడానికి క్లిక్ చేయండి"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"బ్యాటరీ శాతం తెలియదు."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g>కి కనెక్ట్ చేయబడింది."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g>కి కనెక్ట్ చేయబడింది."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"ఇన్‌పుట్"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"వినికిడి పరికరాలు"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"ఆన్ చేస్తోంది…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ఇది టాప్ యాప్ ద్వారా\n కంట్రోల్ చేయబడుతున్నందున బ్రైట్‌నెస్‌ను సర్దుబాటు చేయడం సాధ్యం కాదు"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ఇది టాప్ యాప్ ద్వారా కంట్రోల్ చేయబడుతున్నందున బ్రైట్‌నెస్‌ను సర్దుబాటు చేయడం సాధ్యం కాదు"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"ఆటో-రొటేట్‌"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"స్క్రీన్ ఆటో-రొటేట్‌"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"లొకేషన్"</string>
@@ -506,7 +510,7 @@
     <string name="communal_tutorial_indicator_text" msgid="4503010353591430123">"కమ్యూనల్ ట్యుటోరియల్‌ను ప్రారంభించడానికి ఎడమ వైపునకు స్వైప్ చేయండి"</string>
     <string name="cta_tile_button_to_open_widget_editor" msgid="3871562362382963878">"అనుకూలంగా మార్చండి"</string>
     <string name="cta_tile_button_to_dismiss" msgid="3377597875997861754">"విస్మరించండి"</string>
-    <string name="cta_label_to_edit_widget" msgid="6496885074209203756">"ఈ స్పేస్‌లో మీ విడ్జెట్‌లను జోడించండి, తీసివేయండి, క్రమపద్ధతిలో అమర్చండి"</string>
+    <string name="cta_label_to_edit_widget" msgid="6496885074209203756">"ఈ స్పేస్‌లోని విడ్జెట్‌ల జోడింపు, తీసివేత, అమరిక"</string>
     <string name="cta_label_to_open_widget_picker" msgid="3874946756976360699">"మరిన్ని విడ్జెట్‌లను జోడించండి"</string>
     <string name="popup_on_dismiss_cta_tile_text" msgid="8292501780996070019">"విడ్జెట్‌లను అనుకూలీకరించడానికి, నొక్కి, ఉంచండి"</string>
     <string name="button_to_configure_widgets_text" msgid="4191862850185256901">"విడ్జెట్‌లను అనుకూలంగా మార్చండి"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> సంభాషణ ఫీచర్‌లను సపోర్ట్ చేయదు"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"ఫీడ్‌బ్యాక్"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"విస్మరించండి"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"పిన్ చేసినట్లు చూపవద్దు"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"లైవ్ అప్‌డేట్‌లు చూపబడుతున్నాయి"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"పిన్ చేయబడిన నోటిఫికేషన్‌లు, యాప్‌ల నుండి ఎప్పటికప్పుడు తాజా సమాచారాన్ని చూపిస్తాయి, ఇంకా ఇవి ఎల్లప్పుడూ స్టేటస్ బార్, లాక్ స్క్రీన్‌లో కనిపిస్తాయి"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"ఈ నోటిఫికేషన్‌లను ఎడిట్ చేయడం వీలుపడదు."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"కాల్ నోటిఫికేషన్‌లను ఎడిట్ చేయడం సాధ్యం కాదు."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"ఈ నోటిఫికేషన్‌ల గ్రూప్‌ను ఇక్కడ కాన్ఫిగర్ చేయలేము"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"మల్టీ-టాస్కింగ్"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"కుడి వైపు ప్రస్తుత యాప్‌తో స్ప్లిట్ స్క్రీన్‌ను ఉపయోగించండి"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"ఎడమ వైపు ప్రస్తుత యాప్‌తో స్ప్లిట్ స్క్రీన్‌ను ఉపయోగించండి"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"ఫుల్ స్క్రీన్‌కు మారండి"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"స్ప్లిట్ స్క్రీన్ ఉపయోగిస్తున్నప్పుడు కుడి లేదా కింద యాప్‌నకు మారండి"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"స్ప్లిట్ స్క్రీన్ ఉపయోగిస్తున్నప్పుడు ఎడమ లేదా పైన యాప్‌నకు మారండి"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"స్ప్లిట్ స్క్రీన్ సమయంలో: ఒక దాన్నుండి మరో దానికి యాప్ రీప్లేస్ చేయండి"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"తక్కువ ప్రాధాన్యత నోటిఫికేషన్ చిహ్నాలను చూపించు"</string>
     <string name="other" msgid="429768510980739978">"ఇతరం"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"టైల్‌ను తీసివేయండి"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"చివరి పొజిషన్‌కు టైల్‌ను జోడించండి"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"టైల్‌ను తరలించండి"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"ఇటీవలి యాప్‌లను చూడండి"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"యాప్‌ల మధ్య మారండి"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"పూర్తయింది"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"మళ్లీ ట్రై చేయండి!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"వెనుకకు"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"మీ టచ్‌ప్యాడ్‌లో మూడు వేళ్లను ఉపయోగించి ఎడమ వైపునకు లేదా కుడి వైపునకు స్వైప్ చేయండి"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"ఇటీవలి యాప్‌లను చూడటానికి, టచ్‌ప్యాడ్‌లో మూడు వేళ్లతో పైకి స్వైప్ చేసి, హోల్డ్ చేయండి"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"మీ యాప్‌లన్నింటినీ చూడటానికి, మీ కీబోర్డ్‌లో యాక్షన్ కీని నొక్కండి"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"దాచిపెట్టినది"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"చూడటానికి అన్‌లాక్ చేయండి"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"సందర్భోచిత విద్య"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"వెనుకకు వెళ్లడానికి మీ టచ్‌ప్యాడ్‌ను ఉపయోగించండి"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"మూడు వేళ్లతో ఎడమ / కుడి వైపునకు స్వైప్ చేయండి. మరిన్ని సంజ్ఞల గురించి తెలుసుకోవడానికి ట్యాప్ చేయండి."</string>
diff --git a/packages/SystemUI/res/values-te/tiles_states_strings.xml b/packages/SystemUI/res/values-te/tiles_states_strings.xml
index 7562aae..d118429 100644
--- a/packages/SystemUI/res/values-te/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-te/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"ఆఫ్‌లో ఉంది"</item>
     <item msgid="5908720590832378783">"ఆన్‌లో ఉంది"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"అందుబాటులో లేదు"</item>
+    <item msgid="6641673879029894995">"ఆఫ్‌లో ఉంది"</item>
+    <item msgid="5806682401126108403">"ఆన్‌లో ఉంది"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index 873635d..0b314f4 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"เชื่อมต่อบลูทูธแล้ว"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"ไอคอนอุปกรณ์บลูทูธ"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"คลิกเพื่อกำหนดค่ารายละเอียดอุปกรณ์"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"คลิกเพื่อดูอุปกรณ์ทั้งหมด"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"คลิกเพื่อจับคู่อุปกรณ์ใหม่"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g> กำหนดค่ารายละเอียดอุปกรณ์"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"ดูอุปกรณ์ทั้งหมด"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"จับคู่อุปกรณ์ใหม่"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"ไม่ทราบเปอร์เซ็นต์แบตเตอรี่"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"เชื่อมต่อกับ <xliff:g id="BLUETOOTH">%s</xliff:g> แล้ว"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"เชื่อมต่อกับ <xliff:g id="CAST">%s</xliff:g>"</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"อินพุต"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"เครื่องช่วยฟัง"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"กำลังเปิด..."</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ปรับความสว่างไม่ได้เนื่องจาก\nควบคุมโดยแอปที่อยู่ด้านบน"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"ปรับความสว่างไม่ได้เนื่องจากควบคุมโดยแอปที่อยู่ด้านบน"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"หมุนอัตโนมัติ"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"หมุนหน้าจออัตโนมัติ"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"ตำแหน่ง"</string>
@@ -506,7 +507,7 @@
     <string name="communal_tutorial_indicator_text" msgid="4503010353591430123">"ปัดไปทางซ้ายเพื่อเริ่มบทแนะนำส่วนกลาง"</string>
     <string name="cta_tile_button_to_open_widget_editor" msgid="3871562362382963878">"ปรับแต่ง"</string>
     <string name="cta_tile_button_to_dismiss" msgid="3377597875997861754">"ปิด"</string>
-    <string name="cta_label_to_edit_widget" msgid="6496885074209203756">"เพิ่ม นำออก และจัดลำดับวิดเจ็ตในพื้นที่นี้ใหม่"</string>
+    <string name="cta_label_to_edit_widget" msgid="6496885074209203756">"เพิ่ม นำออก และจัดลำดับวิด⁠เจ็ตในพื้นที่นี้ใหม่"</string>
     <string name="cta_label_to_open_widget_picker" msgid="3874946756976360699">"เพิ่มวิดเจ็ตอีก"</string>
     <string name="popup_on_dismiss_cta_tile_text" msgid="8292501780996070019">"กดค้างเพื่อปรับแต่งวิดเจ็ต"</string>
     <string name="button_to_configure_widgets_text" msgid="4191862850185256901">"ปรับแต่งวิดเจ็ต"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> ไม่รองรับฟีเจอร์การสนทนา"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"ความคิดเห็น"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"ปิด"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"ไม่แสดงเป็นรายการที่ปักหมุด"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"กำลังแสดงข้อมูลอัปเดตแบบเรียลไทม์"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"การแจ้งเตือนที่ปักหมุดไว้จะแสดงข้อมูลแบบเรียลไทม์จากแอป และจะปรากฏในแถบสถานะและหน้าจอล็อกเสมอ"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"แก้ไขการแจ้งเตือนเหล่านี้ไม่ได้"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"แก้ไขการแจ้งเตือนสายเรียกเข้าไม่ได้"</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"การแจ้งเตือนกลุ่มนี้กำหนดค่าที่นี่ไม่ได้"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"การทํางานหลายอย่างพร้อมกัน"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"ใช้โหมดแยกหน้าจอโดยให้แอปอยู่ด้านขวา"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"ใช้โหมดแยกหน้าจอโดยให้แอปอยู่ด้านซ้าย"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"เปลี่ยนเป็นแบบเต็มหน้าจอ"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"ใช้โหมดเต็มหน้าจอ"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"ใช้มุมมองบนเดสก์ท็อป"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"เปลี่ยนไปใช้แอปทางด้านขวาหรือด้านล่างขณะใช้โหมดแยกหน้าจอ"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"เปลี่ยนไปใช้แอปทางด้านซ้ายหรือด้านบนขณะใช้โหมดแยกหน้าจอ"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"ระหว่างใช้โหมดแยกหน้าจอ: เปลี่ยนแอปหนึ่งเป็นอีกแอปหนึ่ง"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"แสดงไอคอนการแจ้งเตือนลำดับความสำคัญต่ำ"</string>
     <string name="other" msgid="429768510980739978">"อื่นๆ"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"นำชิ้นส่วนออก"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"เพิ่มการ์ดไปยังตำแหน่งสุดท้าย"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"ย้ายชิ้นส่วน"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"ดูแอปล่าสุด"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"เปลี่ยนแอป"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"เสร็จสิ้น"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"ถัดไป"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"ลองอีกครั้งนะ"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"ย้อนกลับ"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"ใช้ 3 นิ้วปัดไปทางซ้ายหรือขวาบนทัชแพด"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"หากต้องการดูแอปล่าสุด ให้ใช้ 3 นิ้วปัดขึ้นแล้วค้างไว้บนทัชแพด"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"หากต้องการดูแอปทั้งหมด ให้กดปุ่มดำเนินการบนแป้นพิมพ์"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"ปกปิดไว้"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"ปลดล็อกเพื่อดู"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"การศึกษาตามบริบท"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"ใช้ทัชแพดเพื่อย้อนกลับ"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"ใช้ 3 นิ้วปัดไปทางซ้ายหรือขวา แตะเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับท่าทางสัมผัสต่างๆ"</string>
diff --git a/packages/SystemUI/res/values-th/tiles_states_strings.xml b/packages/SystemUI/res/values-th/tiles_states_strings.xml
index 6d36036..9fba3bd 100644
--- a/packages/SystemUI/res/values-th/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-th/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"ปิด"</item>
     <item msgid="5908720590832378783">"เปิด"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"ไม่พร้อมใช้งาน"</item>
+    <item msgid="6641673879029894995">"ปิด"</item>
+    <item msgid="5806682401126108403">"เปิด"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index e6aa410..f5a7fde 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Nakakonekta ang Bluetooth."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Icon ng Bluetooth device"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"I-click para i-configure ang detalye ng device"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"I-click para tingnan ang lahat ng device"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"I-click para magpares ng bagong device"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Hindi alam ang porsyento ng baterya."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Nakakonekta sa <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Nakakonekta sa <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Input"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Mga hearing aid"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Ino-on…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Hindi ma-adjust ang liwanag dahil\n kinokontrol ito ng nangingibabaw na app"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Hindi ma-adjust ang liwanag dahil kinokontrol ito ng nangingibabaw na app"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"I-auto rotate"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Awtomatikong i-rotate ang screen"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Lokasyon"</string>
@@ -623,7 +627,7 @@
     <string name="quick_settings_disclosure_management" msgid="5515296598440684962">"Pagmamay-ari ng iyong organisasyon ang device na ito"</string>
     <string name="quick_settings_disclosure_named_management" msgid="3476472755775165827">"Pagmamay-ari ng <xliff:g id="ORGANIZATION_NAME">%1$s</xliff:g> ang device na ito"</string>
     <string name="quick_settings_disclosure_management_vpns" msgid="929181757984262902">"Pag-aari ng organisasyon mo ang device na ito at nakakonekta ito sa internet sa pamamagitan ng VPN"</string>
-    <string name="quick_settings_disclosure_named_management_vpns" msgid="3312645578322079185">"Pagmamay-ari ng <xliff:g id="ORGANIZATION_NAME">%1$s</xliff:g> ang device na ito at nakakoenekta ito sa internet sa pamamagitan ng mga VPN"</string>
+    <string name="quick_settings_disclosure_named_management_vpns" msgid="3312645578322079185">"Pagmamay-ari ng <xliff:g id="ORGANIZATION_NAME">%1$s</xliff:g> ang device na ito at nakakonekta ito sa internet sa pamamagitan ng mga VPN"</string>
     <string name="quick_settings_disclosure_managed_profile_monitoring" msgid="1423899084754272514">"Maaaring sumubaybay ang iyong organisasyon ng trapiko sa network sa profile sa trabaho mo"</string>
     <string name="quick_settings_disclosure_named_managed_profile_monitoring" msgid="8321469176706219860">"Maaaring subaybayan ng <xliff:g id="ORGANIZATION_NAME">%1$s</xliff:g> ang trapiko sa network sa iyong profile sa trabaho"</string>
     <string name="quick_settings_disclosure_managed_profile_network_activity" msgid="2636594621387832827">"Nakikita ng IT admin ang aktibidad sa network"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"Hindi sinusuportahan ng <xliff:g id="APP_NAME">%1$s</xliff:g> ang mga feature ng pag-uusap"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Feedback"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"I-dismiss"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Huwag ipakita bilang naka-pin"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Ipinapakita ang Mga Live na Update"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Nagpapakita ang mga naka-pin na notification ng live na impormasyon mula sa mga app, at palagi itong nasa status bar at lock screen"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Hindi puwedeng baguhin ang mga notification na ito."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Hindi mabago ang mga notification ng tawag."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Hindi mako-configure dito ang pangkat na ito ng mga notification"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Pag-multitask"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Gumamit ng split screen nang nasa kanan ang app"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Gumamit ng split screen nang nasa kaliwa ang app"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Lumipat sa full screen"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Lumipat sa app sa kanan o ibaba habang ginagamit ang split screen"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Lumipat sa app sa kaliwa o itaas habang ginagamit ang split screen"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Habang nasa split screen: magpalit-palit ng app"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Ipakita ang mga icon ng notification na may mababang priority"</string>
     <string name="other" msgid="429768510980739978">"Iba pa"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"alisin ang tile"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"magdagdag ng tile sa huling posisyon"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Ilipat ang tile"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Tingnan ang mga kamakailang app"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Lumipat ng app"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Tapos na"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Subukan ulit!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Bumalik"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Mag-swipe pakaliwa o pakanan gamit ang tatlong daliri sa iyong touchpad"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Para tingnan ang kamakailang app, mag-swipe pataas at i-hold gamit ang tatlong daliri sa touchpad"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Para tingnan ang lahat ng iyong app, pindutin ang action key sa keyboard mo"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Na-redact"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"I-unlock para tingnan"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Edukasyon ayon sa konteksto"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Gamitin ang iyong touchpad para bumalik"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Mag-swipe pakaliwa o pakanan gamit ang tatlong daliri. I-tap para matuto pa tungkol sa mga galaw."</string>
diff --git a/packages/SystemUI/res/values-tl/tiles_states_strings.xml b/packages/SystemUI/res/values-tl/tiles_states_strings.xml
index 112c0bf..03cca6d 100644
--- a/packages/SystemUI/res/values-tl/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-tl/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Naka-off"</item>
     <item msgid="5908720590832378783">"Naka-on"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Hindi available"</item>
+    <item msgid="6641673879029894995">"Naka-off"</item>
+    <item msgid="5806682401126108403">"Naka-on"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index 05fc1f2..dca7381 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth bağlandı."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth cihaz simgesi"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Cihaz ayrıntılarını yapılandırmak için tıklayın"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Tüm cihazları görmek için tıklayın"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Yeni cihaz eşlemek için tıklayın"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Pil yüzdesi bilinmiyor."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g> ile bağlı."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> bağlantısı kuruldu."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Giriş"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"İşitme cihazları"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Açılıyor…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Parlaklık ayarlanamıyor, çünkü bu özellik\n en üstteki uygulama tarafından kontrol ediliyor"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Parlaklık ayarlanamıyor, çünkü bu özellik en üstteki uygulama tarafından kontrol ediliyor"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Otomatik döndür"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Ekranı otomatik döndür"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Konum"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g>, sohbet özelliklerini desteklemiyor"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Geri bildirim"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Kapat"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Sabitlenmiş olarak gösterme"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Canlı haberlerin gösterilmesi"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Sabitlenmiş bildirimler, uygulamalardan gelen canlı bilgileri gösterir ve durum çubuğu ile kilit ekranında her zaman görünür"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Bu bildirimler değiştirilemez."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Arama bildirimleri değiştirilemez."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Bu bildirim grubu burada yapılandırılamaz"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Çoklu görev"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Sağdaki uygulamayla birlikte bölünmüş ekranı kullan"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Soldaki uygulamayla birlikte bölünmüş ekranı kullan"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Tam ekran moduna geç"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Bölünmüş ekran kullanırken sağdaki veya alttaki uygulamaya geçiş yap"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Bölünmüş ekran kullanırken soldaki veya üstteki uygulamaya geçiş yapın"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Bölünmüş ekran etkinken: Bir uygulamayı başkasıyla değiştir"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Düşük öncelikli bildirim simgelerini göster"</string>
     <string name="other" msgid="429768510980739978">"Diğer"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"Kutuyu kaldırmak için"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"kutuyu son konuma ekleyin"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Kutuyu taşı"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Son uygulamaları görüntüle"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Uygulamalar arasında geçiş yapma"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Bitti"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Tekrar deneyin."</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Geri dön"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Dokunmatik alanda üç parmağınızla sola veya sağa kaydırın"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Son uygulamaları görüntülemek için dokunmatik alanda üç parmağınızla yukarı kaydırıp basılı tutun"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Tüm uygulamalarınızı görüntülemek için klavyenizdeki eylem tuşuna basın"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Çıkartıldı"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Görüntülemek için kilidi açın"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Bağlama dayalı eğitim"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Geri dönmek için dokunmatik alanınızı kullanın"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Üç parmağınızla sola veya sağa kaydırın. Daha fazla hareket öğrenmek için dokunun."</string>
diff --git a/packages/SystemUI/res/values-tr/tiles_states_strings.xml b/packages/SystemUI/res/values-tr/tiles_states_strings.xml
index f3c51c0..7c17ace 100644
--- a/packages/SystemUI/res/values-tr/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-tr/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Kapalı"</item>
     <item msgid="5908720590832378783">"Açık"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Yok"</item>
+    <item msgid="6641673879029894995">"Kapalı"</item>
+    <item msgid="5806682401126108403">"Açık"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index 0b0d6dc..4f5c181 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth під’єднано."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Значок пристрою з Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Натисніть, щоб змінити налаштування пристрою"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Натисніть, щоб переглянути всі пристрої"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Натисніть, щоб підключити новий пристрій"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Відсоток заряду акумулятора невідомий."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Підключено до <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Під’єднано до пристрою <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Джерело сигналу"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Слухові апарати"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Увімкнення…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Не вдається змінити яскравість, оскільки\n нею керує основний додаток"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Не вдається змінити яскравість, оскільки нею керує основний додаток"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Автообертання"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Автоматично обертати екран"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Геодані"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> не підтримує функції розмов"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Надіслати відгук"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Закрити"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Не показувати як закріплені"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Показ інформації в реальному часі"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Закріплені сповіщення з актуальною інформацією від додатків. Завжди показуються в рядку стану й на заблокованому екрані."</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Ці сповіщення не можна змінити."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Сповіщення про виклик не можна змінити."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Цю групу сповіщень не можна налаштувати тут"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Багатозадачність"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Розділити екран і показувати додаток праворуч"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Розділити екран і показувати додаток ліворуч"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Перейти в повноекранний режим"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Перейти до додатка праворуч або внизу на розділеному екрані"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Під час розділення екрана перемикатися на додаток ліворуч або вгорі"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Під час розділення екрана: замінити додаток іншим"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Показувати значки сповіщень із низьким пріоритетом"</string>
     <string name="other" msgid="429768510980739978">"Інше"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"вилучити опцію"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"додати панель на останню позицію"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Перемістити опцію"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Переглянути нещодавні додатки"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Перемикання між додатками"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Готово"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Спробуйте ще"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Назад"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Проведіть трьома пальцями вліво чи вправо по сенсорній панелі"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Щоб переглянути останні додатки, проведіть трьома пальцями вгору по сенсорній панелі й утримуйте їх"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Щоб переглянути всі додатки, натисніть клавішу дії на клавіатурі"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Замасковано"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Розблокуйте, щоб переглянути"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Контекстне навчання"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Щоб повернутися, використовуйте сенсорну панель"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Проведіть трьома пальцями вліво чи вправо. Натисніть, щоб дізнатися про інші жести."</string>
diff --git a/packages/SystemUI/res/values-uk/tiles_states_strings.xml b/packages/SystemUI/res/values-uk/tiles_states_strings.xml
index 4fac740..8b50c085 100644
--- a/packages/SystemUI/res/values-uk/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-uk/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Вимкнено"</item>
     <item msgid="5908720590832378783">"Увімкнено"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Недоступно"</item>
+    <item msgid="6641673879029894995">"Вимкнено"</item>
+    <item msgid="5806682401126108403">"Увімкнено"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-ur/strings.xml b/packages/SystemUI/res/values-ur/strings.xml
index ab4dd77..7cdb223 100644
--- a/packages/SystemUI/res/values-ur/strings.xml
+++ b/packages/SystemUI/res/values-ur/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"بلوٹوتھ مربوط ہے۔"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"بلوٹوتھ آلے کا آئیکن"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"آلہ کی تفصیل کو کنفیگر کرنے کے لیے کلک کریں"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"تمام آلات دیکھنے کے لیے کلک کریں"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"نئے آلے کا جوڑا بنانے کے لیے کلک کریں"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"‫<xliff:g id="DEVICE_NAME">%s</xliff:g>۔ آلہ کی تفصیل کنفیگر کریں"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"تمام آلات دیکھیں"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"نئے آلے کا جوڑا بنائیں"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"بیٹری کی فیصد نامعلوم ہے۔"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"<xliff:g id="BLUETOOTH">%s</xliff:g> سے منسلک ہیں۔"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"<xliff:g id="CAST">%s</xliff:g> سے منسلک ہے۔"</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"ان پٹ"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"سماعتی آلات"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"آن ہو رہا ہے…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"چمک کو ایڈجسٹ نہیں کیا جا سکتا کیونکہ اسے سرفہرست ایپ کے ذریعے \n کنٹرول کیا جا رہا ہے"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"چمک کو ایڈجسٹ نہیں کیا جا سکتا کیونکہ اسے سرفہرست ایپ کے ذریعے کنٹرول کیا جا رہا ہے"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"خود کار طور پر گھمائیں"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"اسکرین کو خود کار طور پر گھمائیں"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"مقام"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> ایپ گفتگو کی خصوصیات کو سپورٹ نہیں کرتی ہے"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"تاثرات"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"برخاست کریں"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"پن کردہ کے طور پر نہ دکھائیں"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"لائیو اپ ڈیٹس کو دکھایا جا رہا ہے"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"پن کردہ اطلاعات ایپس سے لائیو معلومات ڈسپلے کرتی ہیں اور ہمیشہ اسٹیٹس بار اور مقفل اسکرین پر ظاہر ہوتی ہیں"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"ان اطلاعات کی ترمیم نہیں کی جا سکتی۔"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"کال کی اطلاعات میں ترمیم نہیں کی جا سکتی۔"</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"اطلاعات کے اس گروپ کو یہاں کنفیگر نہیں کیا جا سکتا"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"ملٹی ٹاسکنگ"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"بائیں جانب ایپ کے ساتھ اسپلٹ اسکرین کا استعمال کریں"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"دائیں جانب ایپ کے ساتھ اسپلٹ اسکرین کا استعمال کریں"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"فُل اسکرین پر سوئچ کریں"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"فُل اسکرین استعمال کریں"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"ڈیسک ٹاپ منظر استعمال کریں"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"اسپلٹ اسکرین کا استعمال کرتے ہوئے دائیں یا نیچے ایپ پر سوئچ کریں"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"اسپلٹ اسکرین کا استعمال کرتے ہوئے بائیں یا اوپر ایپ پر سوئچ کریں"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"اسپلٹ اسکرین کے دوران: ایک ایپ کو دوسرے سے تبدیل کریں"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"کم ترجیحی اطلاع کے آئیکنز دکھائیں"</string>
     <string name="other" msgid="429768510980739978">"دیگر"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"ٹائل ہٹائیں"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"ٹائل کو آخری پوزیشن پر شامل کریں"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"ٹائل منتقل کریں"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"حالیہ ایپس دیکھیں"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"ایپس سوئچ کریں"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"ہو گیا"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"اگلا"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"دوبارہ کوشش کریں!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"واپس جائیں"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"اپنے ٹچ پیڈ پر تین انگلیوں کا استعمال کرتے ہوئے دائیں یا بائیں طرف سوائپ کریں"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"حالیہ ایپس دیکھنے کے لیے، ٹچ پیڈ پر تین انگلیوں سے اوپر سوائپ کریں اور دبائے رکھیں"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"اپنی سبھی ایپس دیکھنے کے لیے، اپنے کی بورڈ پر ایکشن کلید دبائیں"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"چھپانے کیلئے تبدیل کردہ"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"دیکھنے کے لیے غیر مقفل کریں"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"سیاق و سباق کی تعلیم"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"واپس جانے کے لیے اپنے ٹچ پیڈ کا استعمال کریں"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"تین انگلیوں سے دائیں یا بائیں طرف سوائپ کریں۔ مزید اشارے جاننے کے لیے تھپتھپائیں۔"</string>
diff --git a/packages/SystemUI/res/values-ur/tiles_states_strings.xml b/packages/SystemUI/res/values-ur/tiles_states_strings.xml
index 06e213b..fea0533 100644
--- a/packages/SystemUI/res/values-ur/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-ur/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"آف"</item>
     <item msgid="5908720590832378783">"آن"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"دستیاب نہیں ہے"</item>
+    <item msgid="6641673879029894995">"آف"</item>
+    <item msgid="5806682401126108403">"آن"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-uz/strings.xml b/packages/SystemUI/res/values-uz/strings.xml
index 55caf25..037f83d 100644
--- a/packages/SystemUI/res/values-uz/strings.xml
+++ b/packages/SystemUI/res/values-uz/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth ulandi."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Bluetooth qurilma belgisi"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Qurilma haqida tafsilotlarni oʻzgartirish uchun bosing"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Barcha qurilmalarni koʻrish uchun bosing"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Yangi qurilmani ulash uchun bosing"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Batareya quvvati foizi nomaʼlum."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Ulangan: <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Bunga ulangan: <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Kirish"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Eshitish moslamalari"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Yoqilmoqda…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Yorqinlik umumiy sozlamalar orqali boshqariladi.\nUni moslash imkonsiz"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Yorqinlik umumiy sozlamalar orqali boshqariladi.Uni moslash imkonsiz"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Avto-burilish"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Ekranning avtomatik burilishi"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Joylashuv"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasida suhbat funksiyalari ishlamaydi"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Fikr-mulohaza"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Yopish"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Qadalgan sifatida chiqmasin"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Jonli yangiliklar koʻrsatilmoqda"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Qadalgan bildirishnomalar ilovalardagi jonli efir maʼlumotlarini koʻrsatadi va har doim holat qatori va ekran qulfida chiqadi"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Bu bildirishnomalarni tahrirlash imkonsiz."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Chaqiruv bildirishnomalarini tahrirlash imkonsiz."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Ushbu bildirishnomalar guruhi bu yerda sozlanmaydi"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Multi-vazifalilik"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Ekranni ajratib, joriy ilovani oʻngga joylash"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Ekranni ajratib, joriy ilovani chapga joylash"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Butun ekran rejimiga kirish"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Ajratilgan ekranda oʻngdagi yoki pastdagi ilovaga almashish"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Ajratilgan ekranda chapdagi yoki yuqoridagi ilovaga almashish"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Ajratilgan rejimda ilovalarni oʻzaro almashtirish"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Muhim boʻlmagan bildirishnoma ikonkalarini koʻrsatish"</string>
     <string name="other" msgid="429768510980739978">"Boshqa"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"katakchani olib tashlash"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"kartochkani oxirgi oʻringa qoʻshish"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Katakchani boshqa joyga olish"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Oxirgi ilovalarni koʻrish"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Ilovalarni almashtirish"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Tayyor"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Qayta urining!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Orqaga qaytish"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Sensorli panelda uchta barmoq bilan chapga yoki oʻngga suring"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Oxirgi ilovalarni koʻrish uchun sensorli panelda uchta barmoq bilan tepaga surib, bosib turing"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Barcha ishoralarni koʻrish uchun klaviaturadagi amal tugmasini bosing"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Chiqarildi"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Koʻrish uchun qulfdan chiqaring"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Kontekstual taʼlim"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Sensorli panel orqali orqaga qaytish"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Uchta barmoq bilan chapga yoki oʻngga suring. Boshqa ishoralar bilan tanishish uchun bosing."</string>
diff --git a/packages/SystemUI/res/values-uz/tiles_states_strings.xml b/packages/SystemUI/res/values-uz/tiles_states_strings.xml
index f636bc6..9b8ca80 100644
--- a/packages/SystemUI/res/values-uz/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-uz/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Yoqilmagan"</item>
     <item msgid="5908720590832378783">"Yoniq"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Mavjud emas"</item>
+    <item msgid="6641673879029894995">"Yoqilmagan"</item>
+    <item msgid="5806682401126108403">"Yoniq"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index 35fe2f2..59e81bb 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Đã kết nối bluetooth."</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Biểu tượng thiết bị Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Nhấp để định cấu hình thông tin thiết bị"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Nhấp để xem tất cả các thiết bị"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Nhấp để ghép nối thiết bị mới"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Tỷ lệ phần trăm pin không xác định."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Đã kết nối với <xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Đã kết nối với <xliff:g id="CAST">%s</xliff:g>."</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Thiết bị đầu vào"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Thiết bị trợ thính"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Đang bật…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Không điều chỉnh được độ sáng vì độ sáng đang được\n ứng dụng trên cùng điều khiển"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Không điều chỉnh được độ sáng vì độ sáng đang được ứng dụng trên cùng điều khiển"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Tự động xoay"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Tự động xoay màn hình"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Vị trí"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g> không hỗ trợ các tính năng trò chuyện"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Phản hồi"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Đóng"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Không hiện dưới dạng đã ghim"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Đang hiện thông tin cập nhật trực tiếp"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Thông báo được ghim sẽ hiện thông tin trực tiếp từ ứng dụng và luôn xuất hiện trên thanh trạng thái cũng như màn hình khoá"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Không thể sửa đổi các thông báo này."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Không thể sửa đổi các thông báo cuộc gọi."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Không thể định cấu hình nhóm thông báo này tại đây"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Đa nhiệm"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Dùng tính năng chia đôi màn hình với ứng dụng ở bên phải"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Dùng tính năng chia đôi màn hình với ứng dụng ở bên trái"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Chuyển sang chế độ toàn màn hình"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Chuyển sang ứng dụng bên phải hoặc ở dưới khi đang chia đôi màn hình"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Chuyển sang ứng dụng bên trái hoặc ở trên khi đang chia đôi màn hình"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Trong chế độ chia đôi màn hình: thay một ứng dụng bằng ứng dụng khác"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Hiển thị biểu tượng thông báo có mức ưu tiên thấp"</string>
     <string name="other" msgid="429768510980739978">"Khác"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"xóa ô"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"thêm ô vào vị trí cuối cùng"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Di chuyển ô"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Xem các ứng dụng gần đây"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Chuyển đổi ứng dụng"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Xong"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Hãy thử lại!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Quay lại"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Dùng 3 ngón tay vuốt sang trái hoặc sang phải trên bàn di chuột"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Để xem các ứng dụng gần đây, hãy dùng 3 ngón tay vuốt lên và giữ trên bàn di chuột"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Để xem tất cả ứng dụng của bạn, hãy nhấn phím hành động trên bàn phím"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Bị loại bỏ"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Mở khoá để xem"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Hướng dẫn theo bối cảnh"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Dùng bàn di chuột để quay lại"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Dùng 3 ngón tay vuốt sang trái hoặc sang phải. Hãy nhấn để tìm hiểu các cử chỉ khác."</string>
diff --git a/packages/SystemUI/res/values-vi/tiles_states_strings.xml b/packages/SystemUI/res/values-vi/tiles_states_strings.xml
index d8e6887..afbf477 100644
--- a/packages/SystemUI/res/values-vi/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-vi/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Đang tắt"</item>
     <item msgid="5908720590832378783">"Đang bật"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Không có"</item>
+    <item msgid="6641673879029894995">"Đang tắt"</item>
+    <item msgid="5806682401126108403">"Đang bật"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index 530017c..03c4cdf 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -245,8 +245,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"蓝牙已连接。"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"蓝牙设备图标"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"点击以配置设备详情"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"点击即可查看所有设备"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"点击即可配对新设备"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"电池电量百分比未知。"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"已连接到<xliff:g id="BLUETOOTH">%s</xliff:g>。"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"已连接到 <xliff:g id="CAST">%s</xliff:g>。"</string>
@@ -328,7 +332,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"输入"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"助听器"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"正在开启…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"亮度无法调整，因为它正在被\n顶层应用控制"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"亮度无法调整，因为它正在被顶层应用控制"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"自动屏幕旋转"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"自动旋转屏幕"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"位置信息"</string>
@@ -808,12 +812,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"<xliff:g id="APP_NAME">%1$s</xliff:g>不支持对话功能"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"反馈"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"关闭"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"请勿显示在固定的通知中"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"显示实时动态"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"固定的通知会显示应用的实时信息，并始终显示在状态栏和锁定屏幕上"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"无法修改这些通知。"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"无法修改来电通知。"</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"您无法在此处配置这组通知"</string>
@@ -900,7 +901,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"多任务处理"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"使用分屏模式，并将应用置于右侧"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"使用分屏模式，并将应用置于左侧"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"切换到全屏模式"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"使用分屏模式时，切换到右侧或下方的应用"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"使用分屏模式时，切换到左侧或上方的应用"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"在分屏期间：将一个应用替换为另一个应用"</string>
@@ -987,6 +991,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"显示低优先级的通知图标"</string>
     <string name="other" msgid="429768510980739978">"其他"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"移除功能块"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"将功能块添加到最后一个位置"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"移动功能块"</string>
@@ -1501,6 +1507,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"查看最近用过的应用"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"切换应用"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"完成"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"再试一次！"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"返回"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"在触控板上用三根手指向左或向右滑动"</string>
@@ -1538,7 +1546,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"如要查看最近用过的应用，请用三根手指在触控板上向上滑动并按住"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"如要查看所有应用，请按下键盘上的快捷操作按键"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"已隐去"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"解锁即可查看"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"内容相关指导"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"使用触控板返回"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"用三根手指向左或向右滑动。点按即可了解更多手势。"</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/tiles_states_strings.xml b/packages/SystemUI/res/values-zh-rCN/tiles_states_strings.xml
index 6f36065..a3922e5 100644
--- a/packages/SystemUI/res/values-zh-rCN/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"关闭"</item>
     <item msgid="5908720590832378783">"开启"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"不可用"</item>
+    <item msgid="6641673879029894995">"已关闭"</item>
+    <item msgid="5806682401126108403">"已开启"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index 496cbdb..472f531 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"藍牙連線已建立。"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"藍牙裝置圖示"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"按一下即可設定裝置詳情"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"㩒一下就可以睇所有裝置"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"㩒一下就可以配對新裝置"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>。設定裝置詳細資料"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"查看所有裝置"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"配對新裝置"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"電量百分比不明。"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"已連線至<xliff:g id="BLUETOOTH">%s</xliff:g>。"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"已連接至 <xliff:g id="CAST">%s</xliff:g>。"</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"輸入"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"助聽器"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"正在開啟…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"無法調整亮度，因為\n目前是由上層應用程式控制亮度"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"無法調整亮度，因為目前是由上層應用程式控制亮度"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"自動旋轉"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"自動旋轉螢幕"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"位置"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」不支援對話功能"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"意見反映"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"關閉"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"不要置頂顯示"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"顯示即時消息"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"置頂通知顯示應用程式的即時資訊，並且一律在狀態列和上鎖畫面顯示"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"無法修改這些通知。"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"無法修改通話通知。"</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"無法在此設定這組通知"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"多工處理"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"使用分割螢幕，並在右側顯示應用程式"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"使用分割螢幕，並在左側顯示應用程式"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"切換至全螢幕"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"使用全螢幕模式"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"使用電腦檢視畫面"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"使用分割螢幕時，切換至右邊或下方的應用程式"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"使用分割螢幕時，切換至左邊或上方的應用程式"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"使用分割螢幕期間：更換應用程式"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"顯示低優先順序通知圖示"</string>
     <string name="other" msgid="429768510980739978">"其他"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"移除圖塊"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"加圖塊去上一個位置"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"移動圖塊"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"查看最近使用的應用程式"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"切換應用程式"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"完成"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"繼續"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"請再試一次！"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"返回"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"在觸控板上用三隻手指向左或向右滑動"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"如要查看最近使用的應用程式，請用三隻手指在觸控板上向上滑動並按住"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"如要查看所有應用程式，請在鍵盤上按下快捷操作鍵"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"已剔除"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"解鎖即可查看"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"內容教學"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"使用觸控板返回"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"用三隻手指向左或向右滑動。輕按即可瞭解更多手勢。"</string>
diff --git a/packages/SystemUI/res/values-zh-rHK/tiles_states_strings.xml b/packages/SystemUI/res/values-zh-rHK/tiles_states_strings.xml
index 25548e2..26bec2c 100644
--- a/packages/SystemUI/res/values-zh-rHK/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"關閉"</item>
     <item msgid="5908720590832378783">"開啟"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"無法使用"</item>
+    <item msgid="6641673879029894995">"關閉"</item>
+    <item msgid="5806682401126108403">"開啟"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index c63473f..a56fc03 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -245,8 +245,9 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"藍牙連線已建立。"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"「藍牙裝置」圖示"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"按一下即可設定裝置詳細資料"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"按一下即可查看所有裝置"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"按一下即可配對新裝置"</string>
+    <string name="accessibility_bluetooth_device_settings_gear_with_name" msgid="114373701123165491">"<xliff:g id="DEVICE_NAME">%s</xliff:g>。設定裝置詳細資料"</string>
+    <string name="accessibility_bluetooth_device_settings_see_all" msgid="5260390270128256620">"查看所有裝置"</string>
+    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="7988547106800504256">"配對新裝置"</string>
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"電池電量不明。"</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"已連線至<xliff:g id="BLUETOOTH">%s</xliff:g>。"</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"已連線至 <xliff:g id="CAST">%s</xliff:g>。"</string>
@@ -328,7 +329,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"輸入"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"助聽器"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"開啟中…"</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"無法調整亮度，因為\n目前是由上層應用程式控制亮度"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"無法調整亮度，因為目前是由上層應用程式控制亮度"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"自動旋轉"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"自動旋轉螢幕"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"定位"</string>
@@ -808,12 +809,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」不支援對話功能"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"意見回饋"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"關閉"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"不要顯示在固定的通知中"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"顯示最新即時資訊"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"固定的通知會提供應用程式即時資訊，並一律顯示在狀態列和螢幕鎖定畫面上"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"無法修改這些通知。"</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"無法修改來電通知。"</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"無法在這裡設定這個通知群組"</string>
@@ -900,7 +898,8 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"多工處理"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"使用分割畫面，並在右側顯示應用程式"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"使用分割畫面，並在左側顯示應用程式"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"切換至全螢幕模式"</string>
+    <string name="system_multitasking_full_screen" msgid="4221409316059910349">"使用全螢幕模式"</string>
+    <string name="system_multitasking_desktop_view" msgid="8829838918507805921">"使用電腦檢視畫面"</string>
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"使用分割畫面時，切換到右邊或上方的應用程式"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"使用分割畫面時，切換到左邊或上方的應用程式"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"使用分割畫面期間：更換應用程式"</string>
@@ -987,6 +986,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"顯示低優先順序通知圖示"</string>
     <string name="other" msgid="429768510980739978">"其他"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"移除圖塊"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"將設定方塊新增到最後一個位置"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"移動圖塊"</string>
@@ -1501,6 +1502,7 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"查看最近使用的應用程式"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"切換應用程式"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"完成"</string>
+    <string name="touchpad_tutorial_next_button" msgid="9169718126626806688">"繼續"</string>
     <string name="gesture_error_title" msgid="469064941635578511">"請再試一次！"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"返回"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"在觸控板上用三指向左或向右滑動"</string>
@@ -1538,7 +1540,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"如要查看最近使用的應用程式，請在觸控板上向上滑動並按住"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"如要查看所有應用程式，請按下鍵盤上的快捷操作鍵"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"已遮蓋"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"解鎖即可查看"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"內容教學"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"使用觸控板返回"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"用三指向左或向右滑動。輕觸即可進一步瞭解手勢。"</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/tiles_states_strings.xml b/packages/SystemUI/res/values-zh-rTW/tiles_states_strings.xml
index 3a192ba..6e272f2 100644
--- a/packages/SystemUI/res/values-zh-rTW/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"關閉"</item>
     <item msgid="5908720590832378783">"開啟"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"無法使用"</item>
+    <item msgid="6641673879029894995">"已關閉"</item>
+    <item msgid="5806682401126108403">"已開啟"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index 2aad788..20be43b 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -247,8 +247,12 @@
     <string name="accessibility_bluetooth_connected" msgid="4745196874551115205">"Bluetooth ixhunyiwe"</string>
     <string name="accessibility_bluetooth_device_icon" msgid="9163840051642587982">"Isithonjana sedivayisi ye-Bluetooth"</string>
     <string name="accessibility_bluetooth_device_settings_gear" msgid="3314916468105272540">"Chofoza ukuze ulungiselele imininingwane yedivayisi"</string>
-    <string name="accessibility_bluetooth_device_settings_see_all" msgid="9111952496905423543">"Chofoza ukuze ubone wonke amadivayisi"</string>
-    <string name="accessibility_bluetooth_device_settings_pair_new_device" msgid="2435184865793496966">"Chofoza ukuze ubhangqe idivayisi entsha"</string>
+    <!-- no translation found for accessibility_bluetooth_device_settings_gear_with_name (114373701123165491) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_see_all (5260390270128256620) -->
+    <skip />
+    <!-- no translation found for accessibility_bluetooth_device_settings_pair_new_device (7988547106800504256) -->
+    <skip />
     <string name="accessibility_battery_unknown" msgid="1807789554617976440">"Iphesenti lebhethri alaziwa."</string>
     <string name="accessibility_bluetooth_name" msgid="7300973230214067678">"Xhuma ku-<xliff:g id="BLUETOOTH">%s</xliff:g>."</string>
     <string name="accessibility_cast_name" msgid="7344437925388773685">"Ixhumeke ku-<xliff:g id="CAST">%s</xliff:g>."</string>
@@ -330,7 +334,7 @@
     <string name="quick_settings_bluetooth_secondary_label_input" msgid="3887552721233148132">"Okokufaka"</string>
     <string name="quick_settings_bluetooth_secondary_label_hearing_aids" msgid="5553051568867097111">"Imishini yendlebe"</string>
     <string name="quick_settings_bluetooth_secondary_label_transient" msgid="3882884317600669650">"Iyavula..."</string>
-    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Ayikwazi ukulungisa ukukhanya ngoba ilawulwa\n yi-app ephezulu"</string>
+    <string name="quick_settings_brightness_unable_adjust_msg" msgid="786478497970492300">"Ayikwazi ukulungisa ukukhanya ngoba ilawulwa yi-app ephezulu"</string>
     <string name="quick_settings_rotation_unlocked_label" msgid="2359922767950346112">"Ukuphenduka okuzenzakalelayo"</string>
     <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Phendula iskrini ngokuzenzakalela"</string>
     <string name="quick_settings_location_label" msgid="2621868789013389163">"Indawo"</string>
@@ -810,12 +814,9 @@
     <string name="no_shortcut" msgid="8257177117568230126">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> ayisekeli izici zengxoxo"</string>
     <string name="notification_guts_bundle_feedback" msgid="7581587973879656500">"Impendulo"</string>
     <string name="notification_inline_dismiss" msgid="88423586921134258">"Chitha"</string>
-    <!-- no translation found for notification_inline_disable_promotion (3551682588314376921) -->
-    <skip />
-    <!-- no translation found for live_notifications_title (1586553354601345379) -->
-    <skip />
-    <!-- no translation found for live_notifications_desc (7470787001768372152) -->
-    <skip />
+    <string name="notification_inline_disable_promotion" msgid="3551682588314376921">"Ungabonisi njengophiniwe"</string>
+    <string name="live_notifications_title" msgid="1586553354601345379">"Ibonisa Izibuyekezo Ezibukhoma"</string>
+    <string name="live_notifications_desc" msgid="7470787001768372152">"Izaziso eziphiniwe zibonisa ulwazi olubukhoma oluvela kuma-app, futhi oluhlala luvela kubha yesimo nasekukhiyeni isikrini"</string>
     <string name="notification_unblockable_desc" msgid="2073030886006190804">"Lezi zaziso azikwazi ukushintshwa."</string>
     <string name="notification_unblockable_call_desc" msgid="5907328164696532169">"Izaziso zekholi azikwazi ukushintshwa."</string>
     <string name="notification_multichannel_desc" msgid="7414593090056236179">"Leli qembu lezaziso alikwazi ukulungiselelwa lapha"</string>
@@ -902,7 +903,10 @@
     <string name="keyboard_shortcut_group_system_multitasking" msgid="6967816258924795558">"Ukwenza imisebenzi eminingi"</string>
     <string name="system_multitasking_rhs" msgid="8779289852395243004">"Sebenzisa ukuhlukanisa isikrini nge-app kwesokudla"</string>
     <string name="system_multitasking_lhs" msgid="7348595296208696452">"Sebenzisa ukuhlukanisa isikrini nge-app kwesokunxele"</string>
-    <string name="system_multitasking_full_screen" msgid="4940465971687159429">"Shintshela esikrinini esigcwele"</string>
+    <!-- no translation found for system_multitasking_full_screen (4221409316059910349) -->
+    <skip />
+    <!-- no translation found for system_multitasking_desktop_view (8829838918507805921) -->
+    <skip />
     <string name="system_multitasking_splitscreen_focus_rhs" msgid="3838578650313318508">"Shintshela ku-app ngakwesokudla noma ngezansi ngenkathi usebenzisa uhlukanisa isikrini"</string>
     <string name="system_multitasking_splitscreen_focus_lhs" msgid="3164261844398662518">"Shintshela ku-app ngakwesokunxele noma ngaphezulu ngenkathi usebenzisa ukuhlukanisa isikrini"</string>
     <string name="system_multitasking_replace" msgid="7410071959803642125">"Ngesikhathi sokuhlukaniswa kwesikrini: shintsha i-app ngenye"</string>
@@ -989,6 +993,8 @@
   </string-array>
     <string name="tuner_low_priority" msgid="8412666814123009820">"Bonisa izithonjana zesaziso zokubaluleka okuncane"</string>
     <string name="other" msgid="429768510980739978">"Okunye"</string>
+    <!-- no translation found for accessibility_qs_edit_toggle_tile_size_action (1485194410119733586) -->
+    <skip />
     <string name="accessibility_qs_edit_remove_tile_action" msgid="775511891457193480">"susa ithayela"</string>
     <string name="accessibility_qs_edit_tile_add_action" msgid="8311378984458545661">"faka ithayela endaweni yokugcina"</string>
     <string name="accessibility_qs_edit_tile_start_move" msgid="2009373939914517817">"Hambisa ithayela"</string>
@@ -1503,6 +1509,8 @@
     <string name="touchpad_tutorial_recent_apps_gesture_button" msgid="8919227647650347359">"Buka ama-app akamuva"</string>
     <string name="touchpad_tutorial_switch_apps_gesture_button" msgid="7768255095423767779">"Shintsha ama-app"</string>
     <string name="touchpad_tutorial_done_button" msgid="176168488821755503">"Kwenziwe"</string>
+    <!-- no translation found for touchpad_tutorial_next_button (9169718126626806688) -->
+    <skip />
     <string name="gesture_error_title" msgid="469064941635578511">"Zama futhi!"</string>
     <string name="touchpad_back_gesture_action_title" msgid="7199067250654332735">"Buyela emuva"</string>
     <string name="touchpad_back_gesture_guidance" msgid="5352221087725906542">"Swayiphela kwesokunxele noma kwesokudla usebenzisa iminwe emithathu kuphedi yokuthinta"</string>
@@ -1540,7 +1548,10 @@
     <string name="overview_edu_toast_content" msgid="5797030644017804518">"Ukuze ubuke ama-app akamuva, swayiphela phezulu bese ubambe ngeminwe emithathu ephedini yokuthinta"</string>
     <string name="all_apps_edu_toast_content" msgid="8807496014667211562">"Ukuze ubuke wonke ama-app wakho, cindezela inkinobho yokufinyelela kukhibhodi yakho"</string>
     <string name="redacted_notification_single_line_title" msgid="212019960919261670">"Kwenziwe iredact"</string>
-    <string name="redacted_notification_single_line_text" msgid="8684166405005242945">"Vula ukuze ubuke"</string>
+    <!-- no translation found for public_notification_single_line_text (3576190291791654933) -->
+    <skip />
+    <!-- no translation found for redacted_otp_notification_single_line_text (5179964116354454118) -->
+    <skip />
     <string name="contextual_education_dialog_title" msgid="4630392552837487324">"Imfundo yokuqukethwe"</string>
     <string name="back_edu_notification_title" msgid="5624780717751357278">"Sebenzisa iphedi yokuthinta ukuze ubuyele emuva"</string>
     <string name="back_edu_notification_content" msgid="2497557451540954068">"Swayiphela kwesokunxele noma kwesokudla usebenzisa iminwe emithathu. Thepha ukuze ufunde kabanzi ngokunyakazisa umzimba."</string>
diff --git a/packages/SystemUI/res/values-zu/tiles_states_strings.xml b/packages/SystemUI/res/values-zu/tiles_states_strings.xml
index f9f27bd..13ffe04 100644
--- a/packages/SystemUI/res/values-zu/tiles_states_strings.xml
+++ b/packages/SystemUI/res/values-zu/tiles_states_strings.xml
@@ -196,7 +196,9 @@
     <item msgid="6419996398343291862">"Valiwe"</item>
     <item msgid="5908720590832378783">"Vuliwe"</item>
   </string-array>
-    <!-- no translation found for tile_states_desktopeffects:0 (6253480000354287321) -->
-    <!-- no translation found for tile_states_desktopeffects:1 (6641673879029894995) -->
-    <!-- no translation found for tile_states_desktopeffects:2 (5806682401126108403) -->
+  <string-array name="tile_states_desktopeffects">
+    <item msgid="6253480000354287321">"Ayitholakali"</item>
+    <item msgid="6641673879029894995">"Ivaliwe"</item>
+    <item msgid="5806682401126108403">"Ivuliwe"</item>
+  </string-array>
 </resources>
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 17a89b3..640e1fa 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -491,6 +491,9 @@
     <!-- some constraints use a negative margin. must be aligned with overlay_border_width, above;
          overlay_border_width_neg = overlay_border_width * -1 -->
     <dimen name="overlay_border_width_neg">-4dp</dimen>
+    <dimen name="overlay_shade_panel_shape_radius">
+        @dimen/aux_spacing_overlay_panel_shape_radius
+    </dimen>
 
     <dimen name="clipboard_preview_size">@dimen/overlay_x_scale</dimen>
     <dimen name="clipboard_overlay_min_font">10sp</dimen>
@@ -2215,4 +2218,8 @@
     <dimen name="rear_display_progress_width">231dp</dimen>
     <!-- Rear display mode end -->
 
+    <!-- Spacing attributes to overwrite -->
+    <dimen name="aux_spacing_overlay_panel_shape_radius">46dp</dimen>
+    <!-- Spacing attributes to overwrite end -->
+
 </resources>
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 359bd2b..084495f 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -592,6 +592,12 @@
     <!-- Content description of the button to expand the group of devices. [CHAR LIMIT=NONE] -->
     <string name="accessibility_expand_group">Expand group.</string>
 
+    <!-- Content description of the button to add a device to a group. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_add_device_to_group">Add device to group.</string>
+
+    <!-- Content description of the button to remove a device from a group. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_remove_device_from_group">Remove device from group.</string>
+
     <!-- Content description of the button to open the application . [CHAR LIMIT=NONE] -->
     <string name="accessibility_open_application">Open application.</string>
 
@@ -802,7 +808,7 @@
     <!-- QuickSettings: Bluetooth secondary label shown when bluetooth is being enabled [CHAR LIMIT=NONE] -->
     <string name="quick_settings_bluetooth_secondary_label_transient">Turning on&#8230;</string>
     <!-- QuickSettings: Brightness [CHAR LIMIT=NONE] -->
-    <string name="quick_settings_brightness_unable_adjust_msg">Can\'t adjust brightness because it\'s being\n controlled by the top app</string>
+    <string name="quick_settings_brightness_unable_adjust_msg">Can\'t adjust brightness because it\'s being controlled by the top app</string>
     <!-- QuickSettings: Rotation Unlocked [CHAR LIMIT=NONE] -->
     <string name="quick_settings_rotation_unlocked_label">Auto-rotate</string>
     <!-- Accessibility label for Auto-ratate QuickSettings tile [CHAR LIMIT=NONE] -->
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/utilities/Utilities.java b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/utilities/Utilities.java
index 9ebb15f..c822439 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/utilities/Utilities.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/utilities/Utilities.java
@@ -19,6 +19,7 @@
 import static android.app.StatusBarManager.NAVBAR_BACK_DISMISS_IME;
 import static android.app.StatusBarManager.NAVBAR_IME_SWITCHER_BUTTON_VISIBLE;
 import static android.app.StatusBarManager.NAVBAR_IME_VISIBLE;
+import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
 
 import android.annotation.TargetApi;
 import android.app.StatusBarManager.NavbarFlags;
@@ -35,6 +36,8 @@
 import android.view.Surface;
 import android.view.WindowManager;
 
+import com.android.systemui.shared.recents.model.Task;
+
 /* Common code */
 public class Utilities {
 
@@ -165,4 +168,10 @@
         float densityRatio = (float) densityDpi / DisplayMetrics.DENSITY_DEFAULT;
         return (size / densityRatio);
     }
+
+    /** Whether a task is in freeform mode. */
+    public static boolean isFreeformTask(Task task) {
+        return task != null && task.getKey() != null
+                && task.getKey().windowingMode == WINDOWING_MODE_FREEFORM;
+    }
 }
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
index f6d0f4e..63101d4 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -156,7 +156,7 @@
 import com.android.systemui.res.R;
 import com.android.systemui.scene.domain.interactor.SceneInteractor;
 import com.android.systemui.scene.shared.flag.SceneContainerFlag;
-import com.android.systemui.scene.shared.model.Scenes;
+import com.android.systemui.scene.shared.model.Overlays;
 import com.android.systemui.settings.UserTracker;
 import com.android.systemui.shade.ShadeDisplayAware;
 import com.android.systemui.shared.system.TaskStackChangeListener;
@@ -2925,12 +2925,12 @@
     ) {
         SceneContainerFlag.assertInNewMode();
         return isPrimaryBouncerFullyShown(transitionState)
-                || transitionState.isTransitioning(null, Scenes.Bouncer);
+                || transitionState.isTransitioning(null, Overlays.Bouncer);
     }
 
     private boolean isPrimaryBouncerFullyShown(ObservableTransitionState transitionState) {
         SceneContainerFlag.assertInNewMode();
-        return transitionState.isIdle(Scenes.Bouncer);
+        return transitionState.isIdle(Overlays.Bouncer);
     }
 
     /**
diff --git a/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/BouncerInteractor.kt b/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/BouncerInteractor.kt
index 7039d5e..75503e8 100644
--- a/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/BouncerInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/BouncerInteractor.kt
@@ -147,9 +147,7 @@
 
     /** The scene to show when bouncer is dismissed. */
     val dismissDestination: Flow<SceneKey> =
-        sceneBackInteractor.backScene
-            .filter { it != Scenes.Bouncer }
-            .map { it ?: Scenes.Lockscreen }
+        sceneBackInteractor.backScene.map { it ?: Scenes.Lockscreen }
 
     /** Notifies that the user has places down a pointer, not necessarily dragging just yet. */
     fun onDown() {
diff --git a/packages/SystemUI/src/com/android/systemui/bouncer/ui/binder/BouncerViewBinder.kt b/packages/SystemUI/src/com/android/systemui/bouncer/ui/binder/BouncerViewBinder.kt
index 116c941..7f26831 100644
--- a/packages/SystemUI/src/com/android/systemui/bouncer/ui/binder/BouncerViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/bouncer/ui/binder/BouncerViewBinder.kt
@@ -10,7 +10,7 @@
 import com.android.systemui.bouncer.shared.flag.ComposeBouncerFlags
 import com.android.systemui.bouncer.ui.BouncerDialogFactory
 import com.android.systemui.bouncer.ui.viewmodel.BouncerContainerViewModel
-import com.android.systemui.bouncer.ui.viewmodel.BouncerSceneContentViewModel
+import com.android.systemui.bouncer.ui.viewmodel.BouncerOverlayContentViewModel
 import com.android.systemui.bouncer.ui.viewmodel.KeyguardBouncerViewModel
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Application
@@ -46,7 +46,7 @@
     val keyguardInteractor: KeyguardInteractor,
     val selectedUserInteractor: SelectedUserInteractor,
     val legacyInteractor: PrimaryBouncerInteractor,
-    val viewModelFactory: BouncerSceneContentViewModel.Factory,
+    val viewModelFactory: BouncerOverlayContentViewModel.Factory,
     val dialogFactory: BouncerDialogFactory,
     val bouncerContainerViewModelFactory: BouncerContainerViewModel.Factory,
 )
diff --git a/packages/SystemUI/src/com/android/systemui/bouncer/ui/binder/ComposeBouncerViewBinder.kt b/packages/SystemUI/src/com/android/systemui/bouncer/ui/binder/ComposeBouncerViewBinder.kt
index 2dce284..33cebf7 100644
--- a/packages/SystemUI/src/com/android/systemui/bouncer/ui/binder/ComposeBouncerViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/bouncer/ui/binder/ComposeBouncerViewBinder.kt
@@ -6,11 +6,12 @@
 import androidx.activity.setViewTreeOnBackPressedDispatcherOwner
 import androidx.compose.ui.platform.ComposeView
 import androidx.lifecycle.Lifecycle
+import com.android.app.tracing.coroutines.launchTraced as launch
 import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerInteractor
 import com.android.systemui.bouncer.ui.BouncerDialogFactory
 import com.android.systemui.bouncer.ui.composable.BouncerContainer
 import com.android.systemui.bouncer.ui.viewmodel.BouncerContainerViewModel
-import com.android.systemui.bouncer.ui.viewmodel.BouncerSceneContentViewModel
+import com.android.systemui.bouncer.ui.viewmodel.BouncerOverlayContentViewModel
 import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor
 import com.android.systemui.lifecycle.WindowLifecycleState
 import com.android.systemui.lifecycle.repeatWhenAttached
@@ -20,7 +21,6 @@
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Job
 import kotlinx.coroutines.awaitCancellation
-import com.android.app.tracing.coroutines.launchTraced as launch
 
 /** View binder responsible for binding the compose version of the bouncer. */
 object ComposeBouncerViewBinder {
@@ -32,7 +32,7 @@
         legacyInteractor: PrimaryBouncerInteractor,
         keyguardInteractor: KeyguardInteractor,
         selectedUserInteractor: SelectedUserInteractor,
-        viewModelFactory: BouncerSceneContentViewModel.Factory,
+        viewModelFactory: BouncerOverlayContentViewModel.Factory,
         dialogFactory: BouncerDialogFactory,
         bouncerContainerViewModelFactory: BouncerContainerViewModel.Factory,
     ) {
diff --git a/packages/SystemUI/src/com/android/systemui/bouncer/ui/composable/BouncerContainer.kt b/packages/SystemUI/src/com/android/systemui/bouncer/ui/composable/BouncerContainer.kt
index c59c681..204eb3e 100644
--- a/packages/SystemUI/src/com/android/systemui/bouncer/ui/composable/BouncerContainer.kt
+++ b/packages/SystemUI/src/com/android/systemui/bouncer/ui/composable/BouncerContainer.kt
@@ -24,14 +24,14 @@
 import androidx.compose.ui.Modifier
 import com.android.compose.theme.PlatformTheme
 import com.android.systemui.bouncer.ui.BouncerDialogFactory
-import com.android.systemui.bouncer.ui.viewmodel.BouncerSceneContentViewModel
+import com.android.systemui.bouncer.ui.viewmodel.BouncerOverlayContentViewModel
 import com.android.systemui.compose.modifiers.sysuiResTag
 import com.android.systemui.lifecycle.rememberViewModel
 
 /** Container that includes the compose bouncer and is meant to be included in legacy keyguard. */
 @Composable
 fun BouncerContainer(
-    viewModelFactory: BouncerSceneContentViewModel.Factory,
+    viewModelFactory: BouncerOverlayContentViewModel.Factory,
     dialogFactory: BouncerDialogFactory,
 ) {
     PlatformTheme {
diff --git a/packages/SystemUI/src/com/android/systemui/bouncer/ui/viewmodel/BouncerSceneContentViewModel.kt b/packages/SystemUI/src/com/android/systemui/bouncer/ui/viewmodel/BouncerOverlayContentViewModel.kt
similarity index 98%
rename from packages/SystemUI/src/com/android/systemui/bouncer/ui/viewmodel/BouncerSceneContentViewModel.kt
rename to packages/SystemUI/src/com/android/systemui/bouncer/ui/viewmodel/BouncerOverlayContentViewModel.kt
index 5deb751..b944d1a 100644
--- a/packages/SystemUI/src/com/android/systemui/bouncer/ui/viewmodel/BouncerSceneContentViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/bouncer/ui/viewmodel/BouncerOverlayContentViewModel.kt
@@ -51,8 +51,8 @@
 import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.map
 
-/** Models UI state for the content of the bouncer scene. */
-class BouncerSceneContentViewModel
+/** Models UI state for the content of the bouncer overlay. */
+class BouncerOverlayContentViewModel
 @AssistedInject
 constructor(
     @Application private val applicationContext: Context,
@@ -445,6 +445,6 @@
 
     @AssistedFactory
     interface Factory {
-        fun create(): BouncerSceneContentViewModel
+        fun create(): BouncerOverlayContentViewModel
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModel.kt b/packages/SystemUI/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModel.kt
index f50a2ab..aafc0e1 100644
--- a/packages/SystemUI/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/bouncer/ui/viewmodel/BouncerUserActionsViewModel.kt
@@ -20,29 +20,24 @@
 import com.android.compose.animation.scene.Swipe
 import com.android.compose.animation.scene.UserAction
 import com.android.compose.animation.scene.UserActionResult
-import com.android.systemui.bouncer.domain.interactor.BouncerInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.ui.viewmodel.UserActionsViewModel
 import dagger.assisted.AssistedFactory
 import dagger.assisted.AssistedInject
-import kotlinx.coroutines.flow.map
 
 /**
  * Models UI state for user actions that can lead to navigation to other scenes when showing the
- * bouncer scene.
+ * bouncer overlay.
  */
-class BouncerUserActionsViewModel
-@AssistedInject
-constructor(private val bouncerInteractor: BouncerInteractor) : UserActionsViewModel() {
+class BouncerUserActionsViewModel @AssistedInject constructor() : UserActionsViewModel() {
 
     override suspend fun hydrateActions(setActions: (Map<UserAction, UserActionResult>) -> Unit) {
-        bouncerInteractor.dismissDestination
-            .map { prevScene ->
-                mapOf(
-                    Back to UserActionResult(prevScene),
-                    Swipe.Down to UserActionResult(prevScene),
-                )
-            }
-            .collect { actions -> setActions(actions) }
+        setActions(
+            mapOf(
+                Back to UserActionResult.HideOverlay(Overlays.Bouncer),
+                Swipe.Down to UserActionResult.HideOverlay(Overlays.Bouncer),
+            )
+        )
     }
 
     @AssistedFactory
diff --git a/packages/SystemUI/src/com/android/systemui/common/shared/colors/SurfaceEffectColors.kt b/packages/SystemUI/src/com/android/systemui/common/shared/colors/SurfaceEffectColors.kt
index 7c2fc7f..5e8c21f9 100644
--- a/packages/SystemUI/src/com/android/systemui/common/shared/colors/SurfaceEffectColors.kt
+++ b/packages/SystemUI/src/com/android/systemui/common/shared/colors/SurfaceEffectColors.kt
@@ -20,12 +20,19 @@
 
 object SurfaceEffectColors {
     @JvmStatic
-    fun Resources.surfaceEffect0(): Int {
-        return getColor(com.android.internal.R.color.surface_effect_0)
+    fun surfaceEffect0(r: Resources): Int {
+        return r.getColor(com.android.internal.R.color.surface_effect_0)
     }
-
     @JvmStatic
-    fun Resources.surfaceEffect1(): Int {
-        return getColor(com.android.internal.R.color.surface_effect_1)
+    fun surfaceEffect1(r: Resources): Int {
+        return r.getColor(com.android.internal.R.color.surface_effect_1)
+    }
+    @JvmStatic
+    fun surfaceEffect2(r: Resources): Int {
+        return r.getColor(com.android.internal.R.color.surface_effect_2)
+    }
+    @JvmStatic
+    fun surfaceEffect3(r: Resources): Int {
+        return r.getColor(com.android.internal.R.color.surface_effect_3)
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalEditModeViewModel.kt b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalEditModeViewModel.kt
index 59beb1e..c8280d7 100644
--- a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalEditModeViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalEditModeViewModel.kt
@@ -113,7 +113,7 @@
     val canShowEditMode =
         allOf(
                 keyguardTransitionInteractor.isFinishedIn(
-                    scene = Scenes.Gone,
+                    content = Scenes.Gone,
                     stateWithoutSceneContainer = KeyguardState.GONE,
                 ),
                 communalInteractor.editModeOpen,
diff --git a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModel.kt b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModel.kt
index be1d005..a1ff552 100644
--- a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalUserActionsViewModel.kt
@@ -20,6 +20,7 @@
 import com.android.compose.animation.scene.UserAction
 import com.android.compose.animation.scene.UserActionResult
 import com.android.systemui.deviceentry.domain.interactor.DeviceUnlockedInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.scene.ui.viewmodel.UserActionsViewModel
 import com.android.systemui.shade.domain.interactor.ShadeInteractor
@@ -55,9 +56,11 @@
                         shadeModeInteractor.shadeMode,
                     ) { isDeviceUnlocked, shadeMode ->
                         buildList {
-                                val bouncerOrGone =
-                                    if (isDeviceUnlocked) Scenes.Gone else Scenes.Bouncer
-                                add(Swipe.Up to bouncerOrGone)
+                                if (isDeviceUnlocked) {
+                                    add(Swipe.Up to Scenes.Gone)
+                                } else {
+                                    add(Swipe.Up to Overlays.Bouncer)
+                                }
 
                                 add(Swipe.End to Scenes.Lockscreen)
 
diff --git a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalViewModel.kt b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalViewModel.kt
index 6473b1c..d7859c9 100644
--- a/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/communal/ui/viewmodel/CommunalViewModel.kt
@@ -168,7 +168,7 @@
     override val isCommunalContentFlowFrozen: Flow<Boolean> =
         allOf(
                 keyguardTransitionInteractor.isFinishedIn(
-                    scene = Scenes.Communal,
+                    content = Scenes.Communal,
                     stateWithoutSceneContainer = KeyguardState.GLANCEABLE_HUB,
                 ),
                 keyguardInteractor.isKeyguardOccluded,
@@ -204,7 +204,7 @@
     override val isFocusable: Flow<Boolean> =
         combine(
                 keyguardTransitionInteractor.isFinishedIn(
-                    scene = Scenes.Communal,
+                    content = Scenes.Communal,
                     stateWithoutSceneContainer = KeyguardState.GLANCEABLE_HUB,
                 ),
                 communalInteractor.isIdleOnCommunal,
diff --git a/packages/SystemUI/src/com/android/systemui/deviceentry/data/repository/DeviceEntryFaceAuthRepository.kt b/packages/SystemUI/src/com/android/systemui/deviceentry/data/repository/DeviceEntryFaceAuthRepository.kt
index 514242b4..69378b4 100644
--- a/packages/SystemUI/src/com/android/systemui/deviceentry/data/repository/DeviceEntryFaceAuthRepository.kt
+++ b/packages/SystemUI/src/com/android/systemui/deviceentry/data/repository/DeviceEntryFaceAuthRepository.kt
@@ -20,6 +20,7 @@
 import android.content.Context
 import android.hardware.face.FaceManager
 import android.os.CancellationSignal
+import com.android.app.tracing.coroutines.launchTraced as launch
 import com.android.internal.logging.InstanceId
 import com.android.internal.logging.UiEventLogger
 import com.android.systemui.Dumpable
@@ -59,8 +60,8 @@
 import com.android.systemui.power.domain.interactor.PowerInteractor
 import com.android.systemui.scene.domain.interactor.SceneInteractor
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
-import com.android.systemui.scene.shared.model.Scenes.Bouncer
 import com.android.systemui.statusbar.phone.KeyguardBypassController
 import com.android.systemui.user.data.model.SelectionStatus
 import com.android.systemui.user.data.repository.UserRepository
@@ -87,7 +88,6 @@
 import kotlinx.coroutines.flow.merge
 import kotlinx.coroutines.flow.onEach
 import kotlinx.coroutines.flow.stateIn
-import com.android.app.tracing.coroutines.launchTraced as launch
 import kotlinx.coroutines.withContext
 
 /**
@@ -138,7 +138,7 @@
 
 private data class AuthenticationRequest(
     val uiEvent: FaceAuthUiEvent,
-    val fallbackToDetection: Boolean
+    val fallbackToDetection: Boolean,
 )
 
 @SysUISingleton
@@ -248,11 +248,11 @@
                     Pair(isLockedOut.isFalse(), "isNotInLockOutState"),
                     Pair(
                         keyguardRepository.isKeyguardDismissible.isFalse(),
-                        "keyguardIsNotDismissible"
+                        "keyguardIsNotDismissible",
                     ),
                     Pair(
                         biometricSettingsRepository.isFaceAuthCurrentlyAllowed,
-                        "isFaceAuthCurrentlyAllowed"
+                        "isFaceAuthCurrentlyAllowed",
                     ),
                     Pair(isAuthenticated.isFalse(), "faceNotAuthenticated"),
                 )
@@ -273,15 +273,15 @@
                         biometricSettingsRepository.isFaceAuthCurrentlyAllowed
                             .isFalse()
                             .or(keyguardRepository.isKeyguardDismissible),
-                        "faceAuthIsNotCurrentlyAllowedOrCurrentUserIsTrusted"
+                        "faceAuthIsNotCurrentlyAllowedOrCurrentUserIsTrusted",
                     ),
                     // We don't want to run face detect if fingerprint can be used to unlock the
                     // device
                     // but it's not possible to authenticate with FP from the bouncer (UDFPS)
                     Pair(
                         and(isUdfps(), deviceEntryFingerprintAuthRepository.isRunning).isFalse(),
-                        "udfpsAuthIsNotPossibleAnymore"
-                    )
+                        "udfpsAuthIsNotPossibleAnymore",
+                    ),
                 )
                 .andAllFlows("canFaceDetectRun", faceDetectLog)
                 .flowOn(backgroundDispatcher)
@@ -318,7 +318,7 @@
                 powerInteractor.isAsleep,
                 combine(
                     keyguardTransitionInteractor.isFinishedIn(
-                        scene = Scenes.Gone,
+                        content = Scenes.Gone,
                         stateWithoutSceneContainer = KeyguardState.GONE,
                     ),
                     keyguardInteractor.statusBarState,
@@ -350,7 +350,7 @@
         faceAuthLogger.clearingPendingAuthRequest(
             loggingContext,
             pendingAuthenticateRequest.value?.uiEvent,
-            pendingAuthenticateRequest.value?.fallbackToDetection
+            pendingAuthenticateRequest.value?.fallbackToDetection,
         )
         pendingAuthenticateRequest.value = null
     }
@@ -387,7 +387,7 @@
             ),
             Pair(
                 biometricSettingsRepository.isFaceAuthEnrolledAndEnabled,
-                "isFaceAuthEnrolledAndEnabled"
+                "isFaceAuthEnrolledAndEnabled",
             ),
             Pair(
                 if (SceneContainerFlag.isEnabled) {
@@ -399,13 +399,13 @@
                 } else {
                     keyguardRepository.isKeyguardGoingAway.isFalse()
                 },
-                "keyguardNotGoingAway"
+                "keyguardNotGoingAway",
             ),
             Pair(
                 keyguardTransitionInteractor
                     .isInTransitionWhere(toStatePredicate = KeyguardState::deviceIsAsleepInState)
                     .isFalse(),
-                "deviceNotTransitioningToAsleepState"
+                "deviceNotTransitioningToAsleepState",
             ),
             Pair(
                 keyguardInteractor.isSecureCameraActive
@@ -413,29 +413,31 @@
                     .or(
                         alternateBouncerInteractor.isVisible.or(
                             if (SceneContainerFlag.isEnabled) {
-                                sceneInteractor.get().transitionState.map { it.isIdle(Bouncer) }
+                                sceneInteractor.get().transitionState.map {
+                                    it.isIdle(overlay = Overlays.Bouncer)
+                                }
                             } else {
                                 keyguardInteractor.primaryBouncerShowing
                             }
                         )
                     ),
-                "secureCameraNotActiveOrAnyBouncerIsShowing"
+                "secureCameraNotActiveOrAnyBouncerIsShowing",
             ),
             Pair(
                 biometricSettingsRepository.isFaceAuthSupportedInCurrentPosture,
-                "isFaceAuthSupportedInCurrentPosture"
+                "isFaceAuthSupportedInCurrentPosture",
             ),
             Pair(
                 biometricSettingsRepository.isCurrentUserInLockdown.isFalse(),
-                "userHasNotLockedDownDevice"
+                "userHasNotLockedDownDevice",
             ),
             Pair(keyguardRepository.isKeyguardShowing, "isKeyguardShowing"),
             Pair(
                 userRepository.selectedUser
                     .map { it.selectionStatus == SelectionStatus.SELECTION_IN_PROGRESS }
                     .isFalse(),
-                "userSwitchingInProgress"
-            )
+                "userSwitchingInProgress",
+            ),
         )
     }
 
@@ -486,7 +488,7 @@
                     errorCode,
                     errString,
                     errorStatus.isLockoutError(),
-                    errorStatus.isCancellationError()
+                    errorStatus.isCancellationError(),
                 )
                 onFaceAuthRequestCompleted()
             }
@@ -524,7 +526,7 @@
                         faceAuthLogger.attemptingRetryAfterHardwareError(retryCount)
                         requestAuthenticate(
                             FaceAuthUiEvent.FACE_AUTH_TRIGGERED_RETRY_AFTER_HW_UNAVAILABLE,
-                            fallbackToDetection = false
+                            fallbackToDetection = false,
                         )
                     }
                 }
@@ -551,7 +553,7 @@
         if (pendingAuthenticateRequest.value != null) {
             faceAuthLogger.ignoredFaceAuthTrigger(
                 pendingAuthenticateRequest.value?.uiEvent,
-                "Previously queued trigger skipped due to new request"
+                "Previously queued trigger skipped due to new request",
             )
         }
         faceAuthLogger.queueingRequest(uiEvent, fallbackToDetection)
@@ -574,7 +576,7 @@
                         pending?.uiEvent,
                         canRunAuth,
                         canRunDetect,
-                        cancelInProgress
+                        cancelInProgress,
                     )
                     return@combine null
                 } else {
@@ -613,7 +615,7 @@
                     0,
                     null,
                     keyguardSessionId,
-                    uiEvent.extraInfo
+                    uiEvent.extraInfo,
                 )
                 faceAuthLogger.authenticating(uiEvent)
                 faceManager?.authenticate(
@@ -624,28 +626,28 @@
                     SysUiFaceAuthenticateOptions(
                             currentUserId,
                             uiEvent,
-                            wakeReason = uiEvent.extraInfo
+                            wakeReason = uiEvent.extraInfo,
                         )
-                        .toFaceAuthenticateOptions()
+                        .toFaceAuthenticateOptions(),
                 )
             }
         } else if (canRunDetection.value) {
             if (fallbackToDetection) {
                 faceAuthLogger.ignoredFaceAuthTrigger(
                     uiEvent,
-                    "face auth gating check is false, falling back to detection."
+                    "face auth gating check is false, falling back to detection.",
                 )
                 detect(uiEvent)
             } else {
                 faceAuthLogger.ignoredFaceAuthTrigger(
                     uiEvent = uiEvent,
-                    "face auth gating check is false and fallback to detection is not requested"
+                    "face auth gating check is false and fallback to detection is not requested",
                 )
             }
         } else {
             faceAuthLogger.ignoredFaceAuthTrigger(
                 uiEvent,
-                "face auth & detect gating check is false"
+                "face auth & detect gating check is false",
             )
         }
     }
@@ -669,7 +671,7 @@
                     it,
                     detectionCallback,
                     SysUiFaceAuthenticateOptions(currentUserId, uiEvent, uiEvent.extraInfo)
-                        .toFaceAuthenticateOptions()
+                        .toFaceAuthenticateOptions(),
                 )
             }
         }
@@ -695,7 +697,7 @@
                     _isAuthRunning.value,
                     _isLockedOut.value,
                     cancellationInProgress.value,
-                    pendingAuthenticateRequest.value?.uiEvent
+                    pendingAuthenticateRequest.value?.uiEvent,
                 )
                 _authenticationStatus.value = ErrorFaceAuthenticationStatus.cancelNotReceivedError()
                 onFaceAuthRequestCompleted()
@@ -759,7 +761,7 @@
 
 private fun List<Pair<Flow<Boolean>, String>>.andAllFlows(
     combinedLoggingInfo: String,
-    tableLogBuffer: TableLogBuffer
+    tableLogBuffer: TableLogBuffer,
 ): Flow<Boolean> {
     return combine(this.map { it.first }) {
         val combinedValue =
diff --git a/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractor.kt b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractor.kt
index 5fc924b1..58310e9 100644
--- a/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntryInteractor.kt
@@ -30,6 +30,7 @@
 import com.android.systemui.scene.domain.SceneFrameworkTableLog
 import com.android.systemui.scene.domain.interactor.SceneBackInteractor
 import com.android.systemui.scene.domain.interactor.SceneInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.util.kotlin.pairwise
 import com.android.systemui.utils.coroutines.flow.mapLatestConflated
@@ -238,8 +239,8 @@
                 if (alternateBouncerInteractor.canShowAlternateBouncer.value) {
                     alternateBouncerInteractor.forceShow()
                 } else {
-                    sceneInteractor.changeScene(
-                        toScene = Scenes.Bouncer,
+                    sceneInteractor.showOverlay(
+                        overlay = Overlays.Bouncer,
                         loggingReason = "request to unlock device while authentication required",
                     )
                 }
diff --git a/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntrySourceInteractor.kt b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntrySourceInteractor.kt
index eb82c7d..5de2ed2 100644
--- a/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntrySourceInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/DeviceEntrySourceInteractor.kt
@@ -33,6 +33,7 @@
 import com.android.systemui.scene.domain.interactor.SceneContainerOcclusionInteractor
 import com.android.systemui.scene.domain.interactor.SceneInteractor
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.statusbar.phone.BiometricUnlockController.MODE_DISMISS_BOUNCER
 import com.android.systemui.statusbar.phone.BiometricUnlockController.MODE_NONE
@@ -84,14 +85,14 @@
     sceneInteractor: SceneInteractor,
     dumpManager: DumpManager,
 ) : FlowDumperImpl(dumpManager) {
-    private val isShowingBouncerScene: Flow<Boolean> =
+    private val isShowingBouncerOverlay: Flow<Boolean> =
         sceneInteractor.transitionState
             .map { transitionState ->
-                transitionState.isIdle(Scenes.Bouncer) ||
-                    transitionState.isTransitioning(null, Scenes.Bouncer)
+                transitionState.isIdle(overlay = Overlays.Bouncer) ||
+                    transitionState.isTransitioning(null, Overlays.Bouncer)
             }
             .distinctUntilChanged()
-            .dumpWhileCollecting("isShowingBouncerScene")
+            .dumpWhileCollecting("isShowingBouncerOverlay")
 
     private val isUnlockedWithStrongFaceUnlock =
         deviceEntryFaceAuthInteractor.authenticationStatus
@@ -115,14 +116,14 @@
                 isUnlockedWithStrongFaceUnlock,
                 sceneContainerOcclusionInteractor.isOccludingActivityShown,
                 sceneInteractor.currentScene,
-                isShowingBouncerScene,
+                isShowingBouncerOverlay,
             ) {
                 isAlternateBouncerVisible,
                 isBypassAvailable,
                 isFaceStrongBiometric,
                 isOccluded,
                 currentScene,
-                isShowingBouncerScene ->
+                isShowingBouncerOverlay ->
                 val isUnlockingAllowed =
                     keyguardUpdateMonitor.isUnlockingWithBiometricAllowed(isFaceStrongBiometric)
                 val bypass = isBypassAvailable || authController.isUdfpsFingerDown()
@@ -140,7 +141,7 @@
 
                     isUnlockingAllowed && isOccluded -> MODE_UNLOCK_COLLAPSING
 
-                    (isShowingBouncerScene || isAlternateBouncerVisible) && isUnlockingAllowed ->
+                    (isShowingBouncerOverlay || isAlternateBouncerVisible) && isUnlockingAllowed ->
                         MODE_DISMISS_BOUNCER
 
                     isUnlockingAllowed && bypass -> MODE_UNLOCK_COLLAPSING
@@ -158,14 +159,16 @@
                 alternateBouncerInteractor.isVisible,
                 authenticationInteractor.authenticationMethod,
                 sceneInteractor.currentScene,
+                sceneInteractor.currentOverlays,
                 isUnlockedWithStrongFingerprintUnlock,
-                isShowingBouncerScene,
+                isShowingBouncerOverlay,
             ) {
                 alternateBouncerVisible,
                 authenticationMethod,
                 currentScene,
+                currentOverlays,
                 isFingerprintStrongBiometric,
-                isShowingBouncerScene ->
+                isShowingBouncerOverlay ->
                 val unlockingAllowed =
                     keyguardUpdateMonitor.isUnlockingWithBiometricAllowed(
                         isFingerprintStrongBiometric
@@ -185,11 +188,12 @@
                     unlockingAllowed && currentScene == Scenes.Dream ->
                         MODE_WAKE_AND_UNLOCK_FROM_DREAM
 
-                    isShowingBouncerScene && unlockingAllowed -> MODE_DISMISS_BOUNCER
+                    isShowingBouncerOverlay && unlockingAllowed -> MODE_DISMISS_BOUNCER
 
                     unlockingAllowed -> MODE_UNLOCK_COLLAPSING
 
-                    currentScene != Scenes.Bouncer && !alternateBouncerVisible -> MODE_SHOW_BOUNCER
+                    Overlays.Bouncer !in currentOverlays && !alternateBouncerVisible ->
+                        MODE_SHOW_BOUNCER
 
                     else -> MODE_NONE
                 }
diff --git a/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/SystemUIDeviceEntryFaceAuthInteractor.kt b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/SystemUIDeviceEntryFaceAuthInteractor.kt
index 4b90e1d..0d01054 100644
--- a/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/SystemUIDeviceEntryFaceAuthInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/deviceentry/domain/interactor/SystemUIDeviceEntryFaceAuthInteractor.kt
@@ -50,6 +50,7 @@
 import com.android.systemui.res.R
 import com.android.systemui.scene.domain.interactor.SceneInteractor
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.user.data.model.SelectionStatus
 import com.android.systemui.user.data.repository.UserRepository
@@ -237,7 +238,7 @@
 
     private val isBouncerVisible: Flow<Boolean> by lazy {
         if (SceneContainerFlag.isEnabled) {
-            sceneInteractor.get().transitionState.map { it.isIdle(Scenes.Bouncer) }
+            sceneInteractor.get().transitionState.map { it.isIdle(Overlays.Bouncer) }
         } else {
             primaryBouncerInteractor.get().isShowing
         }
diff --git a/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayContainerViewController.java b/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayContainerViewController.java
index 3dd2561..599c945 100644
--- a/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayContainerViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayContainerViewController.java
@@ -51,7 +51,7 @@
 import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor;
 import com.android.systemui.keyguard.shared.model.KeyguardState;
 import com.android.systemui.res.R;
-import com.android.systemui.scene.shared.model.Scenes;
+import com.android.systemui.scene.shared.model.Overlays;
 import com.android.systemui.shade.ShadeExpansionChangeEvent;
 import com.android.systemui.shade.domain.interactor.ShadeInteractor;
 import com.android.systemui.statusbar.BlurUtils;
@@ -281,7 +281,7 @@
                     mView,
                     FlowKt.distinctUntilChanged(combineFlows(
                             mKeyguardTransitionInteractor.isFinishedIn(
-                                    Scenes.Bouncer, KeyguardState.PRIMARY_BOUNCER),
+                                    Overlays.Bouncer, KeyguardState.PRIMARY_BOUNCER),
                             mKeyguardTransitionInteractor.isFinishedIn(
                                     KeyguardState.ALTERNATE_BOUNCER),
                             mShadeInteractor.isAnyExpanded(),
diff --git a/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayService.java b/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayService.java
index 3132ec2..a2bcb98 100644
--- a/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayService.java
+++ b/packages/SystemUI/src/com/android/systemui/dreams/DreamOverlayService.java
@@ -47,7 +47,7 @@
 import androidx.lifecycle.ViewModelStore;
 
 import com.android.app.viewcapture.ViewCaptureAwareWindowManager;
-import com.android.compose.animation.scene.SceneKey;
+import com.android.compose.animation.scene.OverlayKey;
 import com.android.internal.logging.UiEvent;
 import com.android.internal.logging.UiEventLogger;
 import com.android.internal.policy.PhoneWindow;
@@ -72,6 +72,7 @@
 import com.android.systemui.navigationbar.gestural.domain.TaskMatcher;
 import com.android.systemui.scene.domain.interactor.SceneInteractor;
 import com.android.systemui.scene.shared.flag.SceneContainerFlag;
+import com.android.systemui.scene.shared.model.Overlays;
 import com.android.systemui.scene.shared.model.Scenes;
 import com.android.systemui.shade.ShadeExpansionChangeEvent;
 import com.android.systemui.touch.TouchInsetManager;
@@ -82,6 +83,7 @@
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 import java.util.concurrent.CancellationException;
 import java.util.function.Consumer;
 
@@ -221,10 +223,11 @@
         }
     };
 
-    private final Consumer<SceneKey> mCurrentSceneConsumer = new Consumer<>() {
+    private final Consumer<Set<OverlayKey>> mCurrentOverlaysConsumer = new Consumer<>() {
         @Override
-        public void accept(SceneKey currentScene) {
-            mExecutor.execute(() -> updateBouncerShowingLocked(currentScene == Scenes.Bouncer));
+        public void accept(Set<OverlayKey> currentOverlays) {
+            mExecutor.execute(() ->
+                    updateBouncerShowingLocked(currentOverlays.contains(Overlays.Bouncer)));
         }
     };
 
@@ -430,8 +433,8 @@
         mFlows.add(collectFlow(getLifecycle(), communalInteractor.isCommunalVisible(),
                 mCommunalVisibleConsumer));
         if (SceneContainerFlag.isEnabled()) {
-            mFlows.add(collectFlow(getLifecycle(), sceneInteractor.getCurrentScene(),
-                    mCurrentSceneConsumer));
+            mFlows.add(collectFlow(getLifecycle(), sceneInteractor.getCurrentOverlays(),
+                    mCurrentOverlaysConsumer));
         } else {
             mFlows.add(collectFlow(getLifecycle(), keyguardInteractor.primaryBouncerShowing,
                     mBouncerShowingConsumer));
diff --git a/packages/SystemUI/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModel.kt b/packages/SystemUI/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModel.kt
index 7437d3e..de86996 100644
--- a/packages/SystemUI/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/dreams/ui/viewmodel/DreamUserActionsViewModel.kt
@@ -20,6 +20,7 @@
 import com.android.compose.animation.scene.UserAction
 import com.android.compose.animation.scene.UserActionResult
 import com.android.systemui.deviceentry.domain.interactor.DeviceUnlockedInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.scene.ui.viewmodel.UserActionsViewModel
 import com.android.systemui.shade.domain.interactor.ShadeInteractor
@@ -55,9 +56,11 @@
                         shadeModeInteractor.shadeMode,
                     ) { isDeviceUnlocked, shadeMode ->
                         buildList {
-                                val bouncerOrGone =
-                                    if (isDeviceUnlocked) Scenes.Gone else Scenes.Bouncer
-                                add(Swipe.Up to bouncerOrGone)
+                                if (isDeviceUnlocked) {
+                                    add(Swipe.Up to Scenes.Gone)
+                                } else {
+                                    add(Swipe.Up to Overlays.Bouncer)
+                                }
 
                                 addAll(
                                     when (shadeMode) {
diff --git a/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/TouchpadTutorialScreensProvider.kt b/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/TouchpadTutorialScreensProvider.kt
index 7d2492a..bea79fd 100644
--- a/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/TouchpadTutorialScreensProvider.kt
+++ b/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/TouchpadTutorialScreensProvider.kt
@@ -21,8 +21,16 @@
 interface TouchpadTutorialScreensProvider {
 
     @Composable
-    fun BackGesture(onDoneButtonClicked: () -> Unit, onBack: () -> Unit, isAutoProceed: Boolean)
+    fun BackGesture(
+        onDoneButtonClicked: () -> Unit,
+        onBack: () -> Unit,
+        onAutoProceed: (suspend () -> Unit)?,
+    )
 
     @Composable
-    fun HomeGesture(onDoneButtonClicked: () -> Unit, onBack: () -> Unit, isAutoProceed: Boolean)
+    fun HomeGesture(
+        onDoneButtonClicked: () -> Unit,
+        onBack: () -> Unit,
+        onAutoProceed: (suspend () -> Unit)?,
+    )
 }
diff --git a/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/ActionTutorialContent.kt b/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/ActionTutorialContent.kt
index ee875c4..8e4e4c0 100644
--- a/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/ActionTutorialContent.kt
+++ b/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/ActionTutorialContent.kt
@@ -108,6 +108,7 @@
     actionState: TutorialActionState,
     onDoneButtonClicked: () -> Unit,
     config: TutorialScreenConfig,
+    onAutoProceed: (suspend () -> Unit)? = null,
 ) {
     Column(
         verticalArrangement = Arrangement.Center,
@@ -137,9 +138,12 @@
             onDoneButtonClicked = onDoneButtonClicked,
             modifier = Modifier.padding(horizontal = 60.dp).graphicsLayer { alpha = buttonAlpha },
             enabled = actionState is Finished,
-            isNext = config.hasNextButton,
+            isNext = onAutoProceed != null,
         )
     }
+    if (actionState is Finished) {
+        LaunchedEffect(Unit) { onAutoProceed?.invoke() }
+    }
 }
 
 @Composable
diff --git a/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/TutorialScreenConfig.kt b/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/TutorialScreenConfig.kt
index 65adc14..eda23a5 100644
--- a/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/TutorialScreenConfig.kt
+++ b/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/TutorialScreenConfig.kt
@@ -28,7 +28,6 @@
     val colors: Colors,
     val strings: Strings,
     val animations: Animations,
-    val hasNextButton: Boolean = false,
 ) {
 
     data class Colors(
diff --git a/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/view/KeyboardTouchpadTutorialActivity.kt b/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/view/KeyboardTouchpadTutorialActivity.kt
index 086705f..8cc1865 100644
--- a/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/view/KeyboardTouchpadTutorialActivity.kt
+++ b/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/view/KeyboardTouchpadTutorialActivity.kt
@@ -147,7 +147,7 @@
                 .BackGesture(
                     onDoneButtonClicked = vm::onDoneButtonClicked,
                     onBack = vm::onBack,
-                    isAutoProceed = isAutoProceed,
+                    onAutoProceed = if (isAutoProceed) vm::onAutoProceed else null,
                 )
         HOME_GESTURE ->
             touchpadScreens
@@ -155,7 +155,7 @@
                 .HomeGesture(
                     onDoneButtonClicked = vm::onDoneButtonClicked,
                     onBack = vm::onBack,
-                    isAutoProceed = isScopeAll,
+                    onAutoProceed = if (isScopeAll) vm::onAutoProceed else null,
                 )
         ACTION_KEY ->
             ActionKeyTutorialScreen(
diff --git a/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/viewmodel/KeyboardTouchpadTutorialViewModel.kt b/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/viewmodel/KeyboardTouchpadTutorialViewModel.kt
index eeb4b69..90e3af4 100644
--- a/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/viewmodel/KeyboardTouchpadTutorialViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/viewmodel/KeyboardTouchpadTutorialViewModel.kt
@@ -42,6 +42,8 @@
 import dagger.assisted.AssistedFactory
 import dagger.assisted.AssistedInject
 import java.util.Optional
+import kotlin.time.Duration.Companion.seconds
+import kotlinx.coroutines.delay
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.StateFlow
@@ -49,6 +51,7 @@
 import kotlinx.coroutines.flow.filterNot
 import kotlinx.coroutines.flow.runningFold
 
+@OptIn(kotlinx.coroutines.ExperimentalCoroutinesApi::class)
 class KeyboardTouchpadTutorialViewModel(
     private val gesturesInteractor: Optional<TouchpadGesturesInteractor>,
     private val keyboardTouchpadConnectionInteractor: KeyboardTouchpadConnectionInteractor,
@@ -149,7 +152,16 @@
         clearDeviceStateForScreen(_screen.value)
     }
 
+    suspend fun onAutoProceed() {
+        delay(AUTO_PROCEED_DELAY)
+        progressToNextScreen()
+    }
+
     fun onDoneButtonClicked() {
+        progressToNextScreen()
+    }
+
+    private fun progressToNextScreen() {
         var nextScreen = screenSequence.nextScreen(_screen.value)
         while (nextScreen != null) {
             if (requiredHardwarePresent(nextScreen)) {
@@ -250,6 +262,10 @@
     private object SingleScreenOnly : ScreenSequence {
         override fun nextScreen(current: Screen): Screen? = null
     }
+
+    companion object {
+        private val AUTO_PROCEED_DELAY = 3.seconds
+    }
 }
 
 enum class RequiredHardware {
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ResourceTrimmer.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ResourceTrimmer.kt
index b3027ed..b8ee20b 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ResourceTrimmer.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ResourceTrimmer.kt
@@ -19,6 +19,7 @@
 import android.annotation.WorkerThread
 import android.content.ComponentCallbacks2
 import android.util.Log
+import com.android.app.tracing.coroutines.launchTraced as launch
 import com.android.systemui.CoreStartable
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Application
@@ -31,7 +32,6 @@
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.flow.filter
-import com.android.app.tracing.coroutines.launchTraced as launch
 
 /**
  * Releases cached resources on allocated by keyguard.
@@ -54,7 +54,7 @@
         Log.d(LOG_TAG, "Resource trimmer registered.")
         applicationScope.launch(context = bgDispatcher) {
             keyguardTransitionInteractor
-                .isFinishedIn(scene = Scenes.Gone, stateWithoutSceneContainer = GONE)
+                .isFinishedIn(content = Scenes.Gone, stateWithoutSceneContainer = GONE)
                 .filter { isOnGone -> isOnGone }
                 .collect { onKeyguardGone() }
         }
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/dagger/KeyguardModule.java b/packages/SystemUI/src/com/android/systemui/keyguard/dagger/KeyguardModule.java
index 97ad2d7..6b1248b 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/dagger/KeyguardModule.java
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/dagger/KeyguardModule.java
@@ -247,14 +247,13 @@
     @Provides
     @SysUISingleton
     static BlurConfig provideBlurConfig(@Main Resources resources) {
-        int minBlurRadius = resources.getDimensionPixelSize(R.dimen.min_window_blur_radius);
         int maxBlurRadius =
                 Flags.notificationShadeBlur() || Flags.bouncerUiRevamp()
                         || Flags.glanceableHubBlurredBackground()
                         ? resources.getDimensionPixelSize(R.dimen.max_shade_window_blur_radius)
                         : resources.getDimensionPixelSize(R.dimen.max_window_blur_radius);
 
-        return new BlurConfig(minBlurRadius, maxBlurRadius);
+        return new BlurConfig(0.0f, maxBlurRadius);
     }
 
     /** */
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/DeviceEntrySideFpsOverlayInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/DeviceEntrySideFpsOverlayInteractor.kt
index 6367b5c..65ea673 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/DeviceEntrySideFpsOverlayInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/DeviceEntrySideFpsOverlayInteractor.kt
@@ -22,12 +22,11 @@
 import com.android.systemui.bouncer.domain.interactor.AlternateBouncerInteractor
 import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerInteractor
 import com.android.systemui.dagger.SysUISingleton
-import com.android.systemui.dagger.qualifiers.Application
 import com.android.systemui.keyguard.data.repository.DeviceEntryFingerprintAuthRepository
 import com.android.systemui.res.R
 import com.android.systemui.scene.domain.interactor.SceneInteractor
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.shade.ShadeDisplayAware
 import javax.inject.Inject
 import kotlinx.coroutines.flow.Flow
@@ -59,9 +58,9 @@
     private val isSideFpsIndicatorOnPrimaryBouncerEnabled: Boolean
         get() = context.resources.getBoolean(R.bool.config_show_sidefps_hint_on_bouncer)
 
-    private val isBouncerSceneActive: Flow<Boolean> =
+    private val isBouncerOverlayActive: Flow<Boolean> =
         if (SceneContainerFlag.isEnabled) {
-            sceneInteractor.currentScene.map { it == Scenes.Bouncer }.distinctUntilChanged()
+            sceneInteractor.currentOverlays.map { Overlays.Bouncer in it }.distinctUntilChanged()
         } else {
             flowOf(false)
         }
@@ -73,7 +72,7 @@
                 primaryBouncerInteractor.startingToHide,
                 primaryBouncerInteractor.startingDisappearAnimation.filterNotNull(),
                 // Bouncer scene visibility changes.
-                isBouncerSceneActive,
+                isBouncerOverlayActive,
                 deviceEntryFingerprintAuthRepository.shouldUpdateIndicatorVisibility.filter { it },
             )
             .map {
@@ -105,7 +104,7 @@
 
     private fun isBouncerActive(): Boolean {
         if (SceneContainerFlag.isEnabled) {
-            return sceneInteractor.currentScene.value == Scenes.Bouncer
+            return Overlays.Bouncer in sceneInteractor.currentOverlays.value
         }
         return primaryBouncerInteractor.isBouncerShowing() &&
             !primaryBouncerInteractor.isAnimatingAway()
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardBypassInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardBypassInteractor.kt
index d793064..762403d 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardBypassInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardBypassInteractor.kt
@@ -21,6 +21,7 @@
 import com.android.systemui.dump.DumpManager
 import com.android.systemui.keyguard.data.repository.KeyguardBypassRepository
 import com.android.systemui.scene.domain.interactor.SceneInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.shade.domain.interactor.ShadeInteractor
 import com.android.systemui.util.kotlin.FlowDumperImpl
@@ -61,7 +62,9 @@
             .flatMapLatest { isBypassAvailable ->
                 if (isBypassAvailable) {
                     combine(
-                        sceneInteractor.currentScene.map { scene -> scene == Scenes.Bouncer },
+                        sceneInteractor.currentOverlays.map { overlays ->
+                            Overlays.Bouncer in overlays
+                        },
                         alternateBouncerInteractor.isVisible,
                         sceneInteractor.currentScene.map { scene -> scene == Scenes.Lockscreen },
                         keyguardQuickAffordanceInteractor.launchingAffordance,
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractor.kt
index d8c707f..4c238f4 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardDismissActionInteractor.kt
@@ -101,7 +101,7 @@
                 .map {}
         } else {
             transitionInteractor
-                .isFinishedIn(scene = Scenes.Gone, stateWithoutSceneContainer = GONE)
+                .isFinishedIn(content = Scenes.Gone, stateWithoutSceneContainer = GONE)
                 .filter { it }
                 .map {}
         }
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt
index f84d29f..7977000 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt
@@ -248,7 +248,7 @@
     val topClippingBounds: Flow<Int?> by lazy {
         combineTransform(
                 keyguardTransitionInteractor
-                    .transitionValue(scene = Scenes.Gone, stateWithoutSceneContainer = GONE)
+                    .transitionValue(content = Scenes.Gone, stateWithoutSceneContainer = GONE)
                     .map { it == 1f }
                     .onStart { emit(false) }
                     .distinctUntilChanged(),
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractor.kt
index 278a98f..f2d7d91 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardOcclusionInteractor.kt
@@ -97,7 +97,7 @@
                 powerInteractor.detailedWakefulness
                     .sample(
                         transitionInteractor.isFinishedIn(
-                            scene = Scenes.Gone,
+                            content = Scenes.Gone,
                             stateWithoutSceneContainer = KeyguardState.GONE,
                         ),
                         ::Pair,
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractor.kt
index b9784f1..8e0cb84 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardSurfaceBehindInteractor.kt
@@ -63,7 +63,7 @@
                     edgeWithoutSceneContainer = Edge.create(to = KeyguardState.GONE),
                 ),
                 transitionInteractor.isFinishedIn(
-                    scene = Scenes.Gone,
+                    content = Scenes.Gone,
                     stateWithoutSceneContainer = KeyguardState.GONE,
                 ),
                 notificationLaunchInteractor.isLaunchAnimationRunning,
@@ -74,18 +74,14 @@
                         // If the notification launch animation is running, leave the alpha at 0f.
                         // The ActivityLaunchAnimator will morph it from the notification at the
                         // appropriate time.
-                        return@combine KeyguardSurfaceBehindModel(
-                            alpha = 0f,
-                        )
+                        return@combine KeyguardSurfaceBehindModel(alpha = 0f)
                     } else if (
                         inWindowLauncherUnlockAnimationInteractor.get().isLauncherUnderneath()
                     ) {
                         // The Launcher icons have their own translation/alpha animations during the
                         // in-window animation. We'll just make the surface visible and let Launcher
                         // do its thing.
-                        return@combine KeyguardSurfaceBehindModel(
-                            alpha = 1f,
-                        )
+                        return@combine KeyguardSurfaceBehindModel(alpha = 1f)
                     } else {
                         // Otherwise, animate a surface in via alpha/translation, and apply the
                         // swipe velocity (if available) to the translation spring.
@@ -113,10 +109,10 @@
         notificationLaunchInteractor.isLaunchAnimationRunning
             .sample(
                 transitionInteractor.isFinishedIn(
-                    scene = Scenes.Gone,
+                    content = Scenes.Gone,
                     stateWithoutSceneContainer = KeyguardState.GONE,
                 ),
-                ::Pair
+                ::Pair,
             )
             .map { (animationRunning, isOnGone) -> animationRunning && !isOnGone }
             .onStart { emit(false) }
@@ -126,10 +122,9 @@
      * means we're going to animate the surface, even if animators aren't yet running).
      */
     val isAnimatingSurface =
-        combine(
-            repository.isAnimatingSurface,
-            isNotificationLaunchAnimationRunningOnKeyguard,
-        ) { animatingSurface, animatingLaunch ->
+        combine(repository.isAnimatingSurface, isNotificationLaunchAnimationRunningOnKeyguard) {
+            animatingSurface,
+            animatingLaunch ->
             animatingSurface || animatingLaunch
         }
 
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionInteractor.kt
index 3b4a148..af58d10 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardTransitionInteractor.kt
@@ -23,6 +23,7 @@
 import com.android.app.tracing.coroutines.flow.traceAs
 import com.android.app.tracing.coroutines.launchTraced as launch
 import com.android.app.tracing.coroutines.traceCoroutine
+import com.android.compose.animation.scene.ContentKey
 import com.android.compose.animation.scene.ObservableTransitionState
 import com.android.compose.animation.scene.SceneKey
 import com.android.systemui.Flags.keyguardTransitionForceFinishOnScreenOff
@@ -236,28 +237,28 @@
         if (!SceneContainerFlag.isEnabled) {
             return flow
         }
-        if (edge.isSceneWildcardEdge()) {
+        if (edge.isContentWildcardEdge()) {
             return simulateTransitionStepsForSceneTransitions(edge)
         }
         return flow.filterTraced("stl-filter") { step ->
-            val fromScene =
+            val fromContent =
                 when (edge) {
-                    is Edge.StateToState -> edge.from?.mapToSceneContainerScene()
-                    is Edge.StateToScene -> edge.from?.mapToSceneContainerScene()
-                    is Edge.SceneToState -> edge.from
+                    is Edge.StateToState -> edge.from?.mapToSceneContainerContent()
+                    is Edge.StateToContent -> edge.from?.mapToSceneContainerContent()
+                    is Edge.ContentToState -> edge.from
                 }
 
-            val toScene =
+            val toContent =
                 when (edge) {
-                    is Edge.StateToState -> edge.to?.mapToSceneContainerScene()
-                    is Edge.StateToScene -> edge.to
-                    is Edge.SceneToState -> edge.to?.mapToSceneContainerScene()
+                    is Edge.StateToState -> edge.to?.mapToSceneContainerContent()
+                    is Edge.StateToContent -> edge.to
+                    is Edge.ContentToState -> edge.to?.mapToSceneContainerContent()
                 }
 
             val isTransitioningBetweenLockscreenStates =
-                fromScene.isLockscreenOrNull() && toScene.isLockscreenOrNull()
+                fromContent.isLockscreenOrNull() && toContent.isLockscreenOrNull()
             val isTransitioningBetweenDesiredScenes =
-                sceneInteractor.transitionState.value.isTransitioning(fromScene, toScene)
+                sceneInteractor.transitionState.value.isTransitioning(fromContent, toContent)
 
             // When in STL A -> B settles in A we can't do the same in KTF as KTF requires us to
             // start B -> A to get back to A. [LockscreenSceneTransitionInteractor] will emit these
@@ -266,8 +267,8 @@
             // this condition to not filter out the STARTED and FINISHED step of the "artificially"
             // reversed B -> A transition.
             val belongsToInstantReversedTransition =
-                sceneInteractor.transitionState.value.isIdle(toScene) &&
-                    sceneTransitionPair.value.previousValue.isTransitioning(toScene, fromScene)
+                sceneInteractor.topmostContent.value == toContent &&
+                    sceneTransitionPair.value.previousValue.isTransitioning(toContent, fromContent)
 
             // We can't compare the terminal step with the current sceneTransition because
             // a) STL has no guarantee that it will settle in Idle() when finished/canceled
@@ -276,7 +277,7 @@
             val terminalStepBelongsToPreviousTransition =
                 (step.transitionState == TransitionState.FINISHED ||
                     step.transitionState == TransitionState.CANCELED) &&
-                    sceneTransitionPair.value.previousValue.isTransitioning(fromScene, toScene)
+                    sceneTransitionPair.value.previousValue.isTransitioning(fromContent, toContent)
 
             return@filterTraced isTransitioningBetweenLockscreenStates ||
                 isTransitioningBetweenDesiredScenes ||
@@ -285,7 +286,7 @@
         }
     }
 
-    private fun SceneKey?.isLockscreenOrNull() = this == Scenes.Lockscreen || this == null
+    private fun ContentKey?.isLockscreenOrNull() = this == Scenes.Lockscreen || this == null
 
     /**
      * This function will return a flow that simulates TransitionSteps based on STL movements
@@ -317,8 +318,8 @@
                         when (edge) {
                             is Edge.StateToState ->
                                 throw IllegalStateException("Should not be reachable.")
-                            is Edge.SceneToState -> it.isTransitioning(from = edge.from)
-                            is Edge.StateToScene -> it.isTransitioning(to = edge.to)
+                            is Edge.ContentToState -> it.isTransitioning(from = edge.from)
+                            is Edge.StateToContent -> it.isTransitioning(to = edge.to)
                         }
                     if (!isMatchingTransition) {
                         return@flatMapLatestWithFinished flowOf()
@@ -361,41 +362,43 @@
      */
     private fun <T> Flow<T>.flatMapLatestWithFinished(
         transform: suspend (T) -> Flow<TransitionStep>
-    ): Flow<TransitionStep> = channelFlow {
-        var job: Job? = null
-        var startedEmitted = false
+    ): Flow<TransitionStep> =
+        channelFlow {
+                var job: Job? = null
+                var startedEmitted = false
 
-        coroutineScope {
-            collect { value ->
-                traceCoroutine("cancelAndJoin") { job?.cancelAndJoin() }
+                coroutineScope {
+                    collect { value ->
+                        traceCoroutine("cancelAndJoin") { job?.cancelAndJoin() }
 
-                job = launch("inner") {
-                    val innerFlow = transform(value)
-                    try {
-                        innerFlow.collect { step ->
-                            if (step.transitionState == TransitionState.STARTED) {
-                                startedEmitted = true
+                        job =
+                            launch("inner") {
+                                val innerFlow = transform(value)
+                                try {
+                                    innerFlow.collect { step ->
+                                        if (step.transitionState == TransitionState.STARTED) {
+                                            startedEmitted = true
+                                        }
+                                        traceCoroutine("send($step)") { send(step) }
+                                    }
+                                } finally {
+                                    if (startedEmitted) {
+                                        val step =
+                                            TransitionStep(
+                                                from = UNDEFINED,
+                                                to = UNDEFINED,
+                                                value = 1f,
+                                                transitionState = TransitionState.FINISHED,
+                                            )
+                                        traceCoroutine("send($step)") { send(step) }
+                                        startedEmitted = false
+                                    }
+                                }
                             }
-                            traceCoroutine("send($step)") { send(step) }
-                        }
-                    } finally {
-                        if (startedEmitted) {
-                            val step =
-                                TransitionStep(
-                                    from = UNDEFINED,
-                                    to = UNDEFINED,
-                                    value = 1f,
-                                    transitionState = TransitionState.FINISHED,
-                                )
-                            traceCoroutine("send($step)") { send(step) }
-                            startedEmitted = false
-                        }
                     }
                 }
             }
-        }
-    }
-    .traceAs("flatMapLatestWithFinished")
+            .traceAs("flatMapLatestWithFinished")
 
     /**
      * Converts old KTF states to UNDEFINED when [SceneContainerFlag] is enabled.
@@ -414,17 +417,17 @@
                     from = edge.from?.mapToSceneContainerState(),
                     to = edge.to?.mapToSceneContainerState(),
                 )
-            is Edge.SceneToState -> Edge.create(UNDEFINED, edge.to)
-            is Edge.StateToScene -> Edge.create(edge.from, UNDEFINED)
+            is Edge.ContentToState -> Edge.create(UNDEFINED, edge.to)
+            is Edge.StateToContent -> Edge.create(edge.from, UNDEFINED)
         }
     }
 
     fun transitionValue(
-        scene: SceneKey? = null,
+        content: ContentKey? = null,
         stateWithoutSceneContainer: KeyguardState,
     ): Flow<Float> {
-        return if (SceneContainerFlag.isEnabled && scene != null) {
-            sceneInteractor.transitionProgress(scene)
+        return if (SceneContainerFlag.isEnabled && content != null) {
+            sceneInteractor.transitionProgress(content)
         } else {
             transitionValue(stateWithoutSceneContainer)
         }
@@ -439,7 +442,7 @@
     fun transitionValue(state: KeyguardState): Flow<Float> {
         if (SceneContainerFlag.isEnabled && state != state.mapToSceneContainerState()) {
             Log.e(TAG, "SceneContainer is enabled but a deprecated state $state is used.")
-            return transitionValue(state.mapToSceneContainerScene()!!, state)
+            return transitionValue(state.mapToSceneContainerContent()!!, state)
         }
         return getTransitionValueFlow(state)
     }
@@ -533,13 +536,13 @@
      */
     fun isInTransition(edge: Edge, edgeWithoutSceneContainer: Edge? = null): Flow<Boolean> {
         return if (SceneContainerFlag.isEnabled) {
-                if (edge.isSceneWildcardEdge()) {
+                if (edge.isContentWildcardEdge()) {
                     sceneInteractor.transitionState.map {
                         when (edge) {
                             is Edge.StateToState ->
                                 throw IllegalStateException("Should not be reachable.")
-                            is Edge.SceneToState -> it.isTransitioning(from = edge.from)
-                            is Edge.StateToScene -> it.isTransitioning(to = edge.to)
+                            is Edge.ContentToState -> it.isTransitioning(from = edge.from)
+                            is Edge.StateToContent -> it.isTransitioning(to = edge.to)
                         }
                     }
                 } else {
@@ -581,10 +584,15 @@
         return finishedKeyguardState.map { stateMatcher(it) }.distinctUntilChanged()
     }
 
-    fun isFinishedIn(scene: SceneKey, stateWithoutSceneContainer: KeyguardState): Flow<Boolean> {
+    fun isFinishedIn(
+        content: ContentKey,
+        stateWithoutSceneContainer: KeyguardState,
+    ): Flow<Boolean> {
         return if (SceneContainerFlag.isEnabled) {
-                sceneInteractor.transitionState.map {
-                    it.isIdle(scene) || it.isTransitioning(from = scene)
+                combine(sceneInteractor.topmostContent, sceneInteractor.transitionState) {
+                    topmostContent,
+                    state ->
+                    topmostContent == content || state.isTransitioning(from = content)
                 }
             } else {
                 isFinishedIn(stateWithoutSceneContainer)
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/WindowManagerLockscreenVisibilityInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/WindowManagerLockscreenVisibilityInteractor.kt
index 61cf2cd..68d595e 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/WindowManagerLockscreenVisibilityInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/WindowManagerLockscreenVisibilityInteractor.kt
@@ -61,7 +61,7 @@
     private val defaultSurfaceBehindVisibility =
         combine(
             transitionInteractor.isFinishedIn(
-                scene = Scenes.Gone,
+                content = Scenes.Gone,
                 stateWithoutSceneContainer = KeyguardState.GONE,
             ),
             wakeToGoneInteractor.canWakeDirectlyToGone,
@@ -121,7 +121,7 @@
                     when {
                         state.isTransitioning(from = Scenes.Lockscreen, to = Scenes.Gone) ->
                             isDeviceEnteredDirectly
-                        state.isTransitioning(from = Scenes.Bouncer, to = Scenes.Gone) ->
+                        state.isTransitioning(from = Overlays.Bouncer, to = Scenes.Gone) ->
                             (state as Transition).progress.map { progress ->
                                 progress >
                                     FromPrimaryBouncerTransitionInteractor
@@ -179,7 +179,7 @@
                         edgeWithoutSceneContainer = Edge.create(to = KeyguardState.GONE),
                     ),
                     transitionInteractor.isFinishedIn(
-                        scene = Scenes.Gone,
+                        content = Scenes.Gone,
                         stateWithoutSceneContainer = KeyguardState.GONE,
                     ),
                     surfaceBehindInteractor.isAnimatingSurface,
@@ -202,21 +202,23 @@
                     when (it) {
                         is Idle -> {
                             when (it.currentScene) {
-                                in keyguardScenes -> flowOf(true)
-                                in nonKeyguardScenes -> flowOf(false)
-                                in keyguardAgnosticScenes -> isDeviceNotEnteredDirectly
+                                in keyguardContent -> flowOf(true)
+                                in nonKeyguardContent -> flowOf(false)
+                                in keyguardAgnosticContent -> isDeviceNotEnteredDirectly
                                 else ->
                                     throw IllegalStateException("Unknown scene: ${it.currentScene}")
                             }
                         }
                         is Transition -> {
                             when {
-                                it.isTransitioningSets(from = keyguardScenes) -> flowOf(true)
-                                it.isTransitioningSets(from = nonKeyguardScenes) -> flowOf(false)
-                                it.isTransitioningSets(from = keyguardAgnosticScenes) ->
+                                it.isTransitioningSets(from = keyguardContent) -> flowOf(true)
+                                it.isTransitioningSets(from = nonKeyguardContent) -> flowOf(false)
+                                it.isTransitioningSets(from = keyguardAgnosticContent) ->
                                     isDeviceNotEnteredDirectly
                                 else ->
-                                    throw IllegalStateException("Unknown scene: ${it.fromContent}")
+                                    throw IllegalStateException(
+                                        "Unknown content: ${it.fromContent}"
+                                    )
                             }
                         }
                     }
@@ -330,22 +332,23 @@
 
     companion object {
         /**
-         * Scenes that are part of the keyguard and are shown when the device is locked or when the
+         * Content that is part of the keyguard and are shown when the device is locked or when the
          * keyguard still needs to be dismissed.
          */
-        val keyguardScenes = setOf(Scenes.Lockscreen, Scenes.Bouncer, Scenes.Communal, Scenes.Dream)
+        val keyguardContent =
+            setOf(Scenes.Lockscreen, Overlays.Bouncer, Scenes.Communal, Scenes.Dream)
 
         /**
-         * Scenes that don't belong in the keyguard family and cannot show when the device is locked
-         * or when the keyguard still needs to be dismissed.
+         * Content that doesn't belong in the keyguard family and cannot show when the device is
+         * locked or when the keyguard still needs to be dismissed.
          */
-        private val nonKeyguardScenes = setOf(Scenes.Gone)
+        private val nonKeyguardContent = setOf(Scenes.Gone)
 
         /**
-         * Scenes that can show regardless of device lock or keyguard dismissal states. Other
+         * Content that can show regardless of device lock or keyguard dismissal states. Other
          * sources of state need to be consulted to know whether the device has been entered or not.
          */
-        private val keyguardAgnosticScenes =
+        private val keyguardAgnosticContent =
             setOf(
                 Scenes.Shade,
                 Scenes.QuickSettings,
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/Edge.kt b/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/Edge.kt
index 1306b26..4cc4d27 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/Edge.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/Edge.kt
@@ -16,7 +16,7 @@
 package com.android.systemui.keyguard.shared.model
 
 import android.util.Log
-import com.android.compose.animation.scene.SceneKey
+import com.android.compose.animation.scene.ContentKey
 import com.android.systemui.keyguard.shared.model.KeyguardState.UNDEFINED
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
 
@@ -29,8 +29,8 @@
     fun verifyValidKeyguardStates() {
         when (this) {
             is StateToState -> verifyValidKeyguardStates(from, to)
-            is SceneToState -> verifyValidKeyguardStates(null, to)
-            is StateToScene -> verifyValidKeyguardStates(from, null)
+            is ContentToState -> verifyValidKeyguardStates(null, to)
+            is StateToContent -> verifyValidKeyguardStates(from, null)
         }
     }
 
@@ -66,19 +66,16 @@
             }
         } else {
             if (from == UNDEFINED || to == UNDEFINED) {
-                Log.e(
-                    TAG,
-                    "UNDEFINED should not be used when scene container is disabled",
-                )
+                Log.e(TAG, "UNDEFINED should not be used when scene container is disabled")
             }
         }
     }
 
-    fun isSceneWildcardEdge(): Boolean {
+    fun isContentWildcardEdge(): Boolean {
         return when (this) {
             is StateToState -> false
-            is SceneToState -> to == null
-            is StateToScene -> from == null
+            is ContentToState -> to == null
+            is StateToContent -> from == null
         }
     }
 
@@ -89,9 +86,9 @@
         }
     }
 
-    data class StateToScene(val from: KeyguardState? = null, val to: SceneKey) : Edge()
+    data class StateToContent(val from: KeyguardState? = null, val to: ContentKey) : Edge()
 
-    data class SceneToState(val from: SceneKey, val to: KeyguardState? = null) : Edge()
+    data class ContentToState(val from: ContentKey, val to: KeyguardState? = null) : Edge()
 
     companion object {
         private const val TAG = "Edge"
@@ -102,11 +99,11 @@
 
         @JvmStatic
         @JvmOverloads
-        fun create(from: KeyguardState? = null, to: SceneKey) = StateToScene(from, to)
+        fun create(from: KeyguardState? = null, to: ContentKey) = StateToContent(from, to)
 
         @JvmStatic
         @JvmOverloads
-        fun create(from: SceneKey, to: KeyguardState? = null) = SceneToState(from, to)
+        fun create(from: ContentKey, to: KeyguardState? = null) = ContentToState(from, to)
 
         /**
          * This edge is a placeholder for when an edge needs to be passed but there is no edge for
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/KeyguardState.kt b/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/KeyguardState.kt
index f0e79b8..21bfb5f 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/KeyguardState.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/shared/model/KeyguardState.kt
@@ -16,8 +16,9 @@
 package com.android.systemui.keyguard.shared.model
 
 import android.util.Log
-import com.android.compose.animation.scene.SceneKey
+import com.android.compose.animation.scene.ContentKey
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 
 /** List of all possible states to transition to/from */
@@ -130,7 +131,7 @@
         }
     }
 
-    fun mapToSceneContainerScene(): SceneKey? {
+    fun mapToSceneContainerContent(): ContentKey? {
         return when (this) {
             OFF,
             DOZING,
@@ -140,7 +141,7 @@
             OCCLUDED,
             LOCKSCREEN -> Scenes.Lockscreen
             GLANCEABLE_HUB -> Scenes.Communal
-            PRIMARY_BOUNCER -> Scenes.Bouncer
+            PRIMARY_BOUNCER -> Overlays.Bouncer
             GONE -> Scenes.Gone
             UNDEFINED -> null
         }
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AlternateBouncerToPrimaryBouncerTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AlternateBouncerToPrimaryBouncerTransitionViewModel.kt
index 43cce4b..74d471c 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AlternateBouncerToPrimaryBouncerTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AlternateBouncerToPrimaryBouncerTransitionViewModel.kt
@@ -27,7 +27,7 @@
 import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition
 import com.android.systemui.keyguard.ui.transitions.PrimaryBouncerTransition
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.ui.composable.transitions.TO_BOUNCER_FADE_FRACTION
 import javax.inject.Inject
 import kotlinx.coroutines.flow.Flow
@@ -49,7 +49,7 @@
         animationFlow
             .setup(
                 duration = FromAlternateBouncerTransitionInteractor.TO_PRIMARY_BOUNCER_DURATION,
-                edge = Edge.create(from = ALTERNATE_BOUNCER, to = Scenes.Bouncer),
+                edge = Edge.create(from = ALTERNATE_BOUNCER, to = Overlays.Bouncer),
             )
             .setupWithoutSceneContainer(
                 edge = Edge.create(from = ALTERNATE_BOUNCER, to = PRIMARY_BOUNCER)
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AodToPrimaryBouncerTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AodToPrimaryBouncerTransitionViewModel.kt
index 8b5e3b9..a22d21a 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AodToPrimaryBouncerTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/AodToPrimaryBouncerTransitionViewModel.kt
@@ -26,7 +26,7 @@
 import com.android.systemui.keyguard.ui.transitions.BlurConfig
 import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition
 import com.android.systemui.keyguard.ui.transitions.PrimaryBouncerTransition
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.scene.shared.model.Overlays
 import javax.inject.Inject
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.emptyFlow
@@ -44,7 +44,7 @@
         animationFlow
             .setup(
                 duration = FromAodTransitionInteractor.TO_PRIMARY_BOUNCER_DURATION,
-                edge = Edge.create(from = AOD, to = Scenes.Bouncer),
+                edge = Edge.create(from = AOD, to = Overlays.Bouncer),
             )
             .setupWithoutSceneContainer(edge = Edge.create(from = AOD, to = PRIMARY_BOUNCER))
 
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DozingToPrimaryBouncerTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DozingToPrimaryBouncerTransitionViewModel.kt
index ff96e03..2c712d1 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DozingToPrimaryBouncerTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/DozingToPrimaryBouncerTransitionViewModel.kt
@@ -26,7 +26,7 @@
 import com.android.systemui.keyguard.ui.transitions.BlurConfig
 import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition
 import com.android.systemui.keyguard.ui.transitions.PrimaryBouncerTransition
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.scene.shared.model.Overlays
 import javax.inject.Inject
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.emptyFlow
@@ -45,7 +45,7 @@
         animationFlow
             .setup(
                 duration = TO_PRIMARY_BOUNCER_DURATION,
-                edge = Edge.create(from = DOZING, to = Scenes.Bouncer),
+                edge = Edge.create(from = DOZING, to = Overlays.Bouncer),
             )
             .setupWithoutSceneContainer(edge = Edge.create(from = DOZING, to = PRIMARY_BOUNCER))
 
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardRootViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardRootViewModel.kt
index def87a8..d4676bc 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardRootViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/KeyguardRootViewModel.kt
@@ -40,6 +40,7 @@
 import com.android.systemui.keyguard.shared.model.TransitionState.RUNNING
 import com.android.systemui.keyguard.shared.model.TransitionState.STARTED
 import com.android.systemui.keyguard.ui.StateToValue
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.shade.domain.interactor.ShadeInteractor
 import com.android.systemui.shade.ui.viewmodel.NotificationShadeWindowModel
@@ -182,7 +183,7 @@
                         edgeWithoutSceneContainer = Edge.create(from = LOCKSCREEN, to = GONE),
                     ),
                     keyguardTransitionInteractor.isInTransition(
-                        edge = Edge.create(from = Scenes.Bouncer, to = LOCKSCREEN),
+                        edge = Edge.create(from = Overlays.Bouncer, to = LOCKSCREEN),
                         edgeWithoutSceneContainer =
                             Edge.create(from = PRIMARY_BOUNCER, to = LOCKSCREEN),
                     ),
@@ -226,7 +227,7 @@
                 .map { it > 1f - offToLockscreenTransitionViewModel.alphaStartAt }
                 .onStart { emit(false) },
             keyguardTransitionInteractor
-                .transitionValue(scene = Scenes.Gone, stateWithoutSceneContainer = GONE)
+                .transitionValue(content = Scenes.Gone, stateWithoutSceneContainer = GONE)
                 .map { it == 1f }
                 .onStart { emit(false) },
         )
@@ -361,7 +362,7 @@
                     .map { it > 0f }
                     .onStart { emit(false) },
                 keyguardTransitionInteractor.isFinishedIn(
-                    scene = Scenes.Gone,
+                    content = Scenes.Gone,
                     stateWithoutSceneContainer = GONE,
                 ),
                 deviceEntryInteractor.isBypassEnabled,
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModel.kt
index b96c879..3758afa 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenToPrimaryBouncerTransitionViewModel.kt
@@ -27,7 +27,7 @@
 import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition
 import com.android.systemui.keyguard.ui.transitions.PrimaryBouncerTransition
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.ui.composable.transitions.TO_BOUNCER_FADE_FRACTION
 import javax.inject.Inject
 import kotlin.time.Duration.Companion.milliseconds
@@ -50,7 +50,7 @@
         animationFlow
             .setup(
                 duration = FromLockscreenTransitionInteractor.TO_PRIMARY_BOUNCER_DURATION,
-                edge = Edge.create(from = LOCKSCREEN, to = Scenes.Bouncer),
+                edge = Edge.create(from = LOCKSCREEN, to = Overlays.Bouncer),
             )
             .setupWithoutSceneContainer(edge = Edge.create(from = LOCKSCREEN, to = PRIMARY_BOUNCER))
 
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModel.kt
index 06c27d3..0eeb6c6 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/LockscreenUserActionsViewModel.kt
@@ -21,6 +21,7 @@
 import com.android.compose.animation.scene.UserActionResult
 import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor
 import com.android.systemui.scene.domain.interactor.SceneContainerOcclusionInteractor
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.scene.ui.viewmodel.UserActionsViewModel
 import com.android.systemui.shade.domain.interactor.ShadeInteractor
@@ -60,7 +61,11 @@
                     occlusionInteractor.isOccludingActivityShown,
                 ) { isDeviceUnlocked, shadeMode, isOccluded ->
                     buildList {
-                            add(Swipe.Up to if (isDeviceUnlocked) Scenes.Gone else Scenes.Bouncer)
+                            if (isDeviceUnlocked) {
+                                add(Swipe.Up to Scenes.Gone)
+                            } else {
+                                add(Swipe.Up to Overlays.Bouncer)
+                            }
 
                             addAll(
                                 when (shadeMode) {
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToAodTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToAodTransitionViewModel.kt
index dc75829..32bad8e 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToAodTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToAodTransitionViewModel.kt
@@ -26,7 +26,7 @@
 import com.android.systemui.keyguard.ui.transitions.BlurConfig
 import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition
 import com.android.systemui.keyguard.ui.transitions.PrimaryBouncerTransition
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.scene.shared.model.Overlays
 import javax.inject.Inject
 import kotlin.time.Duration.Companion.milliseconds
 import kotlinx.coroutines.flow.Flow
@@ -49,7 +49,7 @@
         animationFlow
             .setup(
                 duration = FromPrimaryBouncerTransitionInteractor.TO_AOD_DURATION,
-                edge = Edge.create(from = Scenes.Bouncer, to = AOD),
+                edge = Edge.create(from = Overlays.Bouncer, to = AOD),
             )
             .setupWithoutSceneContainer(edge = Edge.create(from = PRIMARY_BOUNCER, to = AOD))
 
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToDozingTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToDozingTransitionViewModel.kt
index 7f431bc..1b53344 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToDozingTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToDozingTransitionViewModel.kt
@@ -26,7 +26,7 @@
 import com.android.systemui.keyguard.ui.transitions.BlurConfig
 import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition
 import com.android.systemui.keyguard.ui.transitions.PrimaryBouncerTransition
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.scene.shared.model.Overlays
 import javax.inject.Inject
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.emptyFlow
@@ -49,7 +49,7 @@
         animationFlow
             .setup(
                 duration = TO_DOZING_DURATION,
-                edge = Edge.create(from = Scenes.Bouncer, to = DOZING),
+                edge = Edge.create(from = Overlays.Bouncer, to = DOZING),
             )
             .setupWithoutSceneContainer(edge = Edge.create(from = PRIMARY_BOUNCER, to = DOZING))
 
diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToLockscreenTransitionViewModel.kt b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToLockscreenTransitionViewModel.kt
index 9cb0387..5a111aa 100644
--- a/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToLockscreenTransitionViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/keyguard/ui/viewmodel/PrimaryBouncerToLockscreenTransitionViewModel.kt
@@ -28,7 +28,7 @@
 import com.android.systemui.keyguard.ui.transitions.BlurConfig
 import com.android.systemui.keyguard.ui.transitions.DeviceEntryIconTransition
 import com.android.systemui.keyguard.ui.transitions.PrimaryBouncerTransition
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.scene.shared.model.Overlays
 import javax.inject.Inject
 import kotlin.time.Duration.Companion.milliseconds
 import kotlinx.coroutines.flow.Flow
@@ -50,7 +50,7 @@
         animationFlow
             .setup(
                 duration = FromPrimaryBouncerTransitionInteractor.TO_LOCKSCREEN_DURATION,
-                edge = Edge.create(from = Scenes.Bouncer, to = LOCKSCREEN),
+                edge = Edge.create(from = Overlays.Bouncer, to = LOCKSCREEN),
             )
             .setupWithoutSceneContainer(edge = Edge.create(from = PRIMARY_BOUNCER, to = LOCKSCREEN))
 
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt
index 55d8b8c..bfd48c8 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaCarouselController.kt
@@ -683,7 +683,7 @@
     internal fun listenForAnyStateToGoneKeyguardTransition(scope: CoroutineScope): Job {
         return scope.launch {
             keyguardTransitionInteractor
-                .isFinishedIn(scene = Scenes.Gone, stateWithoutSceneContainer = GONE)
+                .isFinishedIn(content = Scenes.Gone, stateWithoutSceneContainer = GONE)
                 .filter { it }
                 .collect {
                     showMediaCarousel()
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaHierarchyManager.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaHierarchyManager.kt
index b64cb3d..f06c4cc 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaHierarchyManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/controller/MediaHierarchyManager.kt
@@ -58,6 +58,7 @@
 import com.android.systemui.statusbar.CrossFadeHelper
 import com.android.systemui.statusbar.StatusBarState
 import com.android.systemui.statusbar.SysuiStatusBarStateController
+import com.android.systemui.statusbar.featurepods.popups.StatusBarPopupChips
 import com.android.systemui.statusbar.notification.stack.StackStateAnimator
 import com.android.systemui.statusbar.phone.KeyguardBypassController
 import com.android.systemui.statusbar.policy.ConfigurationController
@@ -229,7 +230,7 @@
         else result.setIntersect(animationStartClipping, targetClipping)
     }
 
-    private val mediaHosts = arrayOfNulls<MediaHost>(LOCATION_COMMUNAL_HUB + 1)
+    private val mediaHosts = arrayOfNulls<MediaHost>(LOCATION_STATUS_BAR_POPUP + 1)
 
     /**
      * The last location where this view was at before going to the desired location. This is useful
@@ -374,6 +375,15 @@
             }
         }
 
+    /** Is the Media Control StatusBarPopup showing */
+    var isMediaControlPopupShowing: Boolean = false
+        set(value) {
+            if (field != value && StatusBarPopupChips.isEnabled) {
+                field = value
+                updateDesiredLocation(forceNoAnimation = true)
+            }
+        }
+
     /** Are location changes currently blocked? */
     private val blockLocationChanges: Boolean
         get() {
@@ -1225,6 +1235,7 @@
             // Keep the current location until we're allowed to again
             return desiredLocation
         }
+
         val onLockscreen =
             (!bypassController.bypassEnabled && (statusbarState == StatusBarState.KEYGUARD))
 
@@ -1234,6 +1245,8 @@
             (onCommunalNotDreaming && qsExpansion == 0.0f) || onCommunalDreamingAndShadeExpanding
         val location =
             when {
+                isMediaControlPopupShowing && StatusBarPopupChips.isEnabled ->
+                    LOCATION_STATUS_BAR_POPUP
                 dreamOverlayActive && dreamMediaComplicationActive -> LOCATION_DREAM_OVERLAY
                 onCommunal -> LOCATION_COMMUNAL_HUB
                 (qsExpansion > 0.0f || inSplitShade) && !onLockscreen -> LOCATION_QS
@@ -1377,6 +1390,9 @@
         /** Attached to a view in the communal UI grid */
         const val LOCATION_COMMUNAL_HUB = 4
 
+        /** Attached to a popup that is shown with a media control chip in the status bar */
+        const val LOCATION_STATUS_BAR_POPUP = 5
+
         /** Attached at the root of the hierarchy in an overlay */
         const val IN_OVERLAY = -1000
 
@@ -1422,6 +1438,7 @@
             MediaHierarchyManager.LOCATION_LOCKSCREEN,
             MediaHierarchyManager.LOCATION_DREAM_OVERLAY,
             MediaHierarchyManager.LOCATION_COMMUNAL_HUB,
+            MediaHierarchyManager.LOCATION_STATUS_BAR_POPUP,
             MediaHierarchyManager.LOCATION_UNKNOWN,
         ],
 )
diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaUiEventLogger.kt b/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaUiEventLogger.kt
index 09f973c..f0da226 100644
--- a/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaUiEventLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/media/controls/util/MediaUiEventLogger.kt
@@ -45,7 +45,7 @@
         uid: Int,
         packageName: String,
         instanceId: InstanceId,
-        playbackLocation: Int
+        playbackLocation: Int,
     ) {
         val event =
             when (playbackLocation) {
@@ -61,7 +61,7 @@
         uid: Int,
         packageName: String,
         instanceId: InstanceId,
-        playbackLocation: Int
+        playbackLocation: Int,
     ) {
         val event =
             when (playbackLocation) {
@@ -112,7 +112,7 @@
             MediaUiEvent.OPEN_SETTINGS_LONG_PRESS,
             uid,
             packageName,
-            instanceId
+            instanceId,
         )
     }
 
@@ -156,6 +156,8 @@
                     MediaUiEvent.MEDIA_CAROUSEL_LOCATION_DREAM
                 MediaHierarchyManager.LOCATION_COMMUNAL_HUB ->
                     MediaUiEvent.MEDIA_CAROUSEL_LOCATION_COMMUNAL
+                MediaHierarchyManager.LOCATION_STATUS_BAR_POPUP ->
+                    MediaUiEvent.MEDIA_CAROUSEL_LOCATION_STATUS_BAR_POPUP
                 else -> throw IllegalArgumentException("Unknown media carousel location $location")
             }
         logger.log(event)
@@ -166,7 +168,7 @@
             MediaUiEvent.MEDIA_RECOMMENDATION_ADDED,
             0,
             packageName,
-            instanceId
+            instanceId,
         )
     }
 
@@ -175,7 +177,7 @@
             MediaUiEvent.MEDIA_RECOMMENDATION_REMOVED,
             0,
             packageName,
-            instanceId
+            instanceId,
         )
     }
 
@@ -184,7 +186,7 @@
             MediaUiEvent.MEDIA_RECOMMENDATION_ACTIVATED,
             uid,
             packageName,
-            instanceId
+            instanceId,
         )
     }
 
@@ -194,7 +196,7 @@
             0,
             packageName,
             instanceId,
-            position
+            position,
         )
     }
 
@@ -203,7 +205,7 @@
             MediaUiEvent.MEDIA_RECOMMENDATION_CARD_TAP,
             0,
             packageName,
-            instanceId
+            instanceId,
         )
     }
 
@@ -212,7 +214,7 @@
             MediaUiEvent.MEDIA_OPEN_BROADCAST_DIALOG,
             uid,
             packageName,
-            instanceId
+            instanceId,
         )
     }
 
@@ -221,7 +223,7 @@
             MediaUiEvent.MEDIA_CAROUSEL_SINGLE_PLAYER,
             uid,
             packageName,
-            instanceId
+            instanceId,
         )
     }
 
@@ -230,7 +232,7 @@
             MediaUiEvent.MEDIA_CAROUSEL_MULTIPLE_PLAYERS,
             uid,
             packageName,
-            instanceId
+            instanceId,
         )
     }
 }
@@ -280,6 +282,8 @@
     MEDIA_CAROUSEL_LOCATION_DREAM(1040),
     @UiEvent(doc = "The media carousel moved to the communal hub UI")
     MEDIA_CAROUSEL_LOCATION_COMMUNAL(1520),
+    @UiEvent(doc = "The media carousel moved to the status bar popup")
+    MEDIA_CAROUSEL_LOCATION_STATUS_BAR_POPUP(2170),
     @UiEvent(doc = "A media recommendation card was added to the media carousel")
     MEDIA_RECOMMENDATION_ADDED(1041),
     @UiEvent(doc = "A media recommendation card was removed from the media carousel")
diff --git a/packages/SystemUI/src/com/android/systemui/media/dagger/MediaModule.java b/packages/SystemUI/src/com/android/systemui/media/dagger/MediaModule.java
index 45a3a8c..662a9c7 100644
--- a/packages/SystemUI/src/com/android/systemui/media/dagger/MediaModule.java
+++ b/packages/SystemUI/src/com/android/systemui/media/dagger/MediaModule.java
@@ -49,6 +49,7 @@
     String KEYGUARD = "media_keyguard";
     String DREAM = "dream";
     String COMMUNAL_HUB = "communal_Hub";
+    String POPUP = "popup";
 
     /** */
     @Provides
@@ -102,7 +103,26 @@
     @Provides
     @SysUISingleton
     @Named(COMMUNAL_HUB)
-    static MediaHost providesCommunalMediaHost(MediaHost.MediaHostStateHolder stateHolder,
+    static MediaHost providesCommunalMediaHost(
+            MediaHost.MediaHostStateHolder stateHolder,
+            MediaHierarchyManager hierarchyManager,
+            MediaDataManager dataManager,
+            MediaHostStatesManager statesManager,
+            MediaCarouselController carouselController,
+            MediaCarouselControllerLogger logger) {
+        return new MediaHost(
+                stateHolder,
+                hierarchyManager,
+                dataManager,
+                statesManager,
+                carouselController,
+                logger);
+    }
+
+    @Provides
+    @SysUISingleton
+    @Named(POPUP)
+    static MediaHost providesPopupMediaHost(MediaHost.MediaHostStateHolder stateHolder,
             MediaHierarchyManager hierarchyManager, MediaDataManager dataManager,
             MediaHostStatesManager statesManager, MediaCarouselController carouselController,
             MediaCarouselControllerLogger logger) {
diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapterLegacy.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapterLegacy.java
index ea44184..f8e57ef 100644
--- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapterLegacy.java
+++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapterLegacy.java
@@ -36,6 +36,7 @@
 import android.view.animation.LinearInterpolator;
 import android.widget.CheckBox;
 import android.widget.FrameLayout;
+import android.widget.ImageButton;
 import android.widget.ImageView;
 import android.widget.ProgressBar;
 import android.widget.SeekBar;
@@ -44,7 +45,6 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
-import androidx.core.widget.CompoundButtonCompat;
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.media.flags.Flags;
@@ -130,6 +130,7 @@
         final ViewGroup mContainerLayout;
         final FrameLayout mItemLayout;
         final FrameLayout mIconAreaLayout;
+        final ViewGroup mTextContent;
         final TextView mTitleText;
         final TextView mSubTitleText;
         final TextView mVolumeValueText;
@@ -138,7 +139,7 @@
         final ImageView mStatusIcon;
         final CheckBox mCheckBox;
         final ViewGroup mEndTouchArea;
-        final ImageView mEndClickIcon;
+        final ImageButton mEndClickIcon;
         @VisibleForTesting
         MediaOutputSeekbar mSeekBar;
         private final float mInactiveRadius;
@@ -152,6 +153,7 @@
             super(view, context);
             mContainerLayout = view.requireViewById(R.id.device_container);
             mItemLayout = view.requireViewById(R.id.item_layout);
+            mTextContent = view.requireViewById(R.id.text_content);
             mTitleText = view.requireViewById(R.id.title);
             mSubTitleText = view.requireViewById(R.id.subtitle);
             mTitleIcon = view.requireViewById(R.id.title_icon);
@@ -160,7 +162,7 @@
             mStatusIcon = view.requireViewById(R.id.media_output_item_status);
             mCheckBox = view.requireViewById(R.id.check_box);
             mEndTouchArea = view.requireViewById(R.id.end_action_area);
-            mEndClickIcon = view.requireViewById(R.id.media_output_item_end_click_icon);
+            mEndClickIcon = view.requireViewById(R.id.end_area_image_button);
             mVolumeValueText = view.requireViewById(R.id.volume_value);
             mIconAreaLayout = view.requireViewById(R.id.icon_area);
             mInactiveRadius = mContext.getResources().getDimension(
@@ -178,9 +180,7 @@
             mStatusIcon.setVisibility(View.GONE);
             mEndTouchArea.setVisibility(View.GONE);
             mEndClickIcon.setVisibility(View.GONE);
-            mEndTouchArea.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
             mContainerLayout.setOnClickListener(null);
-            mContainerLayout.setContentDescription(null);
             mTitleText.setTextColor(mController.getColorItemContent());
             mSubTitleText.setTextColor(mController.getColorItemContent());
             mVolumeValueText.setTextColor(mController.getColorItemContent());
@@ -188,7 +188,7 @@
             updateIconAreaClickListener(null);
             mSeekBar.setProgressTintList(
                     ColorStateList.valueOf(mController.getColorSeekbarProgress()));
-            enableFocusPropertyForView(mContainerLayout);
+            updateContainerContentA11yImportance(true  /* isImportant */);
             renderItem(mediaItem, position);
         }
 
@@ -256,10 +256,10 @@
             mSeekBar.setVisibility(showSeekBar ? View.VISIBLE : View.GONE);
             if (showSeekBar) {
                 initSeekbar(device, isCurrentSeekbarInvisible);
-                disableFocusPropertyForView(mContainerLayout);
+                updateContainerContentA11yImportance(false /* isImportant */);
                 mSeekBar.setContentDescription(contentDescription);
             } else {
-                enableFocusPropertyForView(mContainerLayout);
+                updateContainerContentA11yImportance(true /* isImportant */);
             }
         }
 
@@ -268,18 +268,22 @@
             boolean isCurrentSeekbarInvisible = mSeekBar.getVisibility() == View.GONE;
             mSeekBar.setVisibility(View.VISIBLE);
             initGroupSeekbar(isCurrentSeekbarInvisible);
-            disableFocusPropertyForView(mContainerLayout);
+            updateContainerContentA11yImportance(false /* isImportant */);
             mSeekBar.setContentDescription(contentDescription);
         }
 
-        private void disableFocusPropertyForView(View view) {
-            view.setFocusable(false);
-            view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
-        }
-
-        private void enableFocusPropertyForView(View view) {
-            view.setFocusable(true);
-            view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_AUTO);
+        /**
+         * Sets the a11y importance for the device container and it's text content. Making the
+         * container not important for a11y is required when the seekbar is visible.
+         */
+        private void updateContainerContentA11yImportance(boolean isImportant) {
+            mContainerLayout.setFocusable(isImportant);
+            mContainerLayout.setImportantForAccessibility(
+                    isImportant ? View.IMPORTANT_FOR_ACCESSIBILITY_YES
+                            : View.IMPORTANT_FOR_ACCESSIBILITY_NO);
+            mTextContent.setImportantForAccessibility(
+                    isImportant ? View.IMPORTANT_FOR_ACCESSIBILITY_YES
+                            : View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
         }
 
         void updateSubtitle(@Nullable String subtitle) {
@@ -576,26 +580,22 @@
             mEndClickIcon.setImageTintList(
                     ColorStateList.valueOf(mController.getColorItemContent()));
             mEndClickIcon.setOnClickListener(clickListener);
-            mEndTouchArea.setOnClickListener(v -> mEndClickIcon.performClick());
             Drawable drawable = mContext.getDrawable(iconDrawableId);
             mEndClickIcon.setImageDrawable(drawable);
             if (drawable instanceof AnimatedVectorDrawable) {
                 ((AnimatedVectorDrawable) drawable).start();
             }
-            if (Flags.enableOutputSwitcherDeviceGrouping()) {
-                mEndClickIcon.setContentDescription(mContext.getString(accessibilityStringId));
-            }
+            mEndClickIcon.setContentDescription(mContext.getString(accessibilityStringId));
         }
 
         private void updateEndAreaForGroupCheckBox(@NonNull MediaDevice device,
                 @NonNull GroupStatus groupStatus) {
             boolean isEnabled = isGroupCheckboxEnabled(groupStatus);
-            mEndTouchArea.setOnClickListener(
-                    isEnabled ? (v) -> mCheckBox.performClick() : null);
-            mEndTouchArea.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
             updateEndAreaColor(groupStatus.selected() ? mController.getColorSeekbarProgress()
                     : mController.getColorItemBackground());
-            mEndTouchArea.setContentDescription(getDeviceItemContentDescription(device));
+            mCheckBox.setContentDescription(mContext.getString(
+                    groupStatus.selected() ? R.string.accessibility_remove_device_from_group
+                            : R.string.accessibility_add_device_to_group));
             mCheckBox.setOnCheckedChangeListener(null);
             mCheckBox.setChecked(groupStatus.selected());
             mCheckBox.setOnCheckedChangeListener(
@@ -606,10 +606,7 @@
         }
 
         private void setCheckBoxColor(CheckBox checkBox, int color) {
-            int[][] states = {{android.R.attr.state_checked}, {}};
-            int[] colors = {color, color};
-            CompoundButtonCompat.setButtonTintList(checkBox, new
-                    ColorStateList(states, colors));
+            checkBox.setForegroundTintList(ColorStateList.valueOf(color));
         }
 
         private boolean shouldShowGroupCheckbox(@NonNull GroupStatus groupStatus) {
diff --git a/packages/SystemUI/src/com/android/systemui/model/SceneContainerPlugin.kt b/packages/SystemUI/src/com/android/systemui/model/SceneContainerPlugin.kt
index 0bf4c7e..ea515c9 100644
--- a/packages/SystemUI/src/com/android/systemui/model/SceneContainerPlugin.kt
+++ b/packages/SystemUI/src/com/android/systemui/model/SceneContainerPlugin.kt
@@ -103,7 +103,7 @@
                         it.scene == Scenes.QuickSettings ||
                             Overlays.QuickSettingsShade in it.overlays
                     },
-                SYSUI_STATE_BOUNCER_SHOWING to { it.scene == Scenes.Bouncer },
+                SYSUI_STATE_BOUNCER_SHOWING to { Overlays.Bouncer in it.overlays },
                 SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING to
                     {
                         it.scene == Scenes.Lockscreen && !it.invisibleDueToOcclusion
diff --git a/packages/SystemUI/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayContentViewModel.kt b/packages/SystemUI/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayContentViewModel.kt
index c43c1a99..18b4b7d2 100644
--- a/packages/SystemUI/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayContentViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/notifications/ui/viewmodel/NotificationsShadeOverlayContentViewModel.kt
@@ -22,7 +22,6 @@
 import com.android.systemui.lifecycle.Hydrator
 import com.android.systemui.media.controls.domain.pipeline.interactor.MediaCarouselInteractor
 import com.android.systemui.scene.domain.interactor.SceneInteractor
-import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.shade.domain.interactor.ShadeInteractor
 import com.android.systemui.shade.ui.viewmodel.ShadeHeaderViewModel
 import com.android.systemui.statusbar.disableflags.domain.interactor.DisableFlagsInteractor
@@ -96,18 +95,6 @@
             launch { hydrator.activate() }
 
             launch {
-                sceneInteractor.currentScene.collect { currentScene ->
-                    when (currentScene) {
-                        // TODO(b/369513770): The ShadeSession should be preserved in this scenario.
-                        Scenes.Bouncer ->
-                            shadeInteractor.collapseNotificationsShade(
-                                loggingReason = "bouncer shown while shade is open"
-                            )
-                    }
-                }
-            }
-
-            launch {
                 shadeInteractor.isShadeTouchable
                     .distinctUntilChanged()
                     .filter { !it }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt b/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt
index 5930a24..6ad8bae 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/composefragment/QSFragmentCompose.kt
@@ -306,7 +306,6 @@
                 sceneState,
                 viewModel.containerViewModel.editModeViewModel.isEditing,
                 snapshotFlow { viewModel.expansionState }.map { it.progress },
-                snapshotFlow { viewModel.isQSExpandingOrCollapsing },
             )
         }
 
@@ -538,10 +537,6 @@
         return qqsVisible.value
     }
 
-    override fun setQSExpandingOrCollapsing(isQSExpandingOrCollapsing: Boolean) {
-        viewModel.isQSExpandingOrCollapsing = isQSExpandingOrCollapsing
-    }
-
     private fun setListenerCollections() {
         lifecycleScope.launch {
             lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) {
@@ -882,7 +877,6 @@
     state: MutableSceneTransitionLayoutState,
     editMode: Flow<Boolean>,
     expansion: Flow<Float>,
-    isQSExpandingOrCollapsing: Flow<Boolean>,
 ) {
     coroutineScope {
         val animationScope = this
@@ -894,46 +888,31 @@
             currentTransition = null
         }
 
-        var lastValidProgress = 0f
-        combine(editMode, expansion, isQSExpandingOrCollapsing, ::Triple).collectLatest {
-            (editMode, progress, isQSExpandingOrCollapsing) ->
+        editMode.combine(expansion, ::Pair).collectLatest { (editMode, progress) ->
             if (editMode && state.currentScene != SceneKeys.EditMode) {
                 state.setTargetScene(SceneKeys.EditMode, animationScope)?.second?.join()
             } else if (!editMode && state.currentScene == SceneKeys.EditMode) {
                 state.setTargetScene(SceneKeys.QuickSettings, animationScope)?.second?.join()
             }
-
             if (!editMode) {
-                if (!isQSExpandingOrCollapsing) {
-                    if (progress == 0f) {
-                        snapTo(QuickQuickSettings)
-                        return@collectLatest
-                    }
+                when (progress) {
+                    0f -> snapTo(QuickQuickSettings)
+                    1f -> snapTo(QuickSettings)
+                    else -> {
+                        val transition = currentTransition
+                        if (transition != null) {
+                            transition.progress = progress
+                            return@collectLatest
+                        }
 
-                    if (progress == 1f) {
-                        snapTo(QuickSettings)
-                        return@collectLatest
+                        val newTransition =
+                            ExpansionTransition(progress).also { currentTransition = it }
+                        state.startTransitionImmediately(
+                            animationScope = animationScope,
+                            transition = newTransition,
+                        )
                     }
                 }
-
-                var progress = progress
-                if (progress >= 0f || progress <= 1f) {
-                    lastValidProgress = progress
-                } else {
-                    progress = lastValidProgress
-                }
-
-                val transition = currentTransition
-                if (transition != null) {
-                    transition.progress = progress
-                    return@collectLatest
-                }
-
-                val newTransition = ExpansionTransition(progress).also { currentTransition = it }
-                state.startTransitionImmediately(
-                    animationScope = animationScope,
-                    transition = newTransition,
-                )
             }
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModel.kt b/packages/SystemUI/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModel.kt
index b829bbc..767acc5 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/composefragment/viewmodel/QSFragmentComposeViewModel.kt
@@ -35,6 +35,7 @@
 import com.android.systemui.classifier.Classifier
 import com.android.systemui.classifier.domain.interactor.FalsingInteractor
 import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor
+import com.android.systemui.dagger.qualifiers.Main
 import com.android.systemui.deviceentry.domain.interactor.DeviceEntryInteractor
 import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor
 import com.android.systemui.keyguard.shared.model.Edge
@@ -60,7 +61,7 @@
 import com.android.systemui.qs.panels.ui.viewmodel.QuickQuickSettingsViewModel
 import com.android.systemui.qs.ui.viewmodel.QuickSettingsContainerViewModel
 import com.android.systemui.res.R
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.shade.LargeScreenHeaderHelper
 import com.android.systemui.shade.ShadeDisplayAware
 import com.android.systemui.shade.domain.interactor.ShadeInteractor
@@ -306,8 +307,6 @@
     val animateTilesExpansion: Boolean
         get() = inFirstPage && !mediaSuddenlyAppearingInLandscape
 
-    var isQSExpandingOrCollapsing by mutableStateOf(false)
-
     private val inFirstPage: Boolean
         get() = inFirstPageViewModel.inFirstPage
 
@@ -434,7 +433,7 @@
             initialValue = false,
             source =
                 keyguardTransitionInteractor.isInTransition(
-                    Edge.create(to = Scenes.Bouncer),
+                    Edge.create(to = Overlays.Bouncer),
                     Edge.create(to = KeyguardState.PRIMARY_BOUNCER),
                 ),
         )
@@ -541,7 +540,6 @@
                 println("proposedTranslation", proposedTranslation)
                 println("expansionState", expansionState)
                 println("forceQS", forceQs)
-                println("isShadeExpandingOrCollapsing", isQSExpandingOrCollapsing)
                 printSection("Derived values") {
                     println("headerTranslation", headerTranslation)
                     println("translationScaleY", translationScaleY)
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
index fd5861f..7daac45 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java
@@ -61,6 +61,8 @@
 import com.android.systemui.res.R;
 import com.android.systemui.statusbar.policy.BluetoothController;
 
+import dagger.Lazy;
+
 import kotlinx.coroutines.Job;
 
 import java.util.List;
@@ -84,7 +86,7 @@
 
     private final Executor mExecutor;
 
-    private final BluetoothDetailsContentViewModel mDetailsContentViewModel;
+    private final Lazy<BluetoothDetailsContentViewModel> mDetailsContentViewModel;
 
     private final FeatureFlags mFeatureFlags;
     @Nullable
@@ -104,7 +106,7 @@
             QSLogger qsLogger,
             BluetoothController bluetoothController,
             FeatureFlags featureFlags,
-            BluetoothDetailsContentViewModel detailsContentViewModel
+            Lazy<BluetoothDetailsContentViewModel> detailsContentViewModel
     ) {
         super(host, uiEventLogger, backgroundLooper, mainHandler, falsingManager, metricsLogger,
                 statusBarStateController, activityStarter, qsLogger);
@@ -133,7 +135,7 @@
                 callback.accept(new BluetoothDetailsViewModel(() -> {
                     longClick(null);
                     return null;
-                }, mDetailsContentViewModel))
+                }, mDetailsContentViewModel.get()))
         );
         return true;
     }
@@ -158,7 +160,7 @@
 
     private void handleClickEvent(@Nullable Expandable expandable) {
         if (mFeatureFlags.isEnabled(Flags.BLUETOOTH_QS_TILE_DIALOG)) {
-            mDetailsContentViewModel.showDetailsContent(expandable, /* view= */ null);
+            mDetailsContentViewModel.get().showDetailsContent(expandable, /* view= */ null);
         } else {
             // Secondary clicks are header clicks, just toggle.
             toggleBluetooth();
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
index 30c2adf..c60e3da 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
@@ -54,6 +54,7 @@
 import com.android.systemui.qs.logging.QSLogger;
 import com.android.systemui.qs.tileimpl.QSTileImpl;
 import com.android.systemui.res.R;
+import com.android.systemui.shade.domain.interactor.ShadeDialogContextInteractor;
 import com.android.systemui.statusbar.connectivity.NetworkController;
 import com.android.systemui.statusbar.connectivity.SignalCallback;
 import com.android.systemui.statusbar.connectivity.WifiIndicators;
@@ -89,6 +90,7 @@
     private final Callback mCallback = new Callback();
     private final TileJavaAdapter mJavaAdapter;
     private final FeatureFlags mFeatureFlags;
+    private final ShadeDialogContextInteractor mShadeDialogContextInteractor;
     private boolean mCastTransportAllowed;
     private boolean mHotspotConnected;
 
@@ -110,7 +112,8 @@
             DialogTransitionAnimator dialogTransitionAnimator,
             ConnectivityRepository connectivityRepository,
             TileJavaAdapter javaAdapter,
-            FeatureFlags featureFlags
+            FeatureFlags featureFlags,
+            ShadeDialogContextInteractor shadeDialogContextInteractor
     ) {
         super(host, uiEventLogger, backgroundLooper, mainHandler, falsingManager, metricsLogger,
                 statusBarStateController, activityStarter, qsLogger);
@@ -120,6 +123,7 @@
         mDialogTransitionAnimator = dialogTransitionAnimator;
         mJavaAdapter = javaAdapter;
         mFeatureFlags = featureFlags;
+        mShadeDialogContextInteractor = shadeDialogContextInteractor;
         mController.observe(this, mCallback);
         mKeyguard.observe(this, mCallback);
         if (!mFeatureFlags.isEnabled(SIGNAL_CALLBACK_DEPRECATION)) {
@@ -220,7 +224,7 @@
         mUiHandler.post(() -> {
             final DialogHolder holder = new DialogHolder();
             final Dialog dialog = MediaRouteDialogPresenter.createDialog(
-                    mContext,
+                    mShadeDialogContextInteractor.getContext(),
                     ROUTE_TYPE_REMOTE_DISPLAY,
                     v -> {
                         ActivityTransitionAnimator.Controller controller =
diff --git a/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayContentViewModel.kt b/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayContentViewModel.kt
index 0add3f5..f75dadd 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayContentViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsShadeOverlayContentViewModel.kt
@@ -18,7 +18,6 @@
 
 import com.android.systemui.lifecycle.ExclusiveActivatable
 import com.android.systemui.scene.domain.interactor.SceneInteractor
-import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.shade.domain.interactor.ShadeInteractor
 import com.android.systemui.statusbar.notification.stack.domain.interactor.NotificationStackAppearanceInteractor
 import com.android.systemui.statusbar.notification.stack.shared.model.ShadeScrimShape
@@ -47,18 +46,6 @@
     override suspend fun onActivated(): Nothing {
         coroutineScope {
             launch {
-                sceneInteractor.currentScene.collect { currentScene ->
-                    when (currentScene) {
-                        // TODO(b/369513770): The ShadeSession should be preserved in this scenario.
-                        Scenes.Bouncer ->
-                            shadeInteractor.collapseQuickSettingsShade(
-                                loggingReason = "bouncer shown while shade is open"
-                            )
-                    }
-                }
-            }
-
-            launch {
                 shadeInteractor.isShadeTouchable
                     .distinctUntilChanged()
                     .filter { !it }
diff --git a/packages/SystemUI/src/com/android/systemui/scene/SceneContainerFrameworkModule.kt b/packages/SystemUI/src/com/android/systemui/scene/SceneContainerFrameworkModule.kt
index ea11d20..2dc4a8d 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/SceneContainerFrameworkModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/SceneContainerFrameworkModule.kt
@@ -39,7 +39,7 @@
 @Module(
     includes =
         [
-            BouncerSceneModule::class,
+            BouncerOverlayModule::class,
             CommunalSceneModule::class,
             DreamSceneModule::class,
             EmptySceneModule::class,
@@ -98,13 +98,16 @@
                         Scenes.Communal,
                         Scenes.Dream,
                         Scenes.Lockscreen,
-                        Scenes.Bouncer,
                         Scenes.QuickSettings,
                         Scenes.Shade,
                     ),
                 initialSceneKey = Scenes.Lockscreen,
                 overlayKeys =
-                    listOfNotNull(Overlays.NotificationsShade, Overlays.QuickSettingsShade),
+                    listOfNotNull(
+                        Overlays.NotificationsShade,
+                        Overlays.QuickSettingsShade,
+                        Overlays.Bouncer,
+                    ),
                 navigationDistances =
                     mapOf(
                         Scenes.Gone to 0,
@@ -113,7 +116,6 @@
                         Scenes.Dream to 2,
                         Scenes.Shade to 3,
                         Scenes.QuickSettings to 4,
-                        Scenes.Bouncer to 5,
                     ),
                 transitionsBuilder = SceneContainerTransitions(),
             )
diff --git a/packages/SystemUI/src/com/android/systemui/scene/ShadelessSceneContainerFrameworkModule.kt b/packages/SystemUI/src/com/android/systemui/scene/ShadelessSceneContainerFrameworkModule.kt
index 8845bb7..a982f70 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/ShadelessSceneContainerFrameworkModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/ShadelessSceneContainerFrameworkModule.kt
@@ -18,6 +18,7 @@
 
 import com.android.systemui.scene.domain.SceneDomainModule
 import com.android.systemui.scene.domain.resolver.HomeSceneFamilyResolverModule
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.SceneContainerConfig
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.scene.ui.composable.SceneContainerTransitions
@@ -28,7 +29,7 @@
 @Module(
     includes =
         [
-            BouncerSceneModule::class,
+            BouncerOverlayModule::class,
             EmptySceneModule::class,
             GoneSceneModule::class,
             LockscreenSceneModule::class,
@@ -47,11 +48,10 @@
         return SceneContainerConfig(
             // Note that this list is in z-order. The first one is the bottom-most and the last one
             // is top-most.
-            sceneKeys = listOf(Scenes.Gone, Scenes.Lockscreen, Scenes.Bouncer),
+            sceneKeys = listOf(Scenes.Gone, Scenes.Lockscreen),
             initialSceneKey = Scenes.Lockscreen,
-            overlayKeys = emptyList(),
-            navigationDistances =
-                mapOf(Scenes.Gone to 0, Scenes.Lockscreen to 0, Scenes.Bouncer to 1),
+            overlayKeys = listOf(Overlays.Bouncer),
+            navigationDistances = mapOf(Scenes.Gone to 0, Scenes.Lockscreen to 0),
             transitionsBuilder = SceneContainerTransitions(),
         )
     }
diff --git a/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneContainerOcclusionInteractor.kt b/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneContainerOcclusionInteractor.kt
index c96ea03..64abb84 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneContainerOcclusionInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneContainerOcclusionInteractor.kt
@@ -136,7 +136,7 @@
             when (this) {
                 Overlays.NotificationsShade -> false
                 Overlays.QuickSettingsShade -> false
-                Scenes.Bouncer -> false
+                Overlays.Bouncer -> false
                 Scenes.Communal -> true
                 Scenes.Dream -> false
                 Scenes.Gone -> true
diff --git a/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt b/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt
index 0118085..07f13cb 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/SceneInteractor.kt
@@ -42,6 +42,7 @@
 import dagger.Lazy
 import javax.inject.Inject
 import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.coroutineScope
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.SharingStarted
@@ -203,20 +204,30 @@
         repository.isSceneContainerUserInputOngoing
 
     /**
-     * The amount of transition into or out of the given [scene].
+     * The amount of transition into or out of the given [content].
      *
      * The value will be `0` if not in this scene or `1` when fully in the given scene.
      */
-    fun transitionProgress(scene: SceneKey): Flow<Float> {
+    @OptIn(ExperimentalCoroutinesApi::class)
+    fun transitionProgress(content: ContentKey): Flow<Float> {
         return transitionState.flatMapLatest { transition ->
             when (transition) {
                 is ObservableTransitionState.Idle -> {
-                    flowOf(if (transition.currentScene == scene) 1f else 0f)
+                    flowOf(
+                        if (
+                            transition.currentScene == content ||
+                                content in transition.currentOverlays
+                        ) {
+                            1f
+                        } else {
+                            0f
+                        }
+                    )
                 }
                 is ObservableTransitionState.Transition -> {
                     when {
-                        transition.toContent == scene -> transition.progress
-                        transition.fromContent == scene -> transition.progress.map { 1f - it }
+                        transition.toContent == content -> transition.progress
+                        transition.fromContent == content -> transition.progress.map { 1f - it }
                         else -> flowOf(0f)
                     }
                 }
@@ -238,6 +249,9 @@
      * If [forceSettleToTargetScene] is `true` and the target scene is the same as the current
      * scene, any current transition will be canceled and an animation to the target scene will be
      * started.
+     *
+     * If [Overlays.Bouncer] is showing, we trigger an instant scene change as it will not be user-
+     * visible, and trigger a transition to hide the bouncer.
      */
     @JvmOverloads
     fun changeScene(
@@ -249,6 +263,7 @@
     ) {
         val currentSceneKey = currentScene.value
         val resolvedScene = sceneFamilyResolvers.get()[toScene]?.resolvedScene?.value ?: toScene
+        val bouncerShowing = Overlays.Bouncer in currentOverlays.value
 
         if (resolvedScene == currentSceneKey && forceSettleToTargetScene) {
             logger.logSceneChangeCancellation(scene = resolvedScene, sceneState = sceneState)
@@ -265,6 +280,12 @@
                 loggingReason = loggingReason,
             )
         ) {
+            if (bouncerShowing) {
+                hideOverlay(
+                    Overlays.Bouncer,
+                    "Scene change cancelled but hiding bouncer for: ($loggingReason)",
+                )
+            }
             return
         }
 
@@ -278,14 +299,20 @@
             isInstant = false,
         )
 
-        repository.changeScene(resolvedScene, transitionKey)
+        if (bouncerShowing) {
+            repository.snapToScene(resolvedScene)
+            hideOverlay(Overlays.Bouncer, "Hiding on changeScene for: ($loggingReason)")
+        } else {
+            repository.changeScene(resolvedScene, transitionKey)
+        }
     }
 
     /**
      * Requests a scene change to the given scene.
      *
      * The change is instantaneous and not animated; it will be observable in the next frame and
-     * there will be no transition animation.
+     * there will be no transition animation. If [Overlays.Bouncer] is showing, it will instantly be
+     * hidden.
      */
     fun snapToScene(toScene: SceneKey, loggingReason: String) {
         val currentSceneKey = currentScene.value
@@ -316,6 +343,7 @@
         )
 
         repository.snapToScene(resolvedScene)
+        instantlyHideOverlay(Overlays.Bouncer, "Hiding on snapToScene for: ($loggingReason)")
     }
 
     /**
@@ -662,6 +690,16 @@
                 false
             }
 
+            to == Overlays.Bouncer && currentScene.value == Scenes.Gone -> {
+                logger.logSceneChangeRejection(
+                    from = from,
+                    to = to,
+                    originalChangeReason = loggingReason,
+                    rejectionReason = "Cannot show Bouncer over Gone scene",
+                )
+                false
+            }
+
             else -> true
         }
     }
@@ -767,4 +805,41 @@
             )
         }
     }
+
+    /**
+     * Based off of the ordering of [allContentKeys], returns the key of the highest z-order content
+     * out of [content].
+     */
+    private fun determineTopmostContent(content: Set<ContentKey>): ContentKey {
+        // Assuming allContentKeys is sorted by ascending z-order.
+        return checkNotNull(allContentKeys.findLast { it in content }) {
+            "Could not find unknown content $content in allContentKeys $allContentKeys"
+        }
+    }
+
+    /** Optimization for common case where overlays is empty. */
+    private fun determineTopmostContent(scene: SceneKey, overlays: Set<OverlayKey>): ContentKey {
+        return if (overlays.isEmpty()) {
+            scene
+        } else {
+            determineTopmostContent(overlays)
+        }
+    }
+
+    /**
+     * The current content that has the highest z-order out of all currently shown scenes and
+     * overlays.
+     *
+     * Note that during a transition between content, a different content may have the highest z-
+     * order. Only the one provided by this flow is considered the current logical topmost content.
+     */
+    @Deprecated("Only to be used for compatibility with KeyguardTransitionFramework")
+    val topmostContent: StateFlow<ContentKey> =
+        combine(currentScene, currentOverlays, ::determineTopmostContent)
+            .stateInTraced(
+                name = "topmostContent",
+                scope = applicationScope,
+                started = SharingStarted.Eagerly,
+                initialValue = determineTopmostContent(currentScene.value, currentOverlays.value),
+            )
 }
diff --git a/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/WindowRootViewVisibilityInteractor.kt b/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/WindowRootViewVisibilityInteractor.kt
index 7922613..68ce269 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/WindowRootViewVisibilityInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/domain/interactor/WindowRootViewVisibilityInteractor.kt
@@ -87,7 +87,7 @@
                             )
                         is ObservableTransitionState.Transition ->
                             if (
-                                state.fromContent == Scenes.Bouncer &&
+                                state.fromContent == Overlays.Bouncer &&
                                     state.toContent == Scenes.Lockscreen
                             ) {
                                 // Lockscreen is not visible during preview stage of predictive back
diff --git a/packages/SystemUI/src/com/android/systemui/scene/domain/startable/SceneContainerStartable.kt b/packages/SystemUI/src/com/android/systemui/scene/domain/startable/SceneContainerStartable.kt
index 218ad47..4753b9a 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/domain/startable/SceneContainerStartable.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/domain/startable/SceneContainerStartable.kt
@@ -18,6 +18,7 @@
 
 import android.app.StatusBarManager
 import com.android.compose.animation.scene.ObservableTransitionState
+import com.android.compose.animation.scene.OverlayKey
 import com.android.compose.animation.scene.SceneKey
 import com.android.internal.logging.UiEventLogger
 import com.android.keyguard.AuthInteractionProperties
@@ -45,7 +46,7 @@
 import com.android.systemui.keyguard.domain.interactor.KeyguardEnabledInteractor
 import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor
 import com.android.systemui.keyguard.domain.interactor.TrustInteractor
-import com.android.systemui.keyguard.domain.interactor.WindowManagerLockscreenVisibilityInteractor.Companion.keyguardScenes
+import com.android.systemui.keyguard.domain.interactor.WindowManagerLockscreenVisibilityInteractor.Companion.keyguardContent
 import com.android.systemui.log.table.TableLogBuffer
 import com.android.systemui.model.SceneContainerPlugin
 import com.android.systemui.model.SysUiState
@@ -98,7 +99,6 @@
 import kotlinx.coroutines.flow.distinctUntilChangedBy
 import kotlinx.coroutines.flow.filter
 import kotlinx.coroutines.flow.filterIsInstance
-import kotlinx.coroutines.flow.filterNot
 import kotlinx.coroutines.flow.filterNotNull
 import kotlinx.coroutines.flow.flatMapLatest
 import kotlinx.coroutines.flow.flowOf
@@ -345,12 +345,10 @@
         applicationScope.launch {
             // TODO (b/308001302): Move this to a bouncer specific interactor.
             bouncerInteractor.onImeHiddenByUser.collectLatest {
-                if (sceneInteractor.currentScene.value == Scenes.Bouncer) {
-                    sceneInteractor.changeScene(
-                        toScene = Scenes.Lockscreen,
-                        loggingReason = "IME hidden",
-                    )
-                }
+                sceneInteractor.hideOverlay(
+                    overlay = Overlays.Bouncer,
+                    loggingReason = "IME hidden.",
+                )
             }
         }
     }
@@ -364,26 +362,28 @@
                 .collect { (isAnySimLocked, unlockStatus) ->
                     when {
                         isAnySimLocked -> {
-                            switchToScene(
-                                targetSceneKey = Scenes.Bouncer,
+                            sceneInteractor.showOverlay(
+                                overlay = Overlays.Bouncer,
                                 loggingReason = "Need to authenticate locked SIM card.",
                             )
                         }
                         unlockStatus.isUnlocked &&
                             deviceEntryInteractor.canSwipeToEnter.value == false -> {
+                            val loggingReason =
+                                "All SIM cards unlocked and device already unlocked and " +
+                                    "lockscreen doesn't require a swipe to dismiss."
                             switchToScene(
                                 targetSceneKey = Scenes.Gone,
-                                loggingReason =
-                                    "All SIM cards unlocked and device already unlocked and " +
-                                        "lockscreen doesn't require a swipe to dismiss.",
+                                loggingReason = loggingReason,
                             )
                         }
                         else -> {
+                            val loggingReason =
+                                "All SIM cards unlocked and device still locked" +
+                                    " or lockscreen still requires a swipe to dismiss."
                             switchToScene(
                                 targetSceneKey = Scenes.Lockscreen,
-                                loggingReason =
-                                    "All SIM cards unlocked and device still locked" +
-                                        " or lockscreen still requires a swipe to dismiss.",
+                                loggingReason = loggingReason,
                             )
                         }
                     }
@@ -393,26 +393,40 @@
 
     private fun handleDeviceUnlockStatus() {
         applicationScope.launch {
-            // Track the previous scene (sans Bouncer), so that we know where to go when the device
-            // is unlocked whilst on the bouncer.
+            // Track the previous scene, so that we know where to go when the device is unlocked
+            // whilst on the bouncer.
             val previousScene =
-                sceneBackInteractor.backScene
-                    .filterNot { it == Scenes.Bouncer }
-                    .stateIn(this, SharingStarted.Eagerly, initialValue = null)
+                sceneBackInteractor.backScene.stateIn(
+                    this,
+                    SharingStarted.Eagerly,
+                    initialValue = null,
+                )
             deviceUnlockedInteractor.deviceUnlockStatus
                 .mapNotNull { deviceUnlockStatus ->
-                    val renderedScenes =
+                    val (renderedScenes: List<SceneKey>, renderedOverlays) =
                         when (val transitionState = sceneInteractor.transitionState.value) {
-                            is ObservableTransitionState.Idle -> setOf(transitionState.currentScene)
-                            is ObservableTransitionState.Transition ->
-                                setOf(transitionState.fromContent, transitionState.toContent)
+                            is ObservableTransitionState.Idle ->
+                                listOf(transitionState.currentScene) to
+                                    transitionState.currentOverlays
+                            is ObservableTransitionState.Transition.ChangeScene ->
+                                listOf(transitionState.fromScene, transitionState.toScene) to
+                                    transitionState.currentOverlays
+                            is ObservableTransitionState.Transition.OverlayTransition ->
+                                listOf(transitionState.currentScene) to
+                                    setOfNotNull(
+                                        transitionState.toContent.takeIf { it is OverlayKey },
+                                        transitionState.fromContent.takeIf { it is OverlayKey },
+                                    )
                         }
                     val isOnLockscreen = renderedScenes.contains(Scenes.Lockscreen)
                     val isAlternateBouncerVisible = alternateBouncerInteractor.isVisibleState()
-                    val isOnPrimaryBouncer = renderedScenes.contains(Scenes.Bouncer)
+                    val isOnPrimaryBouncer = Overlays.Bouncer in renderedOverlays
                     if (!deviceUnlockStatus.isUnlocked) {
-                        return@mapNotNull if (renderedScenes.any { it in keyguardScenes }) {
-                            // Already on a keyguard scene, no need to change scenes.
+                        return@mapNotNull if (
+                            renderedScenes.any { it in keyguardContent } ||
+                                Overlays.Bouncer in renderedOverlays
+                        ) {
+                            // Already on a keyguard scene or bouncer, no need to change scenes.
                             null
                         } else {
                             // The device locked while on a scene that's not a keyguard scene, go
@@ -450,24 +464,25 @@
                         }
                         isOnPrimaryBouncer -> {
                             // When the device becomes unlocked in primary Bouncer,
-                            // notify dismiss succeeded and go to previous scene or Gone.
+                            // notify dismiss succeeded and remain in current scene or switch to
+                            // Gone.
                             dismissCallbackRegistry.notifyDismissSucceeded()
+                            // if transition is a scene change, take the destination scene
+                            val targetScene = renderedScenes.last()
                             if (
-                                previousScene.value == Scenes.Lockscreen ||
+                                targetScene == Scenes.Lockscreen ||
                                     !statusBarStateController.leaveOpenOnKeyguardHide()
                             ) {
                                 Scenes.Gone to
                                     "device was unlocked with bouncer showing and shade" +
                                         " didn't need to be left open"
                             } else {
-                                val prevScene = previousScene.value
-                                val targetScene = prevScene ?: Scenes.Gone
-                                if (targetScene != Scenes.Gone) {
+                                if (previousScene.value != Scenes.Gone) {
                                     replaceLockscreenSceneOnBackStack()
                                 }
                                 targetScene to
                                     "device was unlocked with primary bouncer showing," +
-                                        " from sceneKey=$prevScene"
+                                        " from sceneKey=$targetScene"
                             }
                         }
                         isOnLockscreen ->
@@ -575,8 +590,8 @@
                         authenticationInteractor.get().getAuthenticationMethod() ==
                             AuthenticationMethodModel.Sim
                     ) {
-                        switchToScene(
-                            targetSceneKey = Scenes.Bouncer,
+                        sceneInteractor.showOverlay(
+                            overlay = Overlays.Bouncer,
                             loggingReason = "device is starting to wake up with a locked sim",
                         )
                     }
@@ -791,11 +806,11 @@
         }
 
         applicationScope.launch {
-            sceneInteractor.currentScene
-                .map { it == Scenes.Bouncer }
+            sceneInteractor.currentOverlays
+                .map { Overlays.Bouncer in it }
                 .distinctUntilChanged()
-                .collect { switchedToBouncerScene ->
-                    if (switchedToBouncerScene) {
+                .collect { switchedToBouncerOverlay ->
+                    if (switchedToBouncerOverlay) {
                         falsingCollector.onBouncerShown()
                     } else {
                         falsingCollector.onBouncerHidden()
@@ -812,7 +827,10 @@
                     falsingManager.addFalsingBeliefListener(listener)
                     awaitClose { falsingManager.removeFalsingBeliefListener(listener) }
                 }
-                .collect { switchToScene(Scenes.Lockscreen, "Falsing detected.") }
+                .collect {
+                    val loggingReason = "Falsing detected."
+                    switchToScene(Scenes.Lockscreen, loggingReason)
+                }
         }
     }
 
@@ -827,7 +845,7 @@
                             .mapNotNull { it as? ObservableTransitionState.Idle }
                             .map { it.currentScene to it.currentOverlays }
                             .distinctUntilChanged()
-                            .map { (sceneKey, currentOverlays) ->
+                            .map { (currentScene, currentOverlays) ->
                                 when {
                                     // When locked, showing the lockscreen scene should be reported
                                     // as "interacting" while showing other scenes should report as
@@ -837,9 +855,9 @@
                                     // implementation. The real reason why is lost to lore and myth.
                                     Overlays.NotificationsShade in currentOverlays -> false
                                     Overlays.QuickSettingsShade in currentOverlays -> null
-                                    sceneKey == Scenes.Lockscreen -> true
-                                    sceneKey == Scenes.Bouncer -> false
-                                    sceneKey == Scenes.Shade -> false
+                                    Overlays.Bouncer in currentOverlays -> false
+                                    currentScene == Scenes.Lockscreen -> true
+                                    currentScene == Scenes.Shade -> false
                                     else -> null
                                 }
                             }
@@ -865,7 +883,7 @@
                 .filterIsInstance<ObservableTransitionState.Transition>()
                 // Only consider user-initiated (e.g. drags) that go from bouncer to lockscreen.
                 .filter { transition ->
-                    transition.fromContent == Scenes.Bouncer &&
+                    transition.fromContent == Overlays.Bouncer &&
                         transition.toContent == Scenes.Lockscreen &&
                         transition.isInitiatedByUserInput
                 }
@@ -954,14 +972,13 @@
 
     private fun notifyKeyguardDismissCancelledCallbacks() {
         applicationScope.launch {
-            combine(deviceEntryInteractor.isUnlocked, sceneInteractor.currentScene.pairwise()) {
+            combine(deviceEntryInteractor.isUnlocked, sceneInteractor.currentOverlays.pairwise()) {
                     isUnlocked,
-                    (from, to) ->
-                    when {
-                        from != Scenes.Bouncer -> false
-                        to != Scenes.Gone && !isUnlocked -> true
-                        else -> false
-                    }
+                    overlayChange ->
+                    val difference = overlayChange.previousValue - overlayChange.newValue
+                    !isUnlocked &&
+                        sceneInteractor.currentScene.value != Scenes.Gone &&
+                        Overlays.Bouncer in difference
                 }
                 .collect { notifyKeyguardDismissCancelled ->
                     if (notifyKeyguardDismissCancelled) {
diff --git a/packages/SystemUI/src/com/android/systemui/scene/domain/startable/ScrimStartable.kt b/packages/SystemUI/src/com/android/systemui/scene/domain/startable/ScrimStartable.kt
index 522dfab..305dcfb 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/domain/startable/ScrimStartable.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/domain/startable/ScrimStartable.kt
@@ -17,6 +17,7 @@
 package com.android.systemui.scene.domain.startable
 
 import androidx.annotation.VisibleForTesting
+import com.android.app.tracing.coroutines.launchTraced as launch
 import com.android.compose.animation.scene.ContentKey
 import com.android.compose.animation.scene.ObservableTransitionState
 import com.android.compose.animation.scene.OverlayKey
@@ -49,7 +50,6 @@
 import kotlinx.coroutines.flow.filterNotNull
 import kotlinx.coroutines.flow.map
 import kotlinx.coroutines.flow.onEach
-import com.android.app.tracing.coroutines.launchTraced as launch
 
 @SysUISingleton
 class ScrimStartable
@@ -108,12 +108,12 @@
                 // This is true when the lockscreen scene is either the current scene or somewhere
                 // in the navigation back stack of scenes.
                 val isOnKeyguard = !isDeviceEntered
-                val isCurrentSceneBouncer = currentScene == Scenes.Bouncer
-                // This is true when moving away from one of the keyguard scenes to the gone scene.
+                val isOnBouncer = Overlays.Bouncer in currentOverlays
+                // This is true when moving away from the lockscreen scene to the gone scene.
                 // It happens only when unlocking or when dismissing a dismissible lockscreen.
                 val isTransitioningAwayFromKeyguard =
                     transitionState is ObservableTransitionState.Transition.ChangeScene &&
-                        transitionState.fromScene.isKeyguard() &&
+                        transitionState.fromScene == Scenes.Lockscreen &&
                         transitionState.toScene == Scenes.Gone
 
                 // This is true when any of the shade scenes or overlays is the current content.
@@ -144,7 +144,7 @@
                         // Assume scrim state for shade is already correct and do nothing
                         null
                     }
-                } else if (isCurrentSceneBouncer && !unlocking) {
+                } else if (isOnBouncer && !unlocking) {
                     // Bouncer needs the front scrim when it's on top of an activity, tapping on a
                     // notification, editing QS or being dismissed by
                     // FLAG_DISMISS_KEYGUARD_ACTIVITY.
@@ -215,10 +215,6 @@
         }
     }
 
-    private fun SceneKey.isKeyguard(): Boolean {
-        return this == Scenes.Lockscreen || this == Scenes.Bouncer
-    }
-
     private fun ContentKey.isShade(): Boolean {
         return this == Scenes.Shade ||
             this == Scenes.QuickSettings ||
diff --git a/packages/SystemUI/src/com/android/systemui/scene/domain/startable/StatusBarStartable.kt b/packages/SystemUI/src/com/android/systemui/scene/domain/startable/StatusBarStartable.kt
index 7d09c45..4c8926a 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/domain/startable/StatusBarStartable.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/domain/startable/StatusBarStartable.kt
@@ -24,6 +24,8 @@
 import android.os.RemoteException
 import android.provider.DeviceConfig
 import android.util.Log
+import com.android.app.tracing.coroutines.launchTraced as launch
+import com.android.compose.animation.scene.OverlayKey
 import com.android.compose.animation.scene.SceneKey
 import com.android.internal.config.sysui.SystemUiDeviceConfigFlags
 import com.android.internal.statusbar.IStatusBarService
@@ -43,14 +45,13 @@
 import com.android.systemui.scene.domain.interactor.SceneContainerOcclusionInteractor
 import com.android.systemui.scene.domain.interactor.SceneInteractor
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.user.domain.interactor.SelectedUserInteractor
 import javax.inject.Inject
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.distinctUntilChanged
-import com.android.app.tracing.coroutines.launchTraced as launch
 import kotlinx.coroutines.withContext
 
 @SysUISingleton
@@ -93,6 +94,7 @@
                     navigationInteractor.isGesturalMode,
                     authenticationInteractor.authenticationMethod,
                     powerInteractor.detailedWakefulness,
+                    sceneInteractor.currentOverlays,
                 ) { values ->
                     val selectedUserId = values[0] as Int
                     val currentScene = values[1] as SceneKey
@@ -102,8 +104,9 @@
                     val isGesturalMode = values[5] as Boolean
                     val authenticationMethod = values[6] as AuthenticationMethodModel
                     val wakefulnessModel = values[7] as WakefulnessModel
+                    val overlays = values[8] as Set<OverlayKey>
 
-                    val isForceHideHomeAndRecents = currentScene == Scenes.Bouncer
+                    val isForceHideHomeAndRecents = Overlays.Bouncer in overlays
                     val isKeyguardShowing = !isDeviceEntered
                     val isPowerGestureIntercepted =
                         with(wakefulnessModel) {
diff --git a/packages/SystemUI/src/com/android/systemui/scene/shared/model/Overlays.kt b/packages/SystemUI/src/com/android/systemui/scene/shared/model/Overlays.kt
index c47a850..238de4a 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/shared/model/Overlays.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/shared/model/Overlays.kt
@@ -25,6 +25,12 @@
  */
 object Overlays {
     /**
+     * The bouncer is the overlay that displays authentication challenges like PIN, password, or
+     * pattern.
+     */
+    @JvmField val Bouncer = OverlayKey("bouncer")
+
+    /**
      * The notifications shade overlay primarily shows a scrollable list of notifications.
      *
      * It's used only in the dual shade configuration, where there are two separate shades: one for
diff --git a/packages/SystemUI/src/com/android/systemui/scene/shared/model/Scenes.kt b/packages/SystemUI/src/com/android/systemui/scene/shared/model/Scenes.kt
index 16492ef..8332522 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/shared/model/Scenes.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/shared/model/Scenes.kt
@@ -24,12 +24,6 @@
  * PLEASE KEEP THE KEYS SORTED ALPHABETICALLY.
  */
 object Scenes {
-    /**
-     * The bouncer is the scene that displays authentication challenges like PIN, password, or
-     * pattern.
-     */
-    @JvmField val Bouncer = SceneKey("bouncer")
-
     /** The communal scene shows the glanceable hub when device is locked and docked. */
     @JvmField val Communal = SceneKey("communal")
 
diff --git a/packages/SystemUI/src/com/android/systemui/scene/ui/view/SceneJankMonitor.kt b/packages/SystemUI/src/com/android/systemui/scene/ui/view/SceneJankMonitor.kt
index 48a49c6..48a3ded 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/ui/view/SceneJankMonitor.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/ui/view/SceneJankMonitor.kt
@@ -27,7 +27,7 @@
 import com.android.systemui.deviceentry.domain.interactor.DeviceUnlockedInteractor
 import com.android.systemui.lifecycle.ExclusiveActivatable
 import com.android.systemui.lifecycle.Hydrator
-import com.android.systemui.scene.shared.model.Scenes
+import com.android.systemui.scene.shared.model.Overlays
 import dagger.assisted.AssistedFactory
 import dagger.assisted.AssistedInject
 
@@ -95,7 +95,7 @@
     private fun calculatedCuj(from: ContentKey, to: ContentKey): Int? {
         val isDeviceUnlocked = deviceUnlockedInteractor.deviceUnlockStatus.value.isUnlocked
         return when {
-            to == Scenes.Bouncer ->
+            to == Overlays.Bouncer ->
                 when (authMethod) {
                     is AuthenticationMethodModel.Pin,
                     is AuthenticationMethodModel.Sim -> Cuj.CUJ_LOCKSCREEN_PIN_APPEAR
@@ -104,7 +104,7 @@
                     is AuthenticationMethodModel.None -> null
                     null -> null
                 }
-            from == Scenes.Bouncer && isDeviceUnlocked ->
+            from == Overlays.Bouncer && isDeviceUnlocked ->
                 when (authMethod) {
                     is AuthenticationMethodModel.Pin,
                     is AuthenticationMethodModel.Sim -> Cuj.CUJ_LOCKSCREEN_PIN_DISAPPEAR
diff --git a/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModel.kt b/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModel.kt
index efdf5be..a81fcec 100644
--- a/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/scene/ui/viewmodel/SceneContainerViewModel.kt
@@ -318,7 +318,7 @@
     private fun isInteractionAllowedByFalsing(content: ContentKey): Boolean {
         val interactionTypeOrNull =
             when (content) {
-                Scenes.Bouncer -> Classifier.BOUNCER_UNLOCK
+                Overlays.Bouncer -> Classifier.BOUNCER_UNLOCK
                 Scenes.Gone -> Classifier.UNLOCK
                 Scenes.Shade,
                 Overlays.NotificationsShade -> Classifier.NOTIFICATION_DRAG_DOWN
diff --git a/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsControllerImpl.java b/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsControllerImpl.java
index 34b3324..d058372 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/shade/QuickSettingsControllerImpl.java
@@ -105,14 +105,15 @@
 
 import dalvik.annotation.optimization.NeverCompile;
 
+import dagger.Lazy;
+
+import kotlin.Unit;
+
 import java.io.PrintWriter;
 
 import javax.inject.Inject;
 import javax.inject.Provider;
 
-import dagger.Lazy;
-import kotlin.Unit;
-
 /** Handles QuickSettings touch handling, expansion and animation state. */
 @SysUISingleton
 public class QuickSettingsControllerImpl implements QuickSettingsController, Dumpable {
@@ -2365,16 +2366,8 @@
             return;
         }
         if (startTracing) {
-            if (mQs != null) {
-                mQs.setQSExpandingOrCollapsing(true);
-            }
-
             monitor.begin(mPanelView, Cuj.CUJ_NOTIFICATION_SHADE_QS_EXPAND_COLLAPSE);
         } else {
-            if (mQs != null) {
-                mQs.setQSExpandingOrCollapsing(false);
-            }
-
             if (wasCancelled) {
                 monitor.cancel(Cuj.CUJ_NOTIFICATION_SHADE_QS_EXPAND_COLLAPSE);
             } else {
diff --git a/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/NotificationShadeWindowModel.kt b/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/NotificationShadeWindowModel.kt
index 9655d92..a3bfbbc 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/NotificationShadeWindowModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/shade/ui/viewmodel/NotificationShadeWindowModel.kt
@@ -28,6 +28,7 @@
 import com.android.systemui.keyguard.shared.model.KeyguardState.OCCLUDED
 import com.android.systemui.scene.domain.interactor.SceneInteractor
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.util.kotlin.BooleanFlowOperators.any
 import com.android.systemui.util.kotlin.sample
@@ -92,7 +93,7 @@
     val isBouncerShowing: Flow<Boolean> =
         when {
             SceneContainerFlag.isEnabled -> {
-                sceneInteractor.get().transitionState.map { it.isIdle(Scenes.Bouncer) }
+                sceneInteractor.get().transitionState.map { it.isIdle(Overlays.Bouncer) }
             }
             ComposeBouncerFlags.isOnlyComposeBouncerEnabled() -> primaryBouncerInteractor.isShowing
             else ->
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/BlurUtils.kt b/packages/SystemUI/src/com/android/systemui/statusbar/BlurUtils.kt
index f30043e..f45971b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/BlurUtils.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/BlurUtils.kt
@@ -45,7 +45,7 @@
     private val crossWindowBlurListeners: CrossWindowBlurListeners,
     dumpManager: DumpManager
 ) : Dumpable {
-    val minBlurRadius = blurConfig.minBlurRadiusPx
+    val minBlurRadius = resources.getDimensionPixelSize(R.dimen.min_window_blur_radius).toFloat();
     val maxBlurRadius = if (Flags.notificationShadeBlur()) {
         blurConfig.maxBlurRadiusPx
     } else {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt
index 6aa2fe2..84266e8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt
@@ -38,13 +38,13 @@
 import com.android.systemui.Flags.spatialModelAppPushback
 import com.android.systemui.animation.ShadeInterpolation
 import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.dagger.qualifiers.Application
 import com.android.systemui.dump.DumpManager
 import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor
 import com.android.systemui.plugins.statusbar.StatusBarStateController
 import com.android.systemui.shade.ShadeDisplayAware
 import com.android.systemui.shade.ShadeExpansionChangeEvent
 import com.android.systemui.shade.ShadeExpansionListener
-import com.android.systemui.shared.Flags.ambientAod
 import com.android.systemui.statusbar.phone.BiometricUnlockController
 import com.android.systemui.statusbar.phone.BiometricUnlockController.MODE_WAKE_AND_UNLOCK
 import com.android.systemui.statusbar.phone.DozeParameters
@@ -53,8 +53,11 @@
 import com.android.systemui.statusbar.policy.KeyguardStateController
 import com.android.systemui.statusbar.policy.SplitShadeStateController
 import com.android.systemui.util.WallpaperController
+import com.android.systemui.wallpapers.domain.interactor.WallpaperInteractor
 import com.android.systemui.window.domain.interactor.WindowRootViewBlurInteractor
 import com.android.wm.shell.appzoomout.AppZoomOut
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.launch
 import java.io.PrintWriter
 import java.util.Optional
 import javax.inject.Inject
@@ -76,12 +79,14 @@
     private val keyguardInteractor: KeyguardInteractor,
     private val choreographer: Choreographer,
     private val wallpaperController: WallpaperController,
+    private val wallpaperInteractor: WallpaperInteractor,
     private val notificationShadeWindowController: NotificationShadeWindowController,
     private val dozeParameters: DozeParameters,
     @ShadeDisplayAware private val context: Context,
     private val splitShadeStateController: SplitShadeStateController,
     private val windowRootViewBlurInteractor: WindowRootViewBlurInteractor,
     private val appZoomOutOptional: Optional<AppZoomOut>,
+    @Application private val applicationScope: CoroutineScope,
     dumpManager: DumpManager,
     configurationController: ConfigurationController,
 ) : ShadeExpansionListener, Dumpable {
@@ -110,6 +115,12 @@
     private var prevTimestamp: Long = -1
     private var prevShadeDirection = 0
     private var prevShadeVelocity = 0f
+    private var prevDozeAmount: Float = 0f
+    @VisibleForTesting var wallpaperSupportsAmbientMode: Boolean = false
+    // tracks whether app launch transition is in progress. This involves two independent factors
+    // that control blur, shade expansion and app launch animation from outside sysui.
+    // They can complete out of order, this flag will be reset by the animation that finishes later.
+    private var appLaunchTransitionIsInProgress = false
 
     // Only for dumpsys
     private var lastAppliedBlur = 0
@@ -158,6 +169,18 @@
             if (field == value) {
                 return
             }
+            // Set this to true now, this will be reset when the next shade expansion finishes or
+            // when the app launch finishes, whichever happens later.
+            if (value) {
+                appLaunchTransitionIsInProgress = true
+            } else {
+                // App was launching and now it has finished launching
+                if (shadeExpansion == 0.0f) {
+                    // this means shade expansion finished before app launch was done.
+                    // reset the flag here
+                    appLaunchTransitionIsInProgress = false
+                }
+            }
             field = value
             scheduleUpdate()
 
@@ -172,6 +195,12 @@
             shadeAnimation.animateTo(0)
             shadeAnimation.finishIfRunning()
         }
+        @Deprecated(
+            message =
+                "This might get reset to false before shade expansion is fully done, " +
+                    "consider using areBlursDisabledForAppLaunch"
+        )
+        get() = field
 
     private var zoomOutCalculatedFromShadeRadius: Float = 0.0f
 
@@ -183,6 +212,11 @@
             scheduleUpdate()
         }
 
+    private val areBlursDisabledForAppLaunch: Boolean
+        get() =
+            blursDisabledForAppLaunch ||
+                (Flags.bouncerUiRevamp() && appLaunchTransitionIsInProgress)
+
     /** Force stop blur effect when necessary. */
     private var scrimsVisible: Boolean = false
         set(value) {
@@ -192,7 +226,15 @@
         }
 
     /** Blur radius of the wake-up animation on this frame. */
-    private var wakeAndUnlockBlurRadius = 0f
+    private var wakeBlurRadius = 0f
+        set(value) {
+            if (field == value) return
+            field = value
+            scheduleUpdate()
+        }
+
+    /** Blur radius of the unlock animation on this frame. */
+    private var unlockBlurRadius = 0f
         set(value) {
             if (field == value) return
             field = value
@@ -219,14 +261,16 @@
             ShadeInterpolation.getNotificationScrimAlpha(qsPanelExpansion) * shadeExpansion
         combinedBlur = max(combinedBlur, blurUtils.blurRadiusOfRatio(qsExpandedRatio))
         combinedBlur = max(combinedBlur, blurUtils.blurRadiusOfRatio(transitionToFullShadeProgress))
-        var shadeRadius = max(combinedBlur, wakeAndUnlockBlurRadius)
+        var shadeRadius = max(combinedBlur, max(wakeBlurRadius, unlockBlurRadius))
 
-        if (blursDisabledForAppLaunch || blursDisabledForUnlock) {
+        if (areBlursDisabledForAppLaunch || blursDisabledForUnlock) {
             shadeRadius = 0f
         }
 
         var blur = shadeRadius.toInt()
-        val zoomOut = blurRadiusToZoomOut(blurRadius = shadeRadius)
+        // If the blur comes from waking up, we don't want to zoom out the background
+        val zoomOut =
+            if (shadeRadius != wakeBlurRadius) blurRadiusToZoomOut(blurRadius = shadeRadius) else 0f
         // Make blur be 0 if it is necessary to stop blur effect.
         if (scrimsVisible) {
             if (!Flags.notificationShadeBlur()) {
@@ -259,7 +303,7 @@
     private val shouldBlurBeOpaque: Boolean
         get() =
             if (Flags.notificationShadeBlur()) false
-            else scrimsVisible && !blursDisabledForAppLaunch
+            else scrimsVisible && !areBlursDisabledForAppLaunch
 
     /** Callback that updates the window blur value and is called only once per frame. */
     @VisibleForTesting
@@ -311,14 +355,14 @@
                         startDelay = keyguardStateController.keyguardFadingAwayDelay
                         interpolator = Interpolators.FAST_OUT_SLOW_IN
                         addUpdateListener { animation: ValueAnimator ->
-                            wakeAndUnlockBlurRadius =
+                            unlockBlurRadius =
                                 blurUtils.blurRadiusOfRatio(animation.animatedValue as Float)
                         }
                         addListener(
                             object : AnimatorListenerAdapter() {
                                 override fun onAnimationEnd(animation: Animator) {
                                     keyguardAnimator = null
-                                    wakeAndUnlockBlurRadius = 0f
+                                    unlockBlurRadius = 0f
                                 }
                             }
                         )
@@ -354,15 +398,20 @@
             }
 
             override fun onDozeAmountChanged(linear: Float, eased: Float) {
-                wakeAndUnlockBlurRadius =
-                    if (ambientAod()) {
-                        0f
-                    } else {
-                        blurUtils.blurRadiusOfRatio(eased)
-                    }
+                prevDozeAmount = eased
+                updateWakeBlurRadius(prevDozeAmount)
             }
         }
 
+    private fun updateWakeBlurRadius(ratio: Float) {
+        wakeBlurRadius =
+            if (!wallpaperSupportsAmbientMode) {
+                0f
+            } else {
+                blurUtils.blurRadiusOfRatio(ratio)
+            }
+    }
+
     init {
         dumpManager.registerCriticalDumpable(javaClass.name, this)
         if (WAKE_UP_ANIMATION_ENABLED) {
@@ -384,6 +433,12 @@
                 }
             }
         )
+        applicationScope.launch {
+            wallpaperInteractor.wallpaperSupportsAmbientMode.collect { supported ->
+                wallpaperSupportsAmbientMode = supported
+                updateWakeBlurRadius(prevDozeAmount)
+            }
+        }
         initBlurListeners()
     }
 
@@ -442,6 +497,13 @@
         val shadeDirection = sign(diff).toInt()
         val shadeVelocity =
             MathUtils.constrain(VELOCITY_SCALE * diff / deltaTime, MIN_VELOCITY, MAX_VELOCITY)
+        if (expansion == 0.0f && appLaunchTransitionIsInProgress && !blursDisabledForAppLaunch) {
+            // Shade expansion finished but the app launch is already done, then this should mark
+            // the transition as done.
+            Log.d(TAG, "appLaunchTransitionIsInProgress is now false from shade expansion event")
+            appLaunchTransitionIsInProgress = false
+        }
+
         updateShadeAnimationBlur(expansion, tracking, shadeVelocity, shadeDirection)
 
         prevShadeDirection = shadeDirection
@@ -551,8 +613,10 @@
             it.println("shouldApplyShadeBlur: ${shouldApplyShadeBlur()}")
             it.println("shadeAnimation: ${shadeAnimation.radius}")
             it.println("brightnessMirrorRadius: ${brightnessMirrorSpring.radius}")
-            it.println("wakeAndUnlockBlur: $wakeAndUnlockBlurRadius")
+            it.println("wakeBlur: $wakeBlurRadius")
+            it.println("unlockBlur: $wakeBlurRadius")
             it.println("blursDisabledForAppLaunch: $blursDisabledForAppLaunch")
+            it.println("appLaunchTransitionIsInProgress: $appLaunchTransitionIsInProgress")
             it.println("qsPanelExpansion: $qsPanelExpansion")
             it.println("transitionToFullShadeProgress: $transitionToFullShadeProgress")
             it.println("lastAppliedBlur: $lastAppliedBlur")
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java
index 0dfc63e..08ecc64 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java
@@ -627,7 +627,6 @@
             boolean alternateBouncerIsVisible) {
         SceneContainerFlag.isUnexpectedlyInLegacyMode();
 
-        final boolean onBouncer = currentScene.equals(Scenes.Bouncer);
         final boolean onCommunal = currentScene.equals(Scenes.Communal);
         final boolean onGone = currentScene.equals(Scenes.Gone);
         final boolean onDream = currentScene.equals(Scenes.Dream);
@@ -635,8 +634,8 @@
         final boolean onQuickSettings = currentScene.equals(Scenes.QuickSettings);
         final boolean onShade = currentScene.equals(Scenes.Shade);
 
+        final boolean overlaidBouncer = currentOverlays.contains(Overlays.Bouncer);
         final boolean overCommunal = SceneStackKt.contains(backStack, Scenes.Communal);
-        final boolean overLockscreen = SceneStackKt.contains(backStack, Scenes.Lockscreen);
         final boolean overShade = SceneStackKt.contains(backStack, Scenes.Shade);
 
         final boolean overlaidShade = currentOverlays.contains(Overlays.NotificationsShade);
@@ -669,14 +668,13 @@
         // 3. backStack contains a keyguardish scene (Lockscreen or Communal).
         // 4. the alternate bouncer is visible.
 
-        final boolean onKeyguardish = onLockscreen || onBouncer || onCommunal;
-        final boolean overKeyguardish = overLockscreen || overCommunal;
+        final boolean onKeyguardish = onLockscreen || overlaidBouncer || onCommunal;
 
         if (isOccluded) {
             // Occlusion is special; even though the device is still technically on the lockscreen,
             // the UI behaves as if it is unlocked.
             newState = StatusBarState.SHADE;
-        } else if (onKeyguardish || overKeyguardish || alternateBouncerIsVisible) {
+        } else if (onKeyguardish || overCommunal || alternateBouncerIsVisible) {
             // We get here if we are on or over a keyguardish scene, even if isUnlocked is true; we
             // want to return SHADE_LOCKED or KEYGUARD until we are also neither on nor over a
             // keyguardish scene.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/chips/ui/compose/OngoingActivityChip.kt b/packages/SystemUI/src/com/android/systemui/statusbar/chips/ui/compose/OngoingActivityChip.kt
index efd402e..95e454a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/chips/ui/compose/OngoingActivityChip.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/chips/ui/compose/OngoingActivityChip.kt
@@ -211,10 +211,6 @@
                     modifier.size(dimensionResource(id = R.dimen.ongoing_activity_chip_icon_size)),
             )
         }
-
-        // TODO(b/372657935): Add recommended architecture implementation for
-        // StatusBarNotificationIcons
-        is OngoingActivityChipModel.ChipIcon.StatusBarNotificationIcon -> {}
     }
 }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/domain/interactor/StatusBarKeyguardViewManagerInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/domain/interactor/StatusBarKeyguardViewManagerInteractor.kt
index 9ca110e..352d660 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/domain/interactor/StatusBarKeyguardViewManagerInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/domain/interactor/StatusBarKeyguardViewManagerInteractor.kt
@@ -37,10 +37,7 @@
 /**
  * Whether to set the status bar keyguard view occluded or not, and whether to animate that change.
  */
-data class OccludedState(
-    val occluded: Boolean,
-    val animate: Boolean = false,
-)
+data class OccludedState(val occluded: Boolean, val animate: Boolean = false)
 
 /** Handles logic around calls to [StatusBarKeyguardViewManager] in legacy code. */
 @Deprecated("Will be removed once all of SBKVM's responsibilies are refactored.")
@@ -93,12 +90,12 @@
     private val occlusionStateFromFinishedStep =
         combine(
                 keyguardTransitionInteractor.isFinishedIn(
-                    scene = Scenes.Gone,
+                    content = Scenes.Gone,
                     stateWithoutSceneContainer = KeyguardState.GONE,
                 ),
                 keyguardTransitionInteractor.isFinishedIn(KeyguardState.OCCLUDED),
                 keyguardOcclusionInteractor.isShowWhenLockedActivityOnTop,
-                ::Triple
+                ::Triple,
             )
             .map { (isOnGone, isOnOccluded, showWhenLockedOnTop) ->
                 // If we're FINISHED in OCCLUDED, we want to render as occluded. We also need to
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/featurepods/media/ui/compose/MediaControlPopup.kt b/packages/SystemUI/src/com/android/systemui/statusbar/featurepods/media/ui/compose/MediaControlPopup.kt
new file mode 100644
index 0000000..80bdb7f
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/featurepods/media/ui/compose/MediaControlPopup.kt
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2025 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.statusbar.featurepods.media.ui.compose
+
+import android.widget.FrameLayout
+import androidx.compose.foundation.layout.height
+import androidx.compose.foundation.layout.width
+import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+import androidx.compose.ui.res.dimensionResource
+import androidx.compose.ui.unit.dp
+import androidx.compose.ui.viewinterop.AndroidView
+import com.android.systemui.media.controls.ui.view.MediaHost
+import com.android.systemui.res.R
+
+/** Displays a popup containing media controls. Embeds the MediaCarousel within a Compose popup. */
+@Composable
+fun MediaControlPopup(mediaHost: MediaHost, modifier: Modifier = Modifier) {
+    AndroidView(
+        modifier =
+            modifier
+                .width(400.dp)
+                .height(200.dp)
+                .clip(
+                    shape =
+                        RoundedCornerShape(dimensionResource(R.dimen.notification_corner_radius))
+                ),
+        factory = { _ ->
+            mediaHost.hostView.apply {
+                layoutParams =
+                    FrameLayout.LayoutParams(
+                        FrameLayout.LayoutParams.MATCH_PARENT,
+                        FrameLayout.LayoutParams.MATCH_PARENT,
+                    )
+            }
+            mediaHost.hostView
+        },
+        onReset = {},
+    )
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/compose/StatusBarPopup.kt b/packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/compose/StatusBarPopup.kt
index 8a66904..ead5148 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/compose/StatusBarPopup.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/compose/StatusBarPopup.kt
@@ -28,7 +28,9 @@
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.window.Popup
 import androidx.compose.ui.window.PopupProperties
+import com.android.systemui.media.controls.ui.view.MediaHost
 import com.android.systemui.res.R
+import com.android.systemui.statusbar.featurepods.media.ui.compose.MediaControlPopup
 import com.android.systemui.statusbar.featurepods.popups.shared.model.PopupChipId
 import com.android.systemui.statusbar.featurepods.popups.shared.model.PopupChipModel
 
@@ -37,7 +39,7 @@
  * status bar.
  */
 @Composable
-fun StatusBarPopup(viewModel: PopupChipModel.Shown) {
+fun StatusBarPopup(viewModel: PopupChipModel.Shown, mediaHost: MediaHost) {
     val density = Density(LocalContext.current)
     Popup(
         properties =
@@ -56,7 +58,7 @@
         Box(modifier = Modifier.padding(8.dp).wrapContentSize()) {
             when (viewModel.chipId) {
                 is PopupChipId.MediaControl -> {
-                    // TODO(b/385202114): Populate MediaControlPopup contents.
+                    MediaControlPopup(mediaHost = mediaHost)
                 }
             }
             // Future popup types will be handled here.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/compose/StatusBarPopupChip.kt b/packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/compose/StatusBarPopupChip.kt
index eb85d2f..c77decd 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/compose/StatusBarPopupChip.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/compose/StatusBarPopupChip.kt
@@ -16,33 +16,49 @@
 
 package com.android.systemui.statusbar.featurepods.popups.ui.compose
 
-import androidx.compose.animation.animateContentSize
+import androidx.compose.foundation.LocalIndication
 import androidx.compose.foundation.background
+import androidx.compose.foundation.border
 import androidx.compose.foundation.clickable
-import androidx.compose.foundation.hoverable
+import androidx.compose.foundation.indication
 import androidx.compose.foundation.interaction.MutableInteractionSource
 import androidx.compose.foundation.interaction.collectIsHoveredAsState
 import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.height
 import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.width
 import androidx.compose.foundation.layout.widthIn
 import androidx.compose.foundation.shape.CircleShape
 import androidx.compose.foundation.shape.RoundedCornerShape
 import androidx.compose.material3.MaterialTheme
-import androidx.compose.material3.Surface
 import androidx.compose.material3.Text
 import androidx.compose.material3.contentColorFor
+import androidx.compose.material3.minimumInteractiveComponentSize
 import androidx.compose.material3.ripple
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+import androidx.compose.ui.draw.drawWithCache
+import androidx.compose.ui.graphics.BlendMode
+import androidx.compose.ui.graphics.Brush
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.graphics.CompositingStrategy
+import androidx.compose.ui.layout.layout
+import androidx.compose.ui.res.dimensionResource
 import androidx.compose.ui.semantics.Role
-import androidx.compose.ui.text.style.TextOverflow
+import androidx.compose.ui.text.rememberTextMeasurer
+import androidx.compose.ui.unit.Dp
 import androidx.compose.ui.unit.dp
 import com.android.compose.modifiers.thenIf
 import com.android.systemui.common.ui.compose.Icon
+import com.android.systemui.res.R
 import com.android.systemui.statusbar.featurepods.popups.shared.model.HoverBehavior
 import com.android.systemui.statusbar.featurepods.popups.shared.model.PopupChipModel
 
@@ -54,31 +70,48 @@
 @Composable
 fun StatusBarPopupChip(viewModel: PopupChipModel.Shown, modifier: Modifier = Modifier) {
     val hasHoverBehavior = viewModel.hoverBehavior !is HoverBehavior.None
-    val hoverInteractionSource = remember { MutableInteractionSource() }
-    val isHovered by hoverInteractionSource.collectIsHoveredAsState()
+    val interactionSource = remember { MutableInteractionSource() }
+    val hoveredState by interactionSource.collectIsHoveredAsState()
+    val isHovered = hasHoverBehavior && hoveredState
     val isPopupShown = viewModel.isPopupShown
-
+    val indication = if (hoveredState) null else LocalIndication.current
+    val chipShape =
+        RoundedCornerShape(dimensionResource(id = R.dimen.ongoing_activity_chip_corner_radius))
     val chipBackgroundColor =
         if (isPopupShown) {
-            MaterialTheme.colorScheme.primaryContainer
+            MaterialTheme.colorScheme.primary
         } else {
-            MaterialTheme.colorScheme.surfaceContainerHighest
+            MaterialTheme.colorScheme.surfaceDim
         }
-    Surface(
-        shape = RoundedCornerShape(16.dp),
+
+    // Use a Box with `fillMaxHeight` to create a larger click surface for the chip. The visible
+    // height of the chip is determined by the height of the background of the Row below. The
+    // `indication` for Clicks is applied in the Row below as well.
+    Box(
+        contentAlignment = Alignment.Center,
         modifier =
-            modifier
-                .widthIn(max = 120.dp)
-                .padding(vertical = 4.dp)
-                .animateContentSize()
-                .thenIf(hasHoverBehavior) { Modifier.hoverable(hoverInteractionSource) }
-                .thenIf(!isPopupShown) { Modifier.clickable { viewModel.showPopup() } },
-        color = chipBackgroundColor,
+            modifier.minimumInteractiveComponentSize().thenIf(!isPopupShown) {
+                Modifier.clickable(
+                    onClick = { viewModel.showPopup() },
+                    indication = null,
+                    interactionSource = interactionSource,
+                )
+            },
     ) {
         Row(
-            modifier = Modifier.padding(start = 4.dp, end = 8.dp),
-            verticalAlignment = Alignment.CenterVertically,
             horizontalArrangement = Arrangement.spacedBy(4.dp),
+            verticalAlignment = Alignment.CenterVertically,
+            modifier =
+                Modifier.height(dimensionResource(R.dimen.ongoing_appops_chip_height))
+                    .clip(chipShape)
+                    .background(chipBackgroundColor)
+                    .border(
+                        width = dimensionResource(id = R.dimen.ongoing_activity_chip_outline_width),
+                        color = MaterialTheme.colorScheme.outlineVariant,
+                        shape = chipShape,
+                    )
+                    .indication(interactionSource, indication)
+                    .padding(start = 4.dp, end = 8.dp),
         ) {
             val iconColor =
                 if (isHovered) chipBackgroundColor else contentColorFor(chipBackgroundColor)
@@ -92,9 +125,11 @@
                         else -> viewModel.icon
                     },
                 modifier =
-                    Modifier.thenIf(isHovered) {
-                            Modifier.padding(3.dp)
-                                .background(color = iconBackgroundColor, shape = CircleShape)
+                    Modifier.height(20.dp)
+                        .width(20.dp)
+                        .thenIf(isHovered) {
+                            Modifier.background(color = iconBackgroundColor, shape = CircleShape)
+                                .padding(2.dp)
                         }
                         .thenIf(hoverBehavior is HoverBehavior.Button) {
                             Modifier.clickable(
@@ -102,18 +137,67 @@
                                 onClick = (hoverBehavior as HoverBehavior.Button).onIconPressed,
                                 indication = ripple(),
                                 interactionSource = iconInteractionSource,
+                                enabled = isHovered,
                             )
-                        }
-                        .padding(3.dp),
+                        },
                 tint = iconColor,
             )
 
+            val text = viewModel.chipText
+            val textStyle = MaterialTheme.typography.labelLarge
+            val textMeasurer = rememberTextMeasurer()
+            var textOverflow by remember { mutableStateOf(false) }
+
             Text(
-                text = viewModel.chipText,
-                style = MaterialTheme.typography.labelLarge,
+                text = text,
+                style = textStyle,
                 softWrap = false,
-                overflow = TextOverflow.Ellipsis,
+                modifier =
+                    Modifier.widthIn(
+                            max =
+                                dimensionResource(id = R.dimen.ongoing_activity_chip_max_text_width)
+                        )
+                        .layout { measurables, constraints ->
+                            val placeable = measurables.measure(constraints)
+                            val intrinsicWidth =
+                                textMeasurer.measure(text, textStyle, softWrap = false).size.width
+                            textOverflow = intrinsicWidth > constraints.maxWidth
+
+                            layout(placeable.width, placeable.height) {
+                                if (textOverflow) {
+                                    placeable.placeWithLayer(0, 0) {
+                                        compositingStrategy = CompositingStrategy.Offscreen
+                                    }
+                                } else {
+                                    placeable.place(0, 0)
+                                }
+                            }
+                        }
+                        .overflowFadeOut(
+                            hasOverflow = { textOverflow },
+                            fadeLength =
+                                dimensionResource(
+                                    id = R.dimen.ongoing_activity_chip_text_fading_edge_length
+                                ),
+                        ),
             )
         }
     }
 }
+
+private fun Modifier.overflowFadeOut(hasOverflow: () -> Boolean, fadeLength: Dp): Modifier {
+    return drawWithCache {
+        val width = size.width
+        val start = (width - fadeLength.toPx()).coerceAtLeast(0f)
+        val gradient =
+            Brush.horizontalGradient(
+                colors = listOf(Color.Black, Color.Transparent),
+                startX = start,
+                endX = width,
+            )
+        onDrawWithContent {
+            drawContent()
+            if (hasOverflow()) drawRect(brush = gradient, blendMode = BlendMode.DstIn)
+        }
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/compose/StatusBarPopupChipsContainer.kt b/packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/compose/StatusBarPopupChipsContainer.kt
index 16538c9..f5f1f20 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/compose/StatusBarPopupChipsContainer.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/featurepods/popups/ui/compose/StatusBarPopupChipsContainer.kt
@@ -20,14 +20,37 @@
 import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.padding
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.LaunchedEffect
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.unit.dp
+import com.android.systemui.media.controls.ui.view.MediaHost
+import com.android.systemui.scene.shared.flag.SceneContainerFlag
+import com.android.systemui.statusbar.featurepods.popups.shared.model.PopupChipId
 import com.android.systemui.statusbar.featurepods.popups.shared.model.PopupChipModel
 
 /** Container view that holds all right hand side chips in the status bar. */
 @Composable
-fun StatusBarPopupChipsContainer(chips: List<PopupChipModel.Shown>, modifier: Modifier = Modifier) {
+fun StatusBarPopupChipsContainer(
+    chips: List<PopupChipModel.Shown>,
+    mediaHost: MediaHost,
+    onMediaControlPopupVisibilityChanged: (Boolean) -> Unit,
+    modifier: Modifier = Modifier,
+) {
+    if (!SceneContainerFlag.isEnabled) {
+        val isMediaControlPopupShown =
+            remember(chips) {
+                chips.any { it.chipId == PopupChipId.MediaControl && it.isPopupShown }
+            }
+
+        LaunchedEffect(isMediaControlPopupShown) {
+            onMediaControlPopupVisibilityChanged(isMediaControlPopupShown)
+        }
+    }
+
     //    TODO(b/385353140): Add padding and spacing for this container according to UX specs.
     Box {
         Row(
@@ -37,7 +60,7 @@
             chips.forEach { chip ->
                 StatusBarPopupChip(chip)
                 if (chip.isPopupShown) {
-                    StatusBarPopup(chip)
+                    StatusBarPopup(viewModel = chip, mediaHost = mediaHost)
                 }
             }
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationTransitionAnimatorController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationTransitionAnimatorController.kt
index 383227d..ab40582 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationTransitionAnimatorController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationTransitionAnimatorController.kt
@@ -21,6 +21,7 @@
 import com.android.internal.jank.InteractionJankMonitor
 import com.android.systemui.animation.ActivityTransitionAnimator
 import com.android.systemui.animation.TransitionAnimator
+import com.android.systemui.statusbar.notification.collection.GroupEntry
 import com.android.systemui.statusbar.notification.domain.interactor.NotificationLaunchAnimationInteractor
 import com.android.systemui.statusbar.notification.headsup.HeadsUpManager
 import com.android.systemui.statusbar.notification.headsup.HeadsUpUtil
@@ -157,8 +158,8 @@
 
     private val headsUpNotificationRow: ExpandableNotificationRow?
         get() {
-            val summaryEntry = notificationEntry.parent?.summary
-
+            val pipelineParent = notificationEntry.parent
+            val summaryEntry = (pipelineParent as? GroupEntry)?.summary
             return when {
                 headsUpManager.isHeadsUpEntry(notificationKey) -> notification
                 summaryEntry == null -> null
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.java
index c6775d6..31bcf2b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.java
@@ -26,6 +26,7 @@
 import com.android.systemui.res.R;
 import com.android.systemui.statusbar.notification.collection.EntryAdapter;
 import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 import com.android.systemui.util.Compile;
 
@@ -80,7 +81,7 @@
     private static final boolean INCLUDE_HASH_CODE_IN_LIST_ENTRY_LOG_KEY = false;
 
     /** Get the notification key, reformatted for logging, for the (optional) entry */
-    public static String logKey(ListEntry entry) {
+    public static String logKey(PipelineEntry entry) {
         if (entry == null) {
             return "null";
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.kt
index 432bac4..2c29e30 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.kt
@@ -17,10 +17,10 @@
 package com.android.systemui.statusbar.notification
 
 import android.service.notification.StatusBarNotification
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 
 /** Get the notification key, reformatted for logging, for the (optional) entry  */
-val ListEntry?.logKey: String?
+val PipelineEntry?.logKey: String?
     get() = this?.let { NotificationUtils.logKey(it) }
 
 /** Get the notification key, reformatted for logging, for the (optional) sbn  */
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/BundleEntry.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/BundleEntry.java
index 24ab695..35a2828 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/BundleEntry.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/BundleEntry.java
@@ -29,26 +29,54 @@
 import androidx.annotation.VisibleForTesting;
 
 import com.android.systemui.statusbar.notification.icon.IconPack;
+import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 
 import java.util.List;
 
 /**
- * Abstract class to represent notification section bundled by AI.
+ * Class to represent notifications bundled by classification.
  */
 public class BundleEntry extends PipelineEntry {
 
-    private final String mKey;
     private final BundleEntryAdapter mEntryAdapter;
 
     // TODO (b/389839319): implement the row
     private ExpandableNotificationRow mRow;
 
     public BundleEntry(String key) {
-        mKey = key;
+        super(key);
         mEntryAdapter = new BundleEntryAdapter();
     }
 
+    @Nullable
+    @Override
+    public NotificationEntry getRepresentativeEntry() {
+        return null;
+    }
+
+    @Nullable
+    @Override
+    public NotifSection getSection() {
+        return null;
+    }
+
+    @Override
+    public int getSectionIndex() {
+        return 0;
+    }
+
+    @Nullable
+    @Override
+    public PipelineEntry getParent() {
+        return null;
+    }
+
+    @Override
+    public boolean wasAttachedInPreviousPass() {
+        return false;
+    }
+
     @VisibleForTesting
     public BundleEntryAdapter getEntryAdapter() {
         return mEntryAdapter;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/GroupEntry.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/GroupEntry.java
index 918843c..8726e83 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/GroupEntry.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/GroupEntry.java
@@ -75,6 +75,7 @@
         return mChildren;
     }
 
+    // TODO(b/394483200) Change ROOT_ENTRY to PipelineEntry
     public static final GroupEntry ROOT_ENTRY = new GroupEntry("<root>", 0);
 
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListAttachState.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListAttachState.kt
index b5fce41..4a1b956 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListAttachState.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListAttachState.kt
@@ -21,14 +21,14 @@
 import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifPromoter
 
 /**
- * Stores the state that [ShadeListBuilder] assigns to this [ListEntry]
+ * Stores the state that [ShadeListBuilder] assigns to this [PipelineEntry]
  */
 data class ListAttachState private constructor(
     /**
      * Null if not attached to the current shade list. If top-level, then the shade list root. If
      * part of a group, then that group's GroupEntry.
      */
-    var parent: GroupEntry?,
+    var parent: PipelineEntry?,
 
     /**
      * The section that this ListEntry was sorted into. If the child of the group, this will be the
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListDumper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListDumper.java
index f6a572e..60b75b1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListDumper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListDumper.java
@@ -39,14 +39,14 @@
      *                             entry to be in its current state (ie: filter, lifeExtender)
      */
     public static String dumpTree(
-            List<ListEntry> entries,
+            List<PipelineEntry> entries,
             NotificationInteractionTracker interactionTracker,
             boolean includeRecordKeeping,
             String indent) {
         StringBuilder sb = new StringBuilder();
         final String childEntryIndent = indent + INDENT;
         for (int topEntryIndex = 0; topEntryIndex < entries.size(); topEntryIndex++) {
-            ListEntry entry = entries.get(topEntryIndex);
+            PipelineEntry entry = entries.get(topEntryIndex);
             dumpEntry(entry,
                     Integer.toString(topEntryIndex),
                     indent,
@@ -106,7 +106,7 @@
     }
 
     private static void dumpEntry(
-            ListEntry entry,
+            PipelineEntry entry,
             String index,
             String indent,
             StringBuilder sb,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListEntry.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListEntry.java
index c8e3be4..697d0a0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListEntry.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ListEntry.java
@@ -21,28 +21,18 @@
 
 import androidx.annotation.Nullable;
 
-import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection;
-
 /**
  * Abstract superclass for top-level entries, i.e. things that can appear in the final notification
  * list shown to users. In practice, this means either GroupEntries or NotificationEntries.
  */
 public abstract class ListEntry extends PipelineEntry {
-    private final String mKey;
     private final long mCreationTime;
 
-    private final ListAttachState mPreviousAttachState = ListAttachState.create();
-    private final ListAttachState mAttachState = ListAttachState.create();
-
     protected ListEntry(String key, long creationTime) {
-        mKey = key;
+        super(key);
         mCreationTime = creationTime;
     }
 
-    public String getKey() {
-        return mKey;
-    }
-
     /**
      * The SystemClock.uptimeMillis() when this object was created. In general, this means the
      * moment when NotificationManager notifies our listener about the existence of this entry.
@@ -64,34 +54,22 @@
      */
     public abstract @Nullable NotificationEntry getRepresentativeEntry();
 
-    @Nullable public GroupEntry getParent() {
+    @Nullable public PipelineEntry getParent() {
         return mAttachState.getParent();
     }
 
-    void setParent(@Nullable GroupEntry parent) {
+    void setParent(@Nullable PipelineEntry parent) {
         mAttachState.setParent(parent);
     }
 
-    @Nullable public GroupEntry getPreviousParent() {
+    @Nullable public PipelineEntry getPreviousParent() {
         return mPreviousAttachState.getParent();
     }
 
-    @Nullable public NotifSection getSection() {
-        return mAttachState.getSection();
-    }
-
     public int getSectionIndex() {
         return mAttachState.getSection() != null ? mAttachState.getSection().getIndex() : -1;
     }
 
-    ListAttachState getAttachState() {
-        return mAttachState;
-    }
-
-    ListAttachState getPreviousAttachState() {
-        return mPreviousAttachState;
-    }
-
     /**
      * Stores the current attach state into {@link #getPreviousAttachState()}} and then starts a
      * fresh attach state (all entries will be null/default-initialized).
@@ -100,11 +78,4 @@
         mPreviousAttachState.clone(mAttachState);
         mAttachState.reset();
     }
-
-    /**
-     * True if this entry was attached in the last pass, else false.
-     */
-    public boolean wasAttachedInPreviousPass() {
-        return getPreviousAttachState().getParent() != null;
-    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationEntry.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationEntry.java
index 698a563..e5b72d4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationEntry.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationEntry.java
@@ -305,8 +305,10 @@
             if (isTopLevelEntry() || getParent() == null) {
                 return null;
             }
-            if (NotificationEntry.this.getParent().getSummary() != null) {
-                return NotificationEntry.this.getParent().getSummary().mEntryAdapter;
+            if (NotificationEntry.this.getParent() instanceof GroupEntry parentGroupEntry) {
+                if (parentGroupEntry.getSummary() != null) {
+                    return parentGroupEntry.getSummary().mEntryAdapter;
+                }
             }
             return null;
         }
@@ -588,7 +590,7 @@
      * Get the children that are actually attached to this notification's row.
      *
      * TODO: Seems like most callers here should probably be using
-     * {@link GroupMembershipManager#getChildren(ListEntry)}
+     * {@link GroupMembershipManager#getChildren(PipelineEntry)}
      */
     public @Nullable List<NotificationEntry> getAttachedNotifChildren() {
         if (row == null) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/PipelineEntry.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/PipelineEntry.java
index c5a4791..78652cc 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/PipelineEntry.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/PipelineEntry.java
@@ -16,8 +16,74 @@
 
 package com.android.systemui.statusbar.notification.collection;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection;
+
 /**
  * Class to represent a notification, group, or bundle in the pipeline.
  */
 public abstract class PipelineEntry {
+
+    final String mKey;
+    final ListAttachState mAttachState = ListAttachState.create();
+    final ListAttachState mPreviousAttachState = ListAttachState.create();
+
+    public PipelineEntry(String key) {
+        this.mKey = key;
+    }
+
+    /**
+     * Key of the representative entry.
+     */
+    public @NonNull String getKey() {
+        return mKey;
+    }
+
+    /**
+     * @return The representative NotificationEntry:
+     *      for NotificationEntry, return itself
+     *      for GroupEntry, return the summary NotificationEntry, or null if it does not exist
+     *      for BundleEntry, return null
+     */
+    public abstract @Nullable NotificationEntry getRepresentativeEntry();
+
+    /**
+     * @return NotifSection that ShadeListBuilder assigned to this PipelineEntry.
+     */
+    @Nullable public NotifSection getSection() {
+        return mAttachState.getSection();
+    }
+
+    /**
+     * @return True if this entry was attached in the last pass, else false.
+     */
+    public boolean wasAttachedInPreviousPass() {
+        return getPreviousAttachState().getParent() != null;
+    }
+
+    /**
+     * @return Index of section assigned to this entry.
+     */
+    public abstract int getSectionIndex();
+
+    /**
+     * @return Parent PipelineEntry
+     */
+    public abstract @Nullable PipelineEntry getParent();
+
+    /**
+     * @return Current state that ShadeListBuilder assigned to this PipelineEntry.
+     */
+    final ListAttachState getAttachState() {
+        return mAttachState;
+    }
+
+    /**
+     * @return Previous state that ShadeListBuilder assigned to this PipelineEntry.
+     */
+    final ListAttachState getPreviousAttachState() {
+        return mPreviousAttachState;
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilder.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilder.java
index ac11c15..bb84ab8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilder.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilder.java
@@ -100,15 +100,15 @@
     private final DumpManager mDumpManager;
     // used exclusivly by ShadeListBuilder#notifySectionEntriesUpdated
     // TODO replace temp with collection pool for readability
-    private final ArrayList<ListEntry> mTempSectionMembers = new ArrayList<>();
+    private final ArrayList<PipelineEntry> mTempSectionMembers = new ArrayList<>();
     private NotifPipelineFlags mFlags;
     private final boolean mAlwaysLogList;
 
-    private List<ListEntry> mNotifList = new ArrayList<>();
-    private List<ListEntry> mNewNotifList = new ArrayList<>();
+    private List<PipelineEntry> mNotifList = new ArrayList<>();
+    private List<PipelineEntry> mNewNotifList = new ArrayList<>();
 
     private final SemiStableSort mSemiStableSort = new SemiStableSort();
-    private final StableOrder<ListEntry> mStableOrder = this::getStableOrderRank;
+    private final StableOrder<PipelineEntry> mStableOrder = this::getStableOrderRank;
     private final PipelineState mPipelineState = new PipelineState();
     private final Map<String, GroupEntry> mGroups = new ArrayMap<>();
     private Collection<NotificationEntry> mAllEntries = Collections.emptyList();
@@ -133,8 +133,8 @@
             mOnBeforeRenderListListeners = new NamedListenerSet<>();
     @Nullable private OnRenderListListener mOnRenderListListener;
 
-    private List<ListEntry> mReadOnlyNotifList = Collections.unmodifiableList(mNotifList);
-    private List<ListEntry> mReadOnlyNewNotifList = Collections.unmodifiableList(mNewNotifList);
+    private List<PipelineEntry> mReadOnlyNotifList = Collections.unmodifiableList(mNotifList);
+    private List<PipelineEntry> mReadOnlyNewNotifList = Collections.unmodifiableList(mNewNotifList);
     private final NotifPipelineChoreographer mChoreographer;
 
     private int mConsecutiveReentrantRebuilds = 0;
@@ -308,7 +308,7 @@
         }
     }
 
-    List<ListEntry> getShadeList() {
+    List<PipelineEntry> getShadeList() {
         Assert.isMainThread();
         // NOTE: Accessing this method when the pipeline is running is generally going to provide
         //  incorrect results, and indicates a poorly behaved component of the pipeline.
@@ -493,7 +493,7 @@
         Trace.beginSection("ShadeListBuilder.notifySectionEntriesUpdated");
         mTempSectionMembers.clear();
         for (NotifSection section : mNotifSections) {
-            for (ListEntry entry : mNotifList) {
+            for (PipelineEntry entry : mNotifList) {
                 if (section == entry.getSection()) {
                     mTempSectionMembers.add(entry);
                 }
@@ -514,11 +514,11 @@
      */
     private void applyNewNotifList() {
         mNotifList.clear();
-        List<ListEntry> emptyList = mNotifList;
+        List<PipelineEntry> emptyList = mNotifList;
         mNotifList = mNewNotifList;
         mNewNotifList = emptyList;
 
-        List<ListEntry> readOnlyNotifList = mReadOnlyNotifList;
+        List<PipelineEntry> readOnlyNotifList = mReadOnlyNotifList;
         mReadOnlyNotifList = mReadOnlyNewNotifList;
         mReadOnlyNewNotifList = readOnlyNotifList;
     }
@@ -538,12 +538,12 @@
     }
 
     private void filterNotifs(
-            Collection<? extends ListEntry> entries,
-            List<ListEntry> out,
+            Collection<? extends PipelineEntry> entries,
+            List<PipelineEntry> out,
             List<NotifFilter> filters) {
         Trace.beginSection("ShadeListBuilder.filterNotifs");
         final long now = mSystemClock.uptimeMillis();
-        for (ListEntry entry : entries) {
+        for (PipelineEntry entry : entries) {
             if (entry instanceof GroupEntry) {
                 final GroupEntry groupEntry = (GroupEntry) entry;
 
@@ -576,11 +576,11 @@
         Trace.endSection();
     }
 
-    private void groupNotifs(List<ListEntry> entries, List<ListEntry> out) {
+    private void groupNotifs(List<PipelineEntry> entries, List<PipelineEntry> out) {
         Trace.beginSection("ShadeListBuilder.groupNotifs");
-        for (ListEntry listEntry : entries) {
+        for (PipelineEntry PipelineEntry : entries) {
             // since grouping hasn't happened yet, all notifs are NotificationEntries
-            NotificationEntry entry = (NotificationEntry) listEntry;
+            NotificationEntry entry = (NotificationEntry) PipelineEntry;
             if (entry.getSbn().isGroup()) {
                 final String topLevelKey = entry.getSbn().getGroupKey();
 
@@ -631,14 +631,14 @@
         Trace.endSection();
     }
 
-    private void stabilizeGroupingNotifs(List<ListEntry> topLevelList) {
+    private void stabilizeGroupingNotifs(List<PipelineEntry> topLevelList) {
         if (getStabilityManager().isEveryChangeAllowed()) {
             return;
         }
         Trace.beginSection("ShadeListBuilder.stabilizeGroupingNotifs");
 
         for (int i = 0; i < topLevelList.size(); i++) {
-            final ListEntry tle = topLevelList.get(i);
+            final PipelineEntry tle = topLevelList.get(i);
             if (tle instanceof GroupEntry) {
                 // maybe put children back into their old group (including moving back to top-level)
                 GroupEntry groupEntry = (GroupEntry) tle;
@@ -667,13 +667,13 @@
     /**
      * Returns true if the group change was suppressed, else false
      */
-    private boolean maybeSuppressGroupChange(NotificationEntry entry, List<ListEntry> out) {
-        final GroupEntry prevParent = entry.getPreviousAttachState().getParent();
+    private boolean maybeSuppressGroupChange(NotificationEntry entry, List<PipelineEntry> out) {
+        final PipelineEntry prevParent = entry.getPreviousAttachState().getParent();
         if (prevParent == null) {
             // New entries are always allowed.
             return false;
         }
-        final GroupEntry assignedParent = entry.getParent();
+        final PipelineEntry assignedParent = entry.getParent();
         if (prevParent == assignedParent) {
             // Nothing to change.
             return false;
@@ -691,21 +691,22 @@
             entry.setParent(prevParent);
             if (prevParent == ROOT_ENTRY) {
                 out.add(entry);
-            } else {
-                prevParent.addChild(entry);
+            } else if (prevParent instanceof GroupEntry) {
+                ((GroupEntry) prevParent).addChild(entry);
                 if (!mGroups.containsKey(prevParent.getKey())) {
-                    mGroups.put(prevParent.getKey(), prevParent);
+                    mGroups.put(prevParent.getKey(), (GroupEntry) prevParent);
                 }
             }
+            // TODO(b/394483200): Revisit group stability for BundleEntry
             return true;
         }
         return false;
     }
 
-    private void promoteNotifs(List<ListEntry> list) {
+    private void promoteNotifs(List<PipelineEntry> list) {
         Trace.beginSection("ShadeListBuilder.promoteNotifs");
         for (int i = 0; i < list.size(); i++) {
-            final ListEntry tle = list.get(i);
+            final PipelineEntry tle = list.get(i);
 
             if (tle instanceof GroupEntry) {
                 final GroupEntry group = (GroupEntry) tle;
@@ -725,7 +726,7 @@
         Trace.endSection();
     }
 
-    private void pruneIncompleteGroups(List<ListEntry> shadeList) {
+    private void pruneIncompleteGroups(List<PipelineEntry> shadeList) {
         Trace.beginSection("ShadeListBuilder.pruneIncompleteGroups");
         // Any group which lost a child on this run to stability is exempt from being pruned or
         //  having its summary promoted, regardless of how many children it has
@@ -742,7 +743,7 @@
         // Iterate backwards, so that we can remove elements without affecting indices of
         // yet-to-be-accessed entries.
         for (int i = shadeList.size() - 1; i >= 0; i--) {
-            final ListEntry tle = shadeList.get(i);
+            final PipelineEntry tle = shadeList.get(i);
 
             if (tle instanceof GroupEntry) {
                 final GroupEntry group = (GroupEntry) tle;
@@ -793,7 +794,7 @@
         Trace.endSection();
     }
 
-    private void pruneGroupAtIndexAndPromoteSummary(List<ListEntry> shadeList,
+    private void pruneGroupAtIndexAndPromoteSummary(List<PipelineEntry> shadeList,
             GroupEntry group, int index) {
         // Validate that the group has no children
         checkArgument(group.getChildren().isEmpty(), "group should have no children");
@@ -801,7 +802,7 @@
         NotificationEntry summary = group.getSummary();
         summary.setParent(ROOT_ENTRY);
         // The list may be sorted; replace the group with the summary, in its place
-        ListEntry oldEntry = shadeList.set(index, summary);
+        PipelineEntry oldEntry = shadeList.set(index, summary);
 
         // Validate that the replaced entry was the group entry
         checkState(oldEntry == group);
@@ -812,10 +813,10 @@
                 "SUMMARY with no children @ " + mPipelineState.getStateName());
     }
 
-    private void pruneGroupAtIndexAndPromoteAnyChildren(List<ListEntry> shadeList,
+    private void pruneGroupAtIndexAndPromoteAnyChildren(List<PipelineEntry> shadeList,
             GroupEntry group, int index) {
         // REMOVE the GroupEntry at this index
-        ListEntry oldEntry = shadeList.remove(index);
+        PipelineEntry oldEntry = shadeList.remove(index);
 
         // Validate that the replaced entry was the group entry
         checkState(oldEntry == group);
@@ -868,14 +869,14 @@
      * top level (ungrouped) notifications.
      */
     @NonNull
-    private Set<String> getGroupsWithChildrenLostToStability(List<ListEntry> shadeList) {
+    private Set<String> getGroupsWithChildrenLostToStability(List<PipelineEntry> shadeList) {
         if (getStabilityManager().isEveryChangeAllowed()) {
             return Collections.emptySet();
         }
         ArraySet<String> groupsWithChildrenLostToStability = new ArraySet<>();
         for (int i = 0; i < shadeList.size(); i++) {
-            final ListEntry tle = shadeList.get(i);
-            final GroupEntry suppressedParent =
+            final PipelineEntry tle = shadeList.get(i);
+            final PipelineEntry suppressedParent =
                     tle.getAttachState().getSuppressedChanges().getParent();
             if (suppressedParent != null) {
                 // This top-level-entry was supposed to be attached to this group,
@@ -892,9 +893,10 @@
      *
      * These groups will be exempt from appearing without any children.
      */
-    private void addGroupsWithChildrenLostToPromotion(List<ListEntry> shadeList, Set<String> out) {
+    private void addGroupsWithChildrenLostToPromotion(List<PipelineEntry> shadeList,
+            Set<String> out) {
         for (int i = 0; i < shadeList.size(); i++) {
-            final ListEntry tle = shadeList.get(i);
+            final PipelineEntry tle = shadeList.get(i);
             if (tle.getAttachState().getPromoter() != null) {
                 // This top-level-entry was part of a group, but was promoted out of it.
                 final String groupKey = tle.getRepresentativeEntry().getSbn().getGroupKey();
@@ -910,7 +912,7 @@
      * These groups will be exempt from appearing without any children.
      */
     private void addGroupsWithChildrenLostToFiltering(Set<String> out) {
-        for (ListEntry tle : mAllEntries) {
+        for (PipelineEntry tle : mAllEntries) {
             StatusBarNotification sbn = tle.getRepresentativeEntry().getSbn();
             if (sbn.isGroup()
                     && !sbn.getNotification().isGroupSummary()
@@ -921,14 +923,14 @@
     }
 
     /**
-     * If a ListEntry was added to the shade list and then later removed (e.g. because it was a
+     * If a PipelineEntry was added to the shade list and then later removed (e.g. because it was a
      * group that was broken up), this method will erase any bookkeeping traces of that addition
      * and/or check that they were already erased.
      *
      * Before calling this method, the entry must already have been removed from its parent. If
      * it's a group, its summary must be null and its children must be empty.
      */
-    private void annulAddition(ListEntry entry, List<ListEntry> shadeList) {
+    private void annulAddition(PipelineEntry entry, List<PipelineEntry> shadeList) {
 
         // This function does very little, but if any of its assumptions are violated (and it has a
         // lot of them), it will put the system into an inconsistent state. So we check all of them
@@ -956,9 +958,11 @@
                 throw new IllegalStateException(
                         "Cannot nullify group " + ge.getKey() + ": still has children");
             }
-        } else if (entry instanceof NotificationEntry) {
-            if (entry == entry.getParent().getSummary()
-                    || entry.getParent().getChildren().contains(entry)) {
+        } else if (entry instanceof NotificationEntry
+                && entry.getParent() instanceof GroupEntry) {
+            GroupEntry parentGroupEntry = (GroupEntry) entry.getParent();
+            if (entry == parentGroupEntry.getSummary()
+                    || parentGroupEntry.getChildren().contains(entry)) {
                 throw new IllegalStateException("Cannot nullify addition of child "
                         + entry.getKey() + ": it's still attached to its parent.");
             }
@@ -973,14 +977,14 @@
      * This can happen if the entry is removed from a group that was broken up or if the entry was
      * filtered out during any of the filtering steps.
      */
-    private void annulAddition(ListEntry entry) {
+    private void annulAddition(PipelineEntry entry) {
         entry.getAttachState().detach();
     }
 
     private void assignSections() {
         Trace.beginSection("ShadeListBuilder.assignSections");
         // Assign sections to top-level elements and their children
-        for (ListEntry entry : mNotifList) {
+        for (PipelineEntry entry : mNotifList) {
             NotifSection section = applySections(entry);
             if (entry instanceof GroupEntry) {
                 GroupEntry parent = (GroupEntry) entry;
@@ -1001,7 +1005,7 @@
     private void sortWithSemiStableSort() {
         // Sort each group's children
         boolean allSorted = true;
-        for (ListEntry entry : mNotifList) {
+        for (PipelineEntry entry : mNotifList) {
             if (entry instanceof GroupEntry) {
                 GroupEntry parent = (GroupEntry) entry;
                 allSorted &= sortGroupChildren(parent.getRawChildren());
@@ -1010,7 +1014,7 @@
         // Sort each section within the top level list
         mNotifList.sort(mTopLevelComparator);
         if (!getStabilityManager().isEveryChangeAllowed()) {
-            for (List<ListEntry> subList : getSectionSubLists(mNotifList)) {
+            for (List<PipelineEntry> subList : getSectionSubLists(mNotifList)) {
                 allSorted &= mSemiStableSort.stabilizeTo(subList, mStableOrder, mNewNotifList);
             }
             applyNewNotifList();
@@ -1022,7 +1026,7 @@
         }
     }
 
-    private Iterable<List<ListEntry>> getSectionSubLists(List<ListEntry> entries) {
+    private Iterable<List<PipelineEntry>> getSectionSubLists(List<PipelineEntry> entries) {
         return ShadeListBuilderHelper.INSTANCE.getSectionSubLists(entries);
     }
 
@@ -1057,12 +1061,12 @@
     /**
      * Assign the index of each notification relative to the total order
      */
-    private void assignIndexes(List<ListEntry> notifList) {
+    private void assignIndexes(List<PipelineEntry> notifList) {
         if (notifList.size() == 0) return;
         NotifSection currentSection = requireNonNull(notifList.get(0).getSection());
         int sectionMemberIndex = 0;
         for (int i = 0; i < notifList.size(); i++) {
-            final ListEntry entry = notifList.get(i);
+            final PipelineEntry entry = notifList.get(i);
             NotifSection section = requireNonNull(entry.getSection());
             if (section.getIndex() != currentSection.getIndex()) {
                 sectionMemberIndex = 0;
@@ -1099,7 +1103,7 @@
         Trace.endSection();
     }
 
-    private void logAttachStateChanges(ListEntry entry) {
+    private void logAttachStateChanges(PipelineEntry entry) {
 
         final ListAttachState curr = entry.getAttachState();
         final ListAttachState prev = entry.getPreviousAttachState();
@@ -1115,8 +1119,8 @@
                 mLogger.logParentChanged(mIterationCount, prev.getParent(), curr.getParent());
             }
 
-            GroupEntry currSuppressedParent = curr.getSuppressedChanges().getParent();
-            GroupEntry prevSuppressedParent = prev.getSuppressedChanges().getParent();
+            PipelineEntry currSuppressedParent = curr.getSuppressedChanges().getParent();
+            PipelineEntry prevSuppressedParent = prev.getSuppressedChanges().getParent();
             if (currSuppressedParent != null && (prevSuppressedParent == null
                     || !prevSuppressedParent.getKey().equals(currSuppressedParent.getKey()))) {
                 mLogger.logParentChangeSuppressedStarted(
@@ -1210,7 +1214,7 @@
 
     @Nullable
     private NotifComparator getSectionComparator(
-            @NonNull ListEntry o1, @NonNull ListEntry o2) {
+            @NonNull PipelineEntry o1, @NonNull PipelineEntry o2) {
         final NotifSection section = o1.getSection();
         if (section != o2.getSection()) {
             throw new RuntimeException("Entry ordering should only be done within sections");
@@ -1221,7 +1225,7 @@
         return null;
     }
 
-    private final Comparator<ListEntry> mTopLevelComparator = (o1, o2) -> {
+    private final Comparator<PipelineEntry> mTopLevelComparator = (o1, o2) -> {
         int cmp = Integer.compare(
                 o1.getSectionIndex(),
                 o2.getSectionIndex());
@@ -1264,7 +1268,7 @@
     };
 
     @Nullable
-    private Integer getStableOrderRank(ListEntry entry) {
+    private Integer getStableOrderRank(PipelineEntry entry) {
         if (getStabilityManager().isEntryReorderingAllowed(entry)) {
             // let the stability manager constrain or allow reordering
             return null;
@@ -1323,7 +1327,7 @@
         return null;
     }
 
-    private NotifSection applySections(ListEntry entry) {
+    private NotifSection applySections(PipelineEntry entry) {
         final NotifSection newSection = findSection(entry);
         final ListAttachState prevAttachState = entry.getPreviousAttachState();
 
@@ -1346,7 +1350,7 @@
         return finalSection;
     }
 
-    private void setEntrySection(ListEntry entry, NotifSection finalSection) {
+    private void setEntrySection(PipelineEntry entry, NotifSection finalSection) {
         entry.getAttachState().setSection(finalSection);
         NotificationEntry representativeEntry = entry.getRepresentativeEntry();
         if (representativeEntry != null) {
@@ -1358,7 +1362,7 @@
     }
 
     @NonNull
-    private NotifSection findSection(ListEntry entry) {
+    private NotifSection findSection(PipelineEntry entry) {
         for (int i = 0; i < mNotifSections.size(); i++) {
             NotifSection section = mNotifSections.get(i);
             if (section.getSectioner().isInSection(entry)) {
@@ -1428,10 +1432,10 @@
         mChoreographer.schedule();
     }
 
-    private static int countChildren(List<ListEntry> entries) {
+    private static int countChildren(List<PipelineEntry> entries) {
         int count = 0;
         for (int i = 0; i < entries.size(); i++) {
-            final ListEntry entry = entries.get(i);
+            final PipelineEntry entry = entries.get(i);
             if (entry instanceof GroupEntry) {
                 count += ((GroupEntry) entry).getChildren().size();
             }
@@ -1439,7 +1443,7 @@
         return count;
     }
 
-    private void dispatchOnBeforeTransformGroups(List<ListEntry> entries) {
+    private void dispatchOnBeforeTransformGroups(List<PipelineEntry> entries) {
         Trace.beginSection("ShadeListBuilder.dispatchOnBeforeTransformGroups");
         mOnBeforeTransformGroupsListeners.forEachTraced(listener -> {
             listener.onBeforeTransformGroups(entries);
@@ -1447,7 +1451,7 @@
         Trace.endSection();
     }
 
-    private void dispatchOnBeforeSort(List<ListEntry> entries) {
+    private void dispatchOnBeforeSort(List<PipelineEntry> entries) {
         Trace.beginSection("ShadeListBuilder.dispatchOnBeforeSort");
         mOnBeforeSortListeners.forEachTraced(listener -> {
             listener.onBeforeSort(entries);
@@ -1455,7 +1459,7 @@
         Trace.endSection();
     }
 
-    private void dispatchOnBeforeFinalizeFilter(List<ListEntry> entries) {
+    private void dispatchOnBeforeFinalizeFilter(List<PipelineEntry> entries) {
         Trace.beginSection("ShadeListBuilder.dispatchOnBeforeFinalizeFilter");
         mOnBeforeFinalizeFilterListeners.forEachTraced(listener -> {
             listener.onBeforeFinalizeFilter(entries);
@@ -1463,7 +1467,7 @@
         Trace.endSection();
     }
 
-    private void dispatchOnBeforeRenderList(List<ListEntry> entries) {
+    private void dispatchOnBeforeRenderList(List<PipelineEntry> entries) {
         Trace.beginSection("ShadeListBuilder.dispatchOnBeforeRenderList");
         mOnBeforeRenderListListeners.forEachTraced(listener -> {
             listener.onBeforeRenderList(entries);
@@ -1508,13 +1512,13 @@
          * @param entries A read-only view into the current notif list. Note that this list is
          *                backed by the live list and will change in response to new pipeline runs.
          */
-        void onRenderList(@NonNull List<ListEntry> entries);
+        void onRenderList(@NonNull List<PipelineEntry> entries);
     }
 
     private static final NotifSectioner DEFAULT_SECTIONER = new NotifSectioner("UnknownSection",
             NotificationPriorityBucketKt.BUCKET_UNKNOWN) {
         @Override
-        public boolean isInSection(ListEntry entry) {
+        public boolean isInSection(PipelineEntry entry) {
             return true;
         }
     };
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/SuppressedAttachState.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/SuppressedAttachState.kt
index 584563b..c942954 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/SuppressedAttachState.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/SuppressedAttachState.kt
@@ -19,7 +19,7 @@
 import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection
 
 /**
- * Stores the suppressed state that [ShadeListBuilder] assigned to this [ListEntry] before the
+ * Stores the suppressed state that [ShadeListBuilder] assigned to this [PipelineEntry] before the
  * VisualStabilityManager suppressed group and section changes.
  */
 data class SuppressedAttachState private constructor(
@@ -35,7 +35,7 @@
      *  - Root if suppressing group change to top-level
      *  - GroupEntry if suppressing group change to a different group
      */
-    var parent: GroupEntry?,
+    var parent: PipelineEntry?,
 
     /**
      * Whether the ListEntry would have been pruned had its group change not been suppressed.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/BundleCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/BundleCoordinator.kt
index 244c594..e6d5f41 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/BundleCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/BundleCoordinator.kt
@@ -20,7 +20,7 @@
 import android.app.NotificationChannel.PROMOTIONS_ID
 import android.app.NotificationChannel.RECS_ID
 import android.app.NotificationChannel.SOCIAL_MEDIA_ID
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
 import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
 import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifSectioner
@@ -48,7 +48,7 @@
 
     val newsSectioner =
             object : NotifSectioner("News", BUCKET_NEWS) {
-                override fun isInSection(entry: ListEntry): Boolean {
+                override fun isInSection(entry: PipelineEntry): Boolean {
                     return entry.representativeEntry?.channel?.id == NEWS_ID
                 }
 
@@ -59,7 +59,7 @@
 
     val socialSectioner =
         object : NotifSectioner("Social", BUCKET_SOCIAL) {
-            override fun isInSection(entry: ListEntry): Boolean {
+            override fun isInSection(entry: PipelineEntry): Boolean {
                 return entry.representativeEntry?.channel?.id == SOCIAL_MEDIA_ID
             }
 
@@ -70,7 +70,7 @@
 
     val recsSectioner =
         object : NotifSectioner("Recommendations", BUCKET_RECS) {
-            override fun isInSection(entry: ListEntry): Boolean {
+            override fun isInSection(entry: PipelineEntry): Boolean {
                 return entry.representativeEntry?.channel?.id == RECS_ID
             }
 
@@ -81,7 +81,7 @@
 
     val promoSectioner =
         object : NotifSectioner("Promotions", BUCKET_PROMO) {
-            override fun isInSection(entry: ListEntry): Boolean {
+            override fun isInSection(entry: PipelineEntry): Boolean {
                 return entry.representativeEntry?.channel?.id == PROMOTIONS_ID
             }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ColorizedFgsCoordinator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ColorizedFgsCoordinator.java
index 9df4bf4..afba85b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ColorizedFgsCoordinator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ColorizedFgsCoordinator.java
@@ -25,6 +25,7 @@
 
 import com.android.systemui.dagger.qualifiers.Application;
 import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 import com.android.systemui.statusbar.notification.collection.NotifPipeline;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope;
@@ -96,7 +97,7 @@
     private final NotifSectioner mNotifSectioner = new NotifSectioner("ColorizedSectioner",
             NotificationPriorityBucketKt.BUCKET_FOREGROUND_SERVICE) {
         @Override
-        public boolean isInSection(ListEntry entry) {
+        public boolean isInSection(PipelineEntry entry) {
             NotificationEntry notificationEntry = entry.getRepresentativeEntry();
             if (notificationEntry != null) {
                 return isRichOngoing(notificationEntry);
@@ -117,7 +118,7 @@
         private final NotifComparator mOngoingComparator = new NotifComparator(
                 "OngoingComparator") {
             @Override
-            public int compare(@NonNull ListEntry o1, @NonNull ListEntry o2) {
+            public int compare(@NonNull PipelineEntry o1, @NonNull PipelineEntry o2) {
                 return Integer.compare(
                         getSortKey(o1.getRepresentativeEntry()),
                         getSortKey(o2.getRepresentativeEntry())
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ConversationCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ConversationCoordinator.kt
index af2c197..248b528 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ConversationCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ConversationCoordinator.kt
@@ -16,7 +16,8 @@
 
 package com.android.systemui.statusbar.notification.collection.coordinator
 
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.GroupEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.SortBySectionTimeFlag
@@ -61,6 +62,7 @@
                         originalGroup == null -> null
                         originalGroup == promoted.parent -> null
                         originalGroup.parent == null -> null
+                        originalGroup !is GroupEntry -> summary.key
                         originalGroup.summary != summary -> null
                         originalGroup.children.any { it.channel == summary.channel } -> null
                         else -> summary.key
@@ -74,7 +76,7 @@
         override fun shouldPromoteToTopLevel(entry: NotificationEntry): Boolean {
             val shouldPromote = entry.channel?.isImportantConversation == true
             if (shouldPromote) {
-                val summary = entry.parent?.summary
+                val summary = (entry.parent as? GroupEntry)?.summary
                 if (summary != null && entry.channel == summary.channel) {
                     promotedEntriesToSummaryOfSameChannel[entry] = summary
                 }
@@ -85,14 +87,14 @@
 
     val priorityPeopleSectioner =
             object : NotifSectioner("Priority People", BUCKET_PRIORITY_PEOPLE) {
-                override fun isInSection(entry: ListEntry): Boolean {
+                override fun isInSection(entry: PipelineEntry): Boolean {
                     return getPeopleType(entry) == TYPE_IMPORTANT_PERSON
                 }
             }
 
     // TODO(b/330193582): Rename to just "People"
     val peopleAlertingSectioner = object : NotifSectioner("People(alerting)", BUCKET_PEOPLE) {
-        override fun isInSection(entry: ListEntry): Boolean  {
+        override fun isInSection(entry: PipelineEntry): Boolean  {
             if (SortBySectionTimeFlag.isEnabled) {
                 return highPriorityProvider.isHighPriorityConversation(entry)
                         || isConversation(entry)
@@ -111,7 +113,7 @@
     val peopleSilentSectioner = object : NotifSectioner("People(silent)", BUCKET_PEOPLE) {
         // Because the peopleAlertingSectioner is above this one, it will claim all conversations that are alerting.
         // All remaining conversations must be silent.
-        override fun isInSection(entry: ListEntry): Boolean {
+        override fun isInSection(entry: PipelineEntry): Boolean {
             SortBySectionTimeFlag.assertInLegacyMode()
             return isConversation(entry)
         }
@@ -132,17 +134,17 @@
         pipeline.addOnBeforeRenderListListener(onBeforeRenderListListener)
     }
 
-    private fun isConversation(entry: ListEntry): Boolean =
+    private fun isConversation(entry: PipelineEntry): Boolean =
             getPeopleType(entry) != TYPE_NON_PERSON
 
     @PeopleNotificationType
-    private fun getPeopleType(entry: ListEntry): Int =
+    private fun getPeopleType(entry: PipelineEntry): Int =
             entry.representativeEntry?.let {
                 peopleNotificationIdentifier.getPeopleNotificationType(it)
             } ?: TYPE_NON_PERSON
 
     private val notifComparator: NotifComparator = object : NotifComparator("People") {
-        override fun compare(entry1: ListEntry, entry2: ListEntry): Int {
+        override fun compare(entry1: PipelineEntry, entry2: PipelineEntry): Int {
             val type1 = getPeopleType(entry1)
             val type2 = getPeopleType(entry2)
             return type2.compareTo(type1)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/DataStoreCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/DataStoreCoordinator.kt
index 034a4fd..e4ec76c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/DataStoreCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/DataStoreCoordinator.kt
@@ -17,7 +17,7 @@
 package com.android.systemui.statusbar.notification.collection.coordinator
 
 import com.android.systemui.statusbar.notification.collection.GroupEntry
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotifLiveDataStoreImpl
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
@@ -43,12 +43,12 @@
         d.dump("notifLiveDataStoreImpl", notifLiveDataStoreImpl)
     }
 
-    private fun onAfterRenderList(entries: List<ListEntry>) {
+    private fun onAfterRenderList(entries: List<PipelineEntry>) {
         val flatEntryList = flattenedEntryList(entries)
         notifLiveDataStoreImpl.setActiveNotifList(flatEntryList)
     }
 
-    private fun flattenedEntryList(entries: List<ListEntry>) =
+    private fun flattenedEntryList(entries: List<PipelineEntry>) =
         mutableListOf<NotificationEntry>().also { list ->
             entries.forEach { entry ->
                 when (entry) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/DismissibilityCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/DismissibilityCoordinator.kt
index 0a9dddc..6bed0cf 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/DismissibilityCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/DismissibilityCoordinator.kt
@@ -17,7 +17,7 @@
 package com.android.systemui.statusbar.notification.collection.coordinator
 
 import com.android.systemui.statusbar.notification.collection.GroupEntry
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
 import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
 import com.android.systemui.statusbar.notification.collection.provider.NotificationDismissibilityProviderImpl
@@ -37,7 +37,7 @@
         pipeline.addOnBeforeRenderListListener(::onBeforeRenderListListener)
     }
 
-    private fun onBeforeRenderListListener(entries: List<ListEntry>) {
+    private fun onBeforeRenderListListener(entries: List<PipelineEntry>) {
         val isLocked = !keyguardStateController.isUnlocked
         val nonDismissableEntryKeys = mutableSetOf<String>()
         markNonDismissibleEntries(nonDismissableEntryKeys, entries, isLocked)
@@ -54,7 +54,7 @@
      */
     private fun markNonDismissibleEntries(
         markedKeys: MutableSet<String>,
-        entries: List<ListEntry>,
+        entries: List<PipelineEntry>,
         isLocked: Boolean
     ): Boolean {
         var anyNonDismissableEntries = false
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GroupCountCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GroupCountCoordinator.kt
index 02bf3b3..2f0701f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GroupCountCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GroupCountCoordinator.kt
@@ -18,7 +18,7 @@
 
 import android.util.ArrayMap
 import com.android.systemui.statusbar.notification.collection.GroupEntry
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
 import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
 import com.android.systemui.statusbar.notification.collection.render.NotifGroupController
@@ -34,7 +34,7 @@
         pipeline.addOnAfterRenderGroupListener(::onAfterRenderGroup)
     }
 
-    private fun onBeforeFinalizeFilter(entries: List<ListEntry>) {
+    private fun onBeforeFinalizeFilter(entries: List<PipelineEntry>) {
         // save untruncated child counts to our internal map
         untruncatedChildCounts.clear()
         entries.asSequence().filterIsInstance<GroupEntry>().forEach { groupEntry ->
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GroupWhenCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GroupWhenCoordinator.kt
index f253100..d0411b5 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GroupWhenCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GroupWhenCoordinator.kt
@@ -18,7 +18,7 @@
 import android.util.ArrayMap
 import com.android.systemui.dagger.qualifiers.Main
 import com.android.systemui.statusbar.notification.collection.GroupEntry
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
 import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
 import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.Invalidator
@@ -52,7 +52,7 @@
         pipeline.addPreRenderInvalidator(invalidator)
     }
 
-    private fun onBeforeFinalizeFilterListener(entries: List<ListEntry>) {
+    private fun onBeforeFinalizeFilterListener(entries: List<PipelineEntry>) {
         cancelListInvalidation()
         notificationGroupTimes.clear()
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GutsCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GutsCoordinator.kt
index b200136..9045aac 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GutsCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/GutsCoordinator.kt
@@ -18,7 +18,7 @@
 import android.util.ArraySet
 import com.android.systemui.Dumpable
 import com.android.systemui.dump.DumpManager
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
@@ -113,7 +113,7 @@
         }
     }
 
-    private fun isCurrentlyShowingGuts(entry: ListEntry) =
+    private fun isCurrentlyShowingGuts(entry: PipelineEntry) =
             notifsWithOpenGuts.contains(entry.key)
 
     private fun closeGutsAndEndLifetimeExtension(entry: NotificationEntry) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/HeadsUpCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/HeadsUpCoordinator.kt
index eb5a370..611e0ef 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/HeadsUpCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/HeadsUpCoordinator.kt
@@ -27,7 +27,7 @@
 import com.android.systemui.statusbar.chips.notification.shared.StatusBarNotifChips
 import com.android.systemui.statusbar.notification.NotifPipelineFlags
 import com.android.systemui.statusbar.notification.collection.GroupEntry
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotifCollection
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
@@ -103,7 +103,7 @@
         mNotifPipeline = pipeline
         mHeadsUpManager.addListener(mOnHeadsUpChangedListener)
         pipeline.addCollectionListener(mNotifCollectionListener)
-        pipeline.addOnBeforeTransformGroupsListener(::onBeforeTransformGroups)
+        pipeline.addOnBeforeTransformGroupsListener { onBeforeTransformGroups() }
         pipeline.addOnBeforeFinalizeFilterListener(::onBeforeFinalizeFilter)
         pipeline.addPromoter(mNotifPromoter)
         pipeline.addNotificationLifetimeExtender(mLifetimeExtender)
@@ -170,7 +170,7 @@
      * Once the pipeline starts running, we can look through posted entries and quickly process any
      * that don't have groups, and thus will never gave a group heads up edge case.
      */
-    fun onBeforeTransformGroups(list: List<ListEntry>) {
+    fun onBeforeTransformGroups() {
         mNow = mSystemClock.currentTimeMillis()
         if (mPostedEntries.isEmpty()) {
             return
@@ -191,7 +191,7 @@
      * we know that stability and [NotifPromoter]s have been applied, so we can use the location of
      * notifications in this list to determine what kind of group heads up behavior should happen.
      */
-    fun onBeforeFinalizeFilter(list: List<ListEntry>) =
+    fun onBeforeFinalizeFilter(list: List<PipelineEntry>) =
         mHeadsUpManager.modifyHuns { hunMutator ->
             // Nothing to do if there are no other adds/updates
             if (mPostedEntries.isEmpty()) {
@@ -410,7 +410,7 @@
             )
             .firstOrNull()
 
-    private fun getGroupLocationsByKey(list: List<ListEntry>): Map<String, GroupLocation> =
+    private fun getGroupLocationsByKey(list: List<PipelineEntry>): Map<String, GroupLocation> =
         mutableMapOf<String, GroupLocation>().also { map ->
             list.forEach { topLevelEntry ->
                 when (topLevelEntry) {
@@ -833,13 +833,13 @@
 
     val sectioner =
         object : NotifSectioner("HeadsUp", BUCKET_HEADS_UP) {
-            override fun isInSection(entry: ListEntry): Boolean =
+            override fun isInSection(entry: PipelineEntry): Boolean =
                 // TODO: This check won't notice if a child of the group is going to HUN...
                 isGoingToShowHunNoRetract(entry)
 
             override fun getComparator(): NotifComparator {
                 return object : NotifComparator("HeadsUp") {
-                    override fun compare(o1: ListEntry, o2: ListEntry): Int =
+                    override fun compare(o1: PipelineEntry, o2: PipelineEntry): Int =
                         mHeadsUpManager.compare(o1.representativeEntry, o2.representativeEntry)
                 }
             }
@@ -867,7 +867,7 @@
 
     private fun isSticky(entry: NotificationEntry) = mHeadsUpManager.isSticky(entry.key)
 
-    private fun isEntryBinding(entry: ListEntry): Boolean {
+    private fun isEntryBinding(entry: PipelineEntry): Boolean {
         val bindingUntil = mEntriesBindingUntil[entry.key]
         return bindingUntil != null && bindingUntil >= mNow
     }
@@ -875,12 +875,12 @@
     /**
      * Whether the notification is already heads up or binding so that it can imminently heads up
      */
-    private fun isAttemptingToShowHun(entry: ListEntry) =
+    private fun isAttemptingToShowHun(entry: PipelineEntry) =
         mHeadsUpManager.isHeadsUpEntry(entry.key) ||
             isEntryBinding(entry) ||
             isHeadsUpAnimatingAway(entry)
 
-    private fun isHeadsUpAnimatingAway(entry: ListEntry): Boolean {
+    private fun isHeadsUpAnimatingAway(entry: PipelineEntry): Boolean {
         if (!GroupHunAnimationFix.isEnabled) return false
         return entry.representativeEntry?.row?.isHeadsUpAnimatingAway ?: false
     }
@@ -891,7 +891,7 @@
      * returns `true` even if the update would (in isolation of its group) cause the heads up to be
      * retracted. This is important for not retracting transferred group heads ups.
      */
-    private fun isGoingToShowHunNoRetract(entry: ListEntry) =
+    private fun isGoingToShowHunNoRetract(entry: PipelineEntry) =
         mPostedEntries[entry.key]?.calculateShouldBeHeadsUpNoRetract ?: isAttemptingToShowHun(entry)
 
     /**
@@ -900,7 +900,7 @@
      * strict because any update which would revoke the heads up supersedes the current heads
      * up/binding state.
      */
-    private fun isGoingToShowHunStrict(entry: ListEntry) =
+    private fun isGoingToShowHunStrict(entry: PipelineEntry) =
         mPostedEntries[entry.key]?.calculateShouldBeHeadsUpStrict ?: isAttemptingToShowHun(entry)
 
     private fun endNotifLifetimeExtensionIfExtended(entry: NotificationEntry) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/LockScreenMinimalismCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/LockScreenMinimalismCoordinator.kt
index e232849..56deb18 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/LockScreenMinimalismCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/LockScreenMinimalismCoordinator.kt
@@ -27,7 +27,7 @@
 import com.android.systemui.shade.domain.interactor.ShadeInteractor
 import com.android.systemui.statusbar.StatusBarState
 import com.android.systemui.statusbar.notification.collection.GroupEntry
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
@@ -176,7 +176,7 @@
             }
         }
 
-    private fun pickOutTopUnseenNotifs(list: List<ListEntry>) {
+    private fun pickOutTopUnseenNotifs(list: List<PipelineEntry>) {
         if (NotificationMinimalism.isUnexpectedlyInLegacyMode()) return
         if (!minimalismEnabled) return
         // Only ever elevate a top unseen notification on keyguard, not even locked shade
@@ -224,7 +224,7 @@
 
     val topOngoingSectioner =
         object : NotifSectioner("TopOngoing", BUCKET_TOP_ONGOING) {
-            override fun isInSection(entry: ListEntry): Boolean {
+            override fun isInSection(entry: PipelineEntry): Boolean {
                 if (NotificationMinimalism.isUnexpectedlyInLegacyMode()) return false
                 if (!minimalismEnabled) return false
                 return entry.anyEntry { notificationEntry ->
@@ -235,7 +235,7 @@
 
     val topUnseenSectioner =
         object : NotifSectioner("TopUnseen", BUCKET_TOP_UNSEEN) {
-            override fun isInSection(entry: ListEntry): Boolean {
+            override fun isInSection(entry: PipelineEntry): Boolean {
                 if (NotificationMinimalism.isUnexpectedlyInLegacyMode()) return false
                 if (!minimalismEnabled) return false
                 return entry.anyEntry { notificationEntry ->
@@ -244,7 +244,7 @@
             }
         }
 
-    private fun ListEntry.anyEntry(predicate: (NotificationEntry?) -> Boolean) =
+    private fun PipelineEntry.anyEntry(predicate: (NotificationEntry?) -> Boolean) =
         when {
             predicate(representativeEntry) -> true
             this !is GroupEntry -> false
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/OriginalUnseenKeyguardCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/OriginalUnseenKeyguardCoordinator.kt
index de6f257..660ee40 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/OriginalUnseenKeyguardCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/OriginalUnseenKeyguardCoordinator.kt
@@ -30,6 +30,7 @@
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.statusbar.expansionChanges
+import com.android.systemui.statusbar.notification.collection.GroupEntry
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
@@ -313,7 +314,7 @@
                     unseenNotifications.contains(entry) -> false
                     // Don't apply the filter to (non-promoted) group summaries
                     //  - summary will be pruned if necessary, depending on if children are filtered
-                    entry.parent?.summary == entry -> false
+                    (entry.parent as? GroupEntry)?.summary == entry -> false
                     // Check that the entry satisfies certain characteristics that would bypass the
                     // filter
                     shouldIgnoreUnseenCheck(entry) -> false
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java
index 2ecce1f..20c6736 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/PreparationCoordinator.java
@@ -35,7 +35,7 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.statusbar.IStatusBarService;
 import com.android.systemui.statusbar.notification.collection.GroupEntry;
-import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 import com.android.systemui.statusbar.notification.collection.NotifPipeline;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 import com.android.systemui.statusbar.notification.collection.ShadeListBuilder;
@@ -232,9 +232,10 @@
          */
         @Override
         public boolean shouldFilterOut(NotificationEntry entry, long now) {
-            final GroupEntry parent = requireNonNull(entry.getParent());
-            Boolean isMemberOfDelayedGroup = mIsDelayedGroupCache.get(parent);
-            if (isMemberOfDelayedGroup == null) {
+            final PipelineEntry pipelineEntryParent = requireNonNull(entry.getParent());
+            Boolean isMemberOfDelayedGroup = mIsDelayedGroupCache.get(pipelineEntryParent);
+            if (isMemberOfDelayedGroup == null && pipelineEntryParent instanceof GroupEntry) {
+                GroupEntry parent = (GroupEntry) pipelineEntryParent;
                 isMemberOfDelayedGroup = shouldWaitForGroupToInflate(parent, now);
                 mIsDelayedGroupCache.put(parent, isMemberOfDelayedGroup);
             }
@@ -279,7 +280,7 @@
         }
     };
 
-    private void purgeCaches(Collection<ListEntry> entries) {
+    private void purgeCaches(Collection<PipelineEntry> entries) {
         Set<String> wantedPackages = getPackages(entries);
         mAppIconProvider.purgeCache(wantedPackages);
         mNotificationIconStyleProvider.purgeCache(wantedPackages);
@@ -288,9 +289,9 @@
     /**
      * Get all app packages present in {@param entries}.
      */
-    private static @NonNull Set<String> getPackages(Collection<ListEntry> entries) {
+    private static @NonNull Set<String> getPackages(Collection<PipelineEntry> entries) {
         Set<String> packages = new HashSet<>();
-        for (ListEntry entry : entries) {
+        for (PipelineEntry entry : entries) {
             NotificationEntry notificationEntry = entry.getRepresentativeEntry();
             if (notificationEntry == null) {
                 Log.wtf(TAG, "notification entry " + entry.getKey()
@@ -302,9 +303,9 @@
         return packages;
     }
 
-    private void inflateAllRequiredViews(List<ListEntry> entries) {
+    private void inflateAllRequiredViews(List<PipelineEntry> entries) {
         for (int i = 0, size = entries.size(); i < size; i++) {
-            ListEntry entry = entries.get(i);
+            PipelineEntry entry = entries.get(i);
             if (entry instanceof GroupEntry) {
                 GroupEntry groupEntry = (GroupEntry) entry;
                 inflateRequiredGroupViews(groupEntry);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RankingCoordinator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RankingCoordinator.java
index 69b069d..d1063d9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RankingCoordinator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RankingCoordinator.java
@@ -20,7 +20,7 @@
 import android.annotation.Nullable;
 
 import com.android.systemui.plugins.statusbar.StatusBarStateController;
-import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 import com.android.systemui.statusbar.notification.collection.NotifPipeline;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope;
@@ -97,7 +97,7 @@
     private final NotifSectioner mAlertingNotifSectioner = new NotifSectioner("Alerting",
             NotificationPriorityBucketKt.BUCKET_ALERTING) {
         @Override
-        public boolean isInSection(ListEntry entry) {
+        public boolean isInSection(PipelineEntry entry) {
             return mHighPriorityProvider.isHighPriority(entry);
         }
 
@@ -115,8 +115,9 @@
     private final NotifSectioner mSilentNotifSectioner = new NotifSectioner("Silent",
             NotificationPriorityBucketKt.BUCKET_SILENT) {
         @Override
-        public boolean isInSection(ListEntry entry) {
+        public boolean isInSection(PipelineEntry entry) {
             return !mHighPriorityProvider.isHighPriority(entry)
+                    && entry.getRepresentativeEntry() != null
                     && !entry.getRepresentativeEntry().isAmbient();
         }
 
@@ -128,7 +129,7 @@
 
         @Nullable
         @Override
-        public void onEntriesUpdated(@NonNull List<ListEntry> entries) {
+        public void onEntriesUpdated(@NonNull List<PipelineEntry> entries) {
             mHasSilentEntries = false;
             for (int i = 0; i < entries.size(); i++) {
                 if (entries.get(i).getRepresentativeEntry().getSbn().isClearable()) {
@@ -144,7 +145,7 @@
     private final NotifSectioner mMinimizedNotifSectioner = new NotifSectioner("Minimized",
             NotificationPriorityBucketKt.BUCKET_SILENT) {
         @Override
-        public boolean isInSection(ListEntry entry) {
+        public boolean isInSection(PipelineEntry entry) {
             return !mHighPriorityProvider.isHighPriority(entry)
                     && entry.getRepresentativeEntry().isAmbient();
         }
@@ -157,7 +158,7 @@
 
         @Nullable
         @Override
-        public void onEntriesUpdated(@NonNull List<ListEntry> entries) {
+        public void onEntriesUpdated(@NonNull List<PipelineEntry> entries) {
             mHasMinimizedEntries = false;
             for (int i = 0; i < entries.size(); i++) {
                 if (entries.get(i).getRepresentativeEntry().getSbn().isClearable()) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RowAlertTimeCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RowAlertTimeCoordinator.kt
index 4a7b7ca..930e52a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RowAlertTimeCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RowAlertTimeCoordinator.kt
@@ -17,7 +17,7 @@
 
 import android.util.ArrayMap
 import com.android.systemui.statusbar.notification.collection.GroupEntry
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
@@ -39,7 +39,7 @@
         pipeline.addOnAfterRenderEntryListener(::onAfterRenderEntry)
     }
 
-    private fun onBeforeFinalizeFilterListener(entries: List<ListEntry>) {
+    private fun onBeforeFinalizeFilterListener(entries: List<PipelineEntry>) {
         latestAlertTimeBySummary.clear()
         entries.asSequence().filterIsInstance<GroupEntry>().forEach { groupEntry ->
             val summary = checkNotNull(groupEntry.summary)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RowAppearanceCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RowAppearanceCoordinator.kt
index df8e56e..a987c54 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RowAppearanceCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/RowAppearanceCoordinator.kt
@@ -20,7 +20,7 @@
 import com.android.systemui.res.R
 import com.android.systemui.shade.ShadeDisplayAware
 import com.android.systemui.statusbar.notification.AssistantFeedbackController
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
@@ -63,7 +63,7 @@
         pipeline.addOnAfterRenderEntryListener(::onAfterRenderEntry)
     }
 
-    private fun onBeforeRenderList(list: List<ListEntry>) {
+    private fun onBeforeRenderList(list: List<PipelineEntry>) {
         entryToExpand =
             list.firstOrNull()?.representativeEntry?.takeIf { entry ->
                 !mSectionStyleProvider.isMinimizedSection(entry.section!!)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/SensitiveContentCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/SensitiveContentCoordinator.kt
index 90916d1..db24e7d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/SensitiveContentCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/SensitiveContentCoordinator.kt
@@ -32,7 +32,7 @@
 import com.android.systemui.statusbar.StatusBarState
 import com.android.systemui.statusbar.notification.DynamicPrivacyController
 import com.android.systemui.statusbar.notification.collection.GroupEntry
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
@@ -155,7 +155,7 @@
             }
         }
 
-    override fun onBeforeRenderList(entries: List<ListEntry>) {
+    override fun onBeforeRenderList(entries: List<PipelineEntry>) {
         if (
             isKeyguardGoingAway ||
                 statusBarStateController.state == StatusBarState.KEYGUARD &&
@@ -220,13 +220,15 @@
     }
 }
 
-private fun extractAllRepresentativeEntries(entries: List<ListEntry>): Sequence<NotificationEntry> =
+private fun extractAllRepresentativeEntries(entries: List<PipelineEntry>): Sequence<NotificationEntry> =
     entries.asSequence().flatMap(::extractAllRepresentativeEntries)
 
-private fun extractAllRepresentativeEntries(listEntry: ListEntry): Sequence<NotificationEntry> =
+private fun extractAllRepresentativeEntries(
+    pipelineEntry: PipelineEntry,
+): Sequence<NotificationEntry> =
     sequence {
-        listEntry.representativeEntry?.let { yield(it) }
-        if (listEntry is GroupEntry) {
-            yieldAll(extractAllRepresentativeEntries(listEntry.children))
+        pipelineEntry.representativeEntry?.let { yield(it) }
+        if (pipelineEntry is GroupEntry) {
+            yieldAll(extractAllRepresentativeEntries(pipelineEntry.children))
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ShadeEventCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ShadeEventCoordinator.kt
index 1c66db7..29a8eb0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ShadeEventCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/ShadeEventCoordinator.kt
@@ -19,7 +19,7 @@
 import android.service.notification.NotificationListenerService
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.dagger.qualifiers.Main
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.notifcollection.NotifCollectionListener
@@ -67,7 +67,7 @@
         mShadeEmptiedCallback = callback
     }
 
-    private fun onBeforeRenderList(entries: List<ListEntry>) {
+    private fun onBeforeRenderList(entries: List<PipelineEntry>) {
         if (mEntryRemoved && entries.isEmpty()) {
             mLogger.logShadeEmptied()
             // TODO(b/206023518): This was bad. Do not copy this.
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/StackCoordinator.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/StackCoordinator.kt
index 1cb2366..53a73f4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/StackCoordinator.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/StackCoordinator.kt
@@ -19,7 +19,7 @@
 import com.android.app.tracing.traceSection
 import com.android.server.notification.Flags.screenshareNotificationHiding
 import com.android.systemui.Flags.screenshareNotificationHidingBugFix
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotifPipeline
 import com.android.systemui.statusbar.notification.collection.coordinator.dagger.CoordinatorScope
 import com.android.systemui.statusbar.notification.collection.render.GroupExpansionManagerImpl
@@ -50,14 +50,14 @@
         groupExpansionManagerImpl.attach(pipeline)
     }
 
-    private fun onAfterRenderList(entries: List<ListEntry>) =
+    private fun onAfterRenderList(entries: List<PipelineEntry>) =
         traceSection("StackCoordinator.onAfterRenderList") {
             val notifStats = calculateNotifStats(entries)
             activeNotificationsInteractor.setNotifStats(notifStats)
             renderListInteractor.setRenderedList(entries)
         }
 
-    private fun calculateNotifStats(entries: List<ListEntry>): NotifStats {
+    private fun calculateNotifStats(entries: List<PipelineEntry>): NotifStats {
         var hasNonClearableAlertingNotifs = false
         var hasClearableAlertingNotifs = false
         var hasNonClearableSilentNotifs = false
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinator.java
index 49d5029..3e5655a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/VisualStabilityCoordinator.java
@@ -39,7 +39,7 @@
 import com.android.systemui.shade.domain.interactor.ShadeInteractor;
 import com.android.systemui.statusbar.notification.VisibilityLocationProvider;
 import com.android.systemui.statusbar.notification.collection.GroupEntry;
-import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 import com.android.systemui.statusbar.notification.collection.NotifPipeline;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeRenderListListener;
@@ -253,21 +253,20 @@
                         return false;
                     }
 
-                    final GroupEntry parent = entry.getParent();
+                    final PipelineEntry parent = entry.getParent();
 
                     if (parent == null) {
                         return false;
                     }
-
                     return isHeadsUpGroup(parent);
                 }
 
-                private boolean isHeadsUpGroup(GroupEntry groupEntry) {
-                    if (StabilizeHeadsUpGroup.isUnexpectedlyInLegacyMode()) {
+                private boolean isHeadsUpGroup(PipelineEntry pipelineEntry) {
+                    if (!(pipelineEntry instanceof GroupEntry groupEntry)) {
                         return false;
                     }
 
-                    if (groupEntry == null) {
+                    if (StabilizeHeadsUpGroup.isUnexpectedlyInLegacyMode()) {
                         return false;
                     }
 
@@ -370,7 +369,7 @@
                 }
 
                 @Override
-                public boolean isEntryReorderingAllowed(@NonNull ListEntry entry) {
+                public boolean isEntryReorderingAllowed(@NonNull PipelineEntry entry) {
                     if (StabilizeHeadsUpGroup.isEnabled()) {
                         if (isEveryChangeAllowed()) {
                             return true;
@@ -403,7 +402,7 @@
     private final OnBeforeRenderListListener mOnBeforeRenderListListener =
             new OnBeforeRenderListListener() {
                 @Override
-                public void onBeforeRenderList(List<ListEntry> entries) {
+                public void onBeforeRenderList(List<PipelineEntry> entries) {
                     if (StabilizeHeadsUpGroup.isUnexpectedlyInLegacyMode()) {
                         return;
                     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotifUiAdjustmentProvider.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotifUiAdjustmentProvider.kt
index 465bc28..adcc3ec 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotifUiAdjustmentProvider.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/inflation/NotifUiAdjustmentProvider.kt
@@ -124,7 +124,7 @@
         val parent = entry.parent ?: error("Entry must have a parent to determine if minimized")
         val isMinimizedSection = sectionStyleProvider.isMinimizedSection(section)
         val isTopLevelEntry = parent == GroupEntry.ROOT_ENTRY
-        val isGroupSummary = parent.summary == entry
+        val isGroupSummary = (parent as? GroupEntry)?.summary == entry
         return isMinimizedSection && (isTopLevelEntry || isGroupSummary)
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnAfterRenderListListener.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnAfterRenderListListener.java
index ac450c0..e3ab81c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnAfterRenderListListener.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnAfterRenderListListener.java
@@ -18,7 +18,7 @@
 
 import androidx.annotation.NonNull;
 
-import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 import com.android.systemui.statusbar.notification.collection.NotifPipeline;
 
 import java.util.List;
@@ -31,5 +31,5 @@
      * @param entries The current list of top-level entries. Note that this is a live view into the
      * current list and will change whenever the pipeline is rerun.
      */
-    void onAfterRenderList(@NonNull List<ListEntry> entries);
+    void onAfterRenderList(@NonNull List<PipelineEntry> entries);
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeFinalizeFilterListener.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeFinalizeFilterListener.java
index 086661e..3c4f422 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeFinalizeFilterListener.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeFinalizeFilterListener.java
@@ -16,7 +16,7 @@
 
 package com.android.systemui.statusbar.notification.collection.listbuilder;
 
-import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 import com.android.systemui.statusbar.notification.collection.NotifPipeline;
 
 import java.util.List;
@@ -30,5 +30,5 @@
      * @param entries The current list of top-level entries. Note that this is a live view into the
      *                current list and will change whenever the pipeline is rerun.
      */
-    void onBeforeFinalizeFilter(List<ListEntry> entries);
+    void onBeforeFinalizeFilter(List<PipelineEntry> entries);
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeRenderListListener.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeRenderListListener.java
index 44a27a4..6ceb7d5 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeRenderListListener.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeRenderListListener.java
@@ -16,7 +16,7 @@
 
 package com.android.systemui.statusbar.notification.collection.listbuilder;
 
-import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 import com.android.systemui.statusbar.notification.collection.NotifPipeline;
 
 import java.util.List;
@@ -30,5 +30,5 @@
      * @param entries The current list of top-level entries. Note that this is a live view into the
      *                current list and will change whenever the pipeline is rerun.
      */
-    void onBeforeRenderList(List<ListEntry> entries);
+    void onBeforeRenderList(List<PipelineEntry> entries);
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeSortListener.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeSortListener.java
index 56cfe5c..858cec1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeSortListener.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeSortListener.java
@@ -16,7 +16,7 @@
 
 package com.android.systemui.statusbar.notification.collection.listbuilder;
 
-import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 import com.android.systemui.statusbar.notification.collection.NotifPipeline;
 
 import java.util.List;
@@ -30,5 +30,5 @@
      * @param entries The current list of top-level entries. Note that this is a live view into the
      *                current list and will change whenever the pipeline is rerun.
      */
-    void onBeforeSort(List<ListEntry> entries);
+    void onBeforeSort(List<PipelineEntry> entries);
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeTransformGroupsListener.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeTransformGroupsListener.java
index 0dc4df0..eb525c7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeTransformGroupsListener.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/OnBeforeTransformGroupsListener.java
@@ -16,7 +16,7 @@
 
 package com.android.systemui.statusbar.notification.collection.listbuilder;
 
-import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 import com.android.systemui.statusbar.notification.collection.NotifPipeline;
 import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifPromoter;
 
@@ -35,5 +35,5 @@
      *             a live view into the current notif list and will change as the list moves through
      *             the pipeline.
      */
-    void onBeforeTransformGroups(List<ListEntry> list);
+    void onBeforeTransformGroups(List<PipelineEntry> list);
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/ShadeListBuilderHelper.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/ShadeListBuilderHelper.kt
index d8f75f6..0d8a64a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/ShadeListBuilderHelper.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/ShadeListBuilderHelper.kt
@@ -16,10 +16,10 @@
 
 package com.android.systemui.statusbar.notification.collection.listbuilder
 
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 
 object ShadeListBuilderHelper {
-    fun getSectionSubLists(entries: List<ListEntry>): Iterable<List<ListEntry>> =
+    fun getSectionSubLists(entries: List<PipelineEntry>): Iterable<List<PipelineEntry>> =
         getContiguousSubLists(entries, minLength = 1) { it.sectionIndex }
 
     inline fun <T : Any, K : Any> getContiguousSubLists(
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/ShadeListBuilderLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/ShadeListBuilderLogger.kt
index a8409d0c..8a9548f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/ShadeListBuilderLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/ShadeListBuilderLogger.kt
@@ -23,7 +23,7 @@
 import com.android.systemui.log.core.LogLevel.WARNING
 import com.android.systemui.statusbar.notification.NotifPipelineFlags
 import com.android.systemui.statusbar.notification.collection.GroupEntry
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.listbuilder.PipelineState.StateName
 import com.android.systemui.statusbar.notification.collection.listbuilder.PipelineState.getStateName
@@ -152,9 +152,9 @@
 
     fun logEntryAttachStateChanged(
         buildId: Int,
-        entry: ListEntry,
-        prevParent: GroupEntry?,
-        newParent: GroupEntry?
+        entry: PipelineEntry,
+        prevParent: PipelineEntry?,
+        newParent: PipelineEntry?
     ) {
         buffer.log(TAG, INFO, {
             long1 = buildId.toLong()
@@ -177,7 +177,7 @@
         })
     }
 
-    fun logParentChanged(buildId: Int, prevParent: GroupEntry?, newParent: GroupEntry?) {
+    fun logParentChanged(buildId: Int, prevParent: PipelineEntry?, newParent: PipelineEntry?) {
         buffer.log(TAG, INFO, {
             long1 = buildId.toLong()
             str1 = prevParent?.logKey
@@ -195,8 +195,8 @@
 
     fun logParentChangeSuppressedStarted(
         buildId: Int,
-        suppressedParent: GroupEntry?,
-        keepingParent: GroupEntry?
+        suppressedParent: PipelineEntry?,
+        keepingParent: PipelineEntry?
     ) {
         buffer.log(TAG, INFO, {
             long1 = buildId.toLong()
@@ -209,8 +209,8 @@
 
     fun logParentChangeSuppressedStopped(
             buildId: Int,
-            previouslySuppressedParent: GroupEntry?,
-            previouslyKeptParent: GroupEntry?
+            previouslySuppressedParent: PipelineEntry?,
+            previouslyKeptParent: PipelineEntry?
     ) {
         buffer.log(TAG, INFO, {
             long1 = buildId.toLong()
@@ -224,7 +224,7 @@
 
     fun logGroupPruningSuppressed(
         buildId: Int,
-        keepingParent: GroupEntry?
+        keepingParent: PipelineEntry?
     ) {
         buffer.log(TAG, INFO, {
             long1 = buildId.toLong()
@@ -310,7 +310,7 @@
 
     val logRankInFinalList = Compile.IS_DEBUG && notifPipelineFlags.isDevLoggingEnabled()
 
-    fun logFinalList(entries: List<ListEntry>) {
+    fun logFinalList(entries: List<PipelineEntry>) {
         if (entries.isEmpty()) {
             buffer.log(TAG, DEBUG, {}, { "(empty list)" })
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/NotifComparator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/NotifComparator.java
index f7bbd28..f7c74c2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/NotifComparator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/NotifComparator.java
@@ -18,7 +18,7 @@
 
 import androidx.annotation.NonNull;
 
-import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 import com.android.systemui.statusbar.notification.collection.NotifPipeline;
 
 import java.util.Comparator;
@@ -29,7 +29,7 @@
  */
 public abstract class NotifComparator
         extends Pluggable<NotifComparator>
-        implements Comparator<ListEntry> {
+        implements Comparator<PipelineEntry> {
 
     protected NotifComparator(String name) {
         super(name);
@@ -41,5 +41,5 @@
      * @return a negative integer, zero, or a positive integer as the first argument is less than
      *      equal to, or greater than the second (same as standard Comparator<> interface).
      */
-    public abstract int compare(@NonNull ListEntry o1, @NonNull ListEntry o2);
+    public abstract int compare(@NonNull PipelineEntry o1, @NonNull PipelineEntry o2);
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/NotifSectioner.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/NotifSectioner.java
index 8c52c53..4a856a5 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/NotifSectioner.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/NotifSectioner.java
@@ -18,7 +18,7 @@
 
 import android.annotation.Nullable;
 
-import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 import com.android.systemui.statusbar.notification.collection.ShadeListBuilder;
 import com.android.systemui.statusbar.notification.collection.render.NodeController;
 import com.android.systemui.statusbar.notification.collection.render.NodeSpec;
@@ -52,11 +52,11 @@
      * However, this doesn't necessarily mean that your section will get called on each top-level
      * notification. The first section to return true determines the section of the notification.
      */
-    public abstract boolean isInSection(ListEntry entry);
+    public abstract boolean isInSection(PipelineEntry entry);
 
     /**
      * Returns an optional {@link NotifComparator} to sort entries only in this section.
-     * {@link ListEntry} instances passed to this comparator are guaranteed to have this section,
+     * {@link PipelineEntry} instances passed to this comparator are guaranteed to have this section,
      * and this ordering will take precedence over any global comparators supplied to {@link
      * com.android.systemui.statusbar.notification.collection.NotifPipeline#setComparators(List)}.
      *
@@ -80,5 +80,5 @@
      * Notify of children of this section being updated
      * @param entries of this section that are borrowed (must clone to store)
      */
-    public void onEntriesUpdated(List<ListEntry> entries) {}
+    public void onEntriesUpdated(List<PipelineEntry> entries) {}
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/NotifStabilityManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/NotifStabilityManager.kt
index 58bbca8..e1e2bcf 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/NotifStabilityManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/listbuilder/pluggable/NotifStabilityManager.kt
@@ -16,7 +16,7 @@
 package com.android.systemui.statusbar.notification.collection.listbuilder.pluggable
 
 import com.android.systemui.statusbar.notification.collection.GroupEntry
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 
 /**
@@ -75,7 +75,7 @@
      * being suppressed. However, if an order change is suppressed, that will be reported to ths
      * implementation by calling [onEntryReorderSuppressed] after ordering is complete.
      */
-    abstract fun isEntryReorderingAllowed(entry: ListEntry): Boolean
+    abstract fun isEntryReorderingAllowed(entry: PipelineEntry): Boolean
 
     /**
      * Called by the pipeline to determine if every call to the other stability methods would
@@ -100,7 +100,7 @@
     override fun isGroupChangeAllowed(entry: NotificationEntry): Boolean = true
     override fun isGroupPruneAllowed(entry: GroupEntry): Boolean = true
     override fun isSectionChangeAllowed(entry: NotificationEntry): Boolean = true
-    override fun isEntryReorderingAllowed(entry: ListEntry): Boolean = true
+    override fun isEntryReorderingAllowed(entry: PipelineEntry): Boolean = true
     override fun isEveryChangeAllowed(): Boolean = true
     override fun onEntryReorderSuppressed() {}
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionLogger.kt
index 014ac54..ae2c70a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionLogger.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/notifcollection/NotifCollectionLogger.kt
@@ -27,6 +27,7 @@
 import com.android.systemui.log.core.LogLevel.INFO
 import com.android.systemui.log.core.LogLevel.WARNING
 import com.android.systemui.log.core.LogLevel.WTF
+import com.android.systemui.statusbar.notification.collection.GroupEntry
 import com.android.systemui.statusbar.notification.collection.NotifCollection
 import com.android.systemui.statusbar.notification.collection.NotifCollection.CancellationReason
 import com.android.systemui.statusbar.notification.collection.NotifCollection.FutureDismissal
@@ -421,6 +422,14 @@
         })
     }
 
+    private fun getParentLogKey(childEntry: NotificationEntry): String {
+        return if (childEntry.parent is GroupEntry) {
+            (childEntry.parent as? GroupEntry)?.summary?.logKey ?: "(null)"
+        } else {
+            "(null)"
+        }
+    }
+
     fun logDismissAlreadyParentDismissedNotif(
             childEntry: NotificationEntry,
             childIndex: Int,
@@ -430,7 +439,7 @@
             str1 = childEntry.logKey
             int1 = childIndex
             int2 = childCount
-            str2 = childEntry.parent?.summary?.logKey ?: "(null)"
+            str2 = getParentLogKey(childEntry)
         }, {
             "DISMISS Already Parent-Dismissed $str1 ($int1/$int2) with summary $str2"
         })
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/HighPriorityProvider.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/HighPriorityProvider.java
index 2e3ab92..051bd3a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/HighPriorityProvider.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/HighPriorityProvider.java
@@ -23,7 +23,7 @@
 
 import com.android.systemui.dagger.SysUISingleton;
 import com.android.systemui.statusbar.notification.collection.GroupEntry;
-import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager;
 import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier;
@@ -53,7 +53,7 @@
     }
 
     /**
-     * @return true if the ListEntry is high priority, else false
+     * @return true if the PipelineEntry is high priority, else false
      *
      * A NotificationEntry is considered high priority if it:
      *  - has importance greater than or equal to IMPORTANCE_DEFAULT
@@ -67,12 +67,12 @@
      * A GroupEntry is considered high priority if its representativeEntry (summary) or any of its
      * children are high priority.
      */
-    public boolean isHighPriority(@Nullable ListEntry entry) {
+    public boolean isHighPriority(@Nullable PipelineEntry entry) {
         return isHighPriority(entry, /* allowImplicit = */ true);
     }
 
     /**
-     * @return true if the ListEntry is explicitly high priority, else false
+     * @return true if the PipelineEntry is explicitly high priority, else false
      *
      * A NotificationEntry is considered explicitly high priority if has importance greater than or
      * equal to IMPORTANCE_DEFAULT.
@@ -80,11 +80,11 @@
      * A GroupEntry is considered explicitly high priority if its representativeEntry (summary) or
      * any of its children are explicitly high priority.
      */
-    public boolean isExplicitlyHighPriority(@Nullable ListEntry entry) {
+    public boolean isExplicitlyHighPriority(@Nullable PipelineEntry entry) {
         return isHighPriority(entry, /* allowImplicit= */ false);
     }
 
-    private boolean isHighPriority(@Nullable ListEntry entry, boolean allowImplicit) {
+    private boolean isHighPriority(@Nullable PipelineEntry entry, boolean allowImplicit) {
         if (entry == null) {
             return false;
         }
@@ -100,9 +100,9 @@
     }
 
     /**
-     * @return true if the ListEntry is high priority conversation, else false
+     * @return true if the PipelineEntry is high priority conversation, else false
      */
-    public boolean isHighPriorityConversation(@NonNull ListEntry entry) {
+    public boolean isHighPriorityConversation(@NonNull PipelineEntry entry) {
         final NotificationEntry notifEntry = entry.getRepresentativeEntry();
         if (notifEntry == null) {
             return  false;
@@ -119,7 +119,7 @@
         return isNotificationEntryWithAtLeastOneImportantChild(entry);
     }
 
-    private boolean isNotificationEntryWithAtLeastOneImportantChild(@NonNull ListEntry entry) {
+    private boolean isNotificationEntryWithAtLeastOneImportantChild(@NonNull PipelineEntry entry) {
         if (!(entry instanceof GroupEntry)) {
             return false;
         }
@@ -134,7 +134,7 @@
      * Returns whether the given ListEntry has a high priority child or is in a group with a child
      * that's high priority
      */
-    private boolean hasHighPriorityChild(ListEntry entry, boolean allowImplicit) {
+    private boolean hasHighPriorityChild(PipelineEntry entry, boolean allowImplicit) {
         if (NotificationBundleUi.isEnabled()) {
             GroupEntry representativeGroupEntry = null;
             if (entry instanceof GroupEntry) {
@@ -142,9 +142,10 @@
             } else if (entry instanceof NotificationEntry){
                 final NotificationEntry notificationEntry = entry.getRepresentativeEntry();
                 if (notificationEntry.getParent() != null
-                        && notificationEntry.getParent().getSummary() != null
-                        && notificationEntry.getParent().getSummary() == notificationEntry) {
-                    representativeGroupEntry = notificationEntry.getParent();
+                        && notificationEntry.getParent() instanceof GroupEntry parent
+                        && parent.getSummary() != null
+                        && parent.getSummary() == notificationEntry) {
+                    representativeGroupEntry = parent;
                 }
             }
             return representativeGroupEntry != null &&
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/SectionStyleProvider.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/SectionStyleProvider.kt
index ea9f295..f418bb6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/SectionStyleProvider.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/provider/SectionStyleProvider.kt
@@ -17,7 +17,7 @@
 package com.android.systemui.statusbar.notification.collection.provider
 
 import com.android.systemui.dagger.SysUISingleton
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.SortBySectionTimeFlag
 import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection
 import com.android.systemui.statusbar.notification.collection.listbuilder.pluggable.NotifSectioner
@@ -53,7 +53,7 @@
      * Determine if the given entry is minimized.
      */
     @JvmOverloads
-    fun isMinimized(entry: ListEntry, ifNotInSection: Boolean = true): Boolean {
+    fun isMinimized(entry: PipelineEntry, ifNotInSection: Boolean = true): Boolean {
         val section = entry.section ?: return ifNotInSection
         return isMinimizedSection(section)
     }
@@ -77,7 +77,7 @@
      * Determine if the given entry is silent.
      */
     @JvmOverloads
-    fun isSilent(entry: ListEntry, ifNotInSection: Boolean = true): Boolean {
+    fun isSilent(entry: PipelineEntry, ifNotInSection: Boolean = true): Boolean {
         val section = entry.section ?: return ifNotInSection
         if (SortBySectionTimeFlag.isEnabled) {
             if (entry.section?.bucket == BUCKET_PEOPLE) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupExpansionManagerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupExpansionManagerImpl.java
index 16b98e2..b179a69 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupExpansionManagerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupExpansionManagerImpl.java
@@ -25,7 +25,7 @@
 import com.android.systemui.dump.DumpManager;
 import com.android.systemui.statusbar.notification.collection.EntryAdapter;
 import com.android.systemui.statusbar.notification.collection.GroupEntry;
-import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 import com.android.systemui.statusbar.notification.collection.NotifPipeline;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 import com.android.systemui.statusbar.notification.collection.listbuilder.OnBeforeRenderListListener;
@@ -81,7 +81,7 @@
         }
 
         final Set<NotificationEntry> renderingSummaries = new HashSet<>();
-        for (ListEntry entry : entries) {
+        for (PipelineEntry entry : entries) {
             if (entry instanceof GroupEntry) {
                 renderingSummaries.add(entry.getRepresentativeEntry());
             }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupMembershipManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupMembershipManager.java
index 69267e5..3edbfaf 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupMembershipManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupMembershipManager.java
@@ -22,6 +22,7 @@
 import com.android.systemui.statusbar.notification.collection.EntryAdapter;
 import com.android.systemui.statusbar.notification.collection.ListEntry;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 
 import java.util.List;
 
@@ -78,5 +79,5 @@
      * @return list of the children
      */
     @Nullable
-    List<NotificationEntry> getChildren(@NonNull ListEntry summary);
+    List<NotificationEntry> getChildren(@NonNull PipelineEntry summary);
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupMembershipManagerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupMembershipManagerImpl.java
index 80a9f8ad..a1a23e3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupMembershipManagerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/GroupMembershipManagerImpl.java
@@ -24,7 +24,7 @@
 import com.android.systemui.dagger.SysUISingleton;
 import com.android.systemui.statusbar.notification.collection.EntryAdapter;
 import com.android.systemui.statusbar.notification.collection.GroupEntry;
-import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.collection.PipelineEntry;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 import com.android.systemui.statusbar.notification.shared.NotificationBundleUi;
 
@@ -48,8 +48,13 @@
             // The entry is not attached, so it doesn't count.
             return false;
         }
+        PipelineEntry pipelineEntry = entry.getParent();
+        if (!(pipelineEntry instanceof GroupEntry groupEntry)) {
+            return false;
+        }
+
         // If entry is a summary, its parent is a GroupEntry with summary = entry.
-        return entry.getParent().getSummary() == entry;
+        return groupEntry.getSummary() == entry;
     }
 
     @Override
@@ -65,7 +70,10 @@
         if (isTopLevelEntry(entry) || entry.getParent() == null) {
             return null;
         }
-        return entry.getParent().getSummary();
+        if (entry.getParent() instanceof GroupEntry parent) {
+            return parent.getSummary();
+        }
+        return null;
     }
 
     @Nullable
@@ -91,8 +99,9 @@
 
     @Nullable
     @Override
-    public List<NotificationEntry> getChildren(@NonNull ListEntry entry) {
+    public List<NotificationEntry> getChildren(@NonNull PipelineEntry entry) {
         NotificationBundleUi.assertInLegacyMode();
+
         if (entry instanceof GroupEntry) {
             return ((GroupEntry) entry).getChildren();
         }
@@ -100,8 +109,7 @@
         NotificationEntry representativeEntry = entry.getRepresentativeEntry();
         if (representativeEntry != null && isGroupSummary(representativeEntry)) {
             // maybe we were actually passed the summary
-            GroupEntry parent = representativeEntry.getParent();
-            if (parent != null) {
+            if (representativeEntry.getParent() instanceof GroupEntry parent) {
                 return parent.getChildren();
             }
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilder.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilder.kt
index 9fc4e40..e173194 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilder.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NodeSpecBuilder.kt
@@ -18,12 +18,12 @@
 
 import com.android.systemui.statusbar.notification.NotificationSectionsFeatureManager
 import com.android.systemui.statusbar.notification.collection.GroupEntry
-import com.android.systemui.statusbar.notification.collection.ListEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.listbuilder.NotifSection
 import com.android.systemui.statusbar.notification.collection.provider.SectionHeaderVisibilityProvider
 import com.android.systemui.util.Compile
 import com.android.app.tracing.traceSection
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 
 /**
  * Converts a notif list (the output of the ShadeListBuilder) into a NodeSpec, an abstract
@@ -45,7 +45,7 @@
 
     fun buildNodeSpec(
         rootController: NodeController,
-        notifList: List<ListEntry>
+        notifList: List<PipelineEntry>
     ): NodeSpec = traceSection("NodeSpecBuilder.buildNodeSpec") {
         val root = NodeSpecImpl(null, rootController)
 
@@ -100,7 +100,7 @@
         return@traceSection root
     }
 
-    private fun buildNotifNode(parent: NodeSpec, entry: ListEntry): NodeSpec = when (entry) {
+    private fun buildNotifNode(parent: NodeSpec, entry: PipelineEntry): NodeSpec = when (entry) {
         is NotificationEntry -> NodeSpecImpl(parent, viewBarn.requireNodeController(entry))
         is GroupEntry ->
             NodeSpecImpl(parent, viewBarn.requireNodeController(checkNotNull(entry.summary)))
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NotifViewBarn.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NotifViewBarn.kt
index fd91d5a..56662f1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NotifViewBarn.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NotifViewBarn.kt
@@ -18,18 +18,18 @@
 
 import android.view.textclassifier.Log
 import com.android.systemui.dagger.SysUISingleton
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import javax.inject.Inject
 
 /**
- * The ViewBarn is just a map from [ListEntry] to an instance of a [NodeController].
+ * The ViewBarn is just a map from [PipelineEntry] to an instance of a [NodeController].
  */
 @SysUISingleton
 class NotifViewBarn @Inject constructor() {
     private val rowMap = mutableMapOf<String, NotifViewController>()
 
-    fun requireNodeController(entry: ListEntry): NodeController {
+    fun requireNodeController(entry: PipelineEntry): NodeController {
         if (DEBUG) {
             Log.d(TAG, "requireNodeController: ${entry.key}")
         }
@@ -50,14 +50,14 @@
         return rowMap[entry.key] ?: error("No view has been registered for entry: ${entry.key}")
     }
 
-    fun registerViewForEntry(entry: ListEntry, controller: NotifViewController) {
+    fun registerViewForEntry(entry: PipelineEntry, controller: NotifViewController) {
         if (DEBUG) {
             Log.d(TAG, "registerViewForEntry: ${entry.key}")
         }
         rowMap[entry.key] = controller
     }
 
-    fun removeViewForEntry(entry: ListEntry) {
+    fun removeViewForEntry(entry: PipelineEntry) {
         if (DEBUG) {
             Log.d(TAG, "removeViewForEntry: ${entry.key}")
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NotifViewRenderer.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NotifViewRenderer.kt
index 8284022..396d47e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NotifViewRenderer.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/NotifViewRenderer.kt
@@ -17,7 +17,7 @@
 package com.android.systemui.statusbar.notification.collection.render
 
 import com.android.systemui.statusbar.notification.collection.GroupEntry
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 
 /**
@@ -34,7 +34,7 @@
      * also ensure that future calls to [getStackController], [getGroupController], and
      * [getRowController] will provide valid results.
      */
-    fun onRenderList(notifList: List<ListEntry>)
+    fun onRenderList(notifList: List<PipelineEntry>)
 
     /**
      * Provides an interface for the pipeline to update individual groups. This will be called at
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/RenderStageManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/RenderStageManager.kt
index 21e6837..93e844d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/RenderStageManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/RenderStageManager.kt
@@ -19,7 +19,7 @@
 import com.android.app.tracing.traceSection
 import com.android.systemui.dagger.SysUISingleton
 import com.android.systemui.statusbar.notification.collection.GroupEntry
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.PipelineDumpable
 import com.android.systemui.statusbar.notification.collection.PipelineDumper
@@ -46,7 +46,7 @@
         listBuilder.setOnRenderListListener(::onRenderList)
     }
 
-    private fun onRenderList(notifList: List<ListEntry>) {
+    private fun onRenderList(notifList: List<PipelineEntry>) {
         traceSection("RenderStageManager.onRenderList") {
             val viewRenderer = viewRenderer ?: return
             viewRenderer.onRenderList(notifList)
@@ -85,7 +85,7 @@
             dump("onAfterRenderEntryListeners", onAfterRenderEntryListeners)
         }
 
-    private fun dispatchOnAfterRenderList(entries: List<ListEntry>) {
+    private fun dispatchOnAfterRenderList(entries: List<PipelineEntry>) {
         traceSection("RenderStageManager.dispatchOnAfterRenderList") {
             onAfterRenderListListeners.forEach { listener -> listener.onAfterRenderList(entries) }
         }
@@ -93,7 +93,7 @@
 
     private fun dispatchOnAfterRenderGroups(
         viewRenderer: NotifViewRenderer,
-        entries: List<ListEntry>,
+        entries: List<PipelineEntry>,
     ) {
         traceSection("RenderStageManager.dispatchOnAfterRenderGroups") {
             if (onAfterRenderGroupListeners.isEmpty()) {
@@ -110,7 +110,7 @@
 
     private fun dispatchOnAfterRenderEntries(
         viewRenderer: NotifViewRenderer,
-        entries: List<ListEntry>,
+        entries: List<PipelineEntry>,
     ) {
         traceSection("RenderStageManager.dispatchOnAfterRenderEntries") {
             if (onAfterRenderEntryListeners.isEmpty()) {
@@ -129,7 +129,7 @@
      * Performs a forward, depth-first traversal of the list where the group's summary immediately
      * precedes the group's children.
      */
-    private inline fun List<ListEntry>.forEachNotificationEntry(
+    private inline fun List<PipelineEntry>.forEachNotificationEntry(
         action: (NotificationEntry) -> Unit
     ) {
         forEach { entry ->
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewManager.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewManager.kt
index 72316bf..9532d6d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewManager.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/ShadeViewManager.kt
@@ -22,7 +22,7 @@
 import com.android.systemui.shade.ShadeDisplayAware
 import com.android.systemui.statusbar.notification.NotificationSectionsFeatureManager
 import com.android.systemui.statusbar.notification.collection.GroupEntry
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.PipelineDumpable
 import com.android.systemui.statusbar.notification.collection.PipelineDumper
@@ -76,7 +76,7 @@
     private val viewRenderer =
         object : NotifViewRenderer {
 
-            override fun onRenderList(notifList: List<ListEntry>) {
+            override fun onRenderList(notifList: List<PipelineEntry>) {
                 traceSection("ShadeViewManager.onRenderList") {
                     viewDiffer.applySpec(specBuilder.buildNodeSpec(rootController, notifList))
                 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/domain/interactor/RenderNotificationListInteractor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/domain/interactor/RenderNotificationListInteractor.kt
index bde3c4d..adc049e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/domain/interactor/RenderNotificationListInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/domain/interactor/RenderNotificationListInteractor.kt
@@ -29,7 +29,7 @@
 import com.android.systemui.dagger.qualifiers.Main
 import com.android.systemui.statusbar.StatusBarIconView
 import com.android.systemui.statusbar.notification.collection.GroupEntry
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.provider.SectionStyleProvider
 import com.android.systemui.statusbar.notification.data.repository.ActiveNotificationListRepository
@@ -57,11 +57,11 @@
     /**
      * Sets the current list of rendered notification entries as displayed in the notification list.
      */
-    fun setRenderedList(entries: List<ListEntry>) {
+    fun setRenderedList(entries: List<PipelineEntry>) {
         traceSection("RenderNotificationListInteractor.setRenderedList") {
             repository.activeNotifications.update { existingModels ->
                 buildActiveNotificationsStore(existingModels, sectionStyleProvider, context) {
-                    entries.forEach(::addListEntry)
+                    entries.forEach(::addPipelineEntry)
                     setRankingsMap(entries)
                 }
             }
@@ -89,11 +89,11 @@
     fun build(): ActiveNotificationsStore = builder.build()
 
     /**
-     * Convert a [ListEntry] into [ActiveNotificationEntryModel]s, and add them to the
+     * Convert a [PipelineEntry] into [ActiveNotificationEntryModel]s, and add them to the
      * [ActiveNotificationsStore]. Special care is taken to avoid re-allocating models if the result
      * would be identical to an existing model (at the expense of additional computations).
      */
-    fun addListEntry(entry: ListEntry) {
+    fun addPipelineEntry(entry: PipelineEntry) {
         when (entry) {
             is GroupEntry -> {
                 entry.summary?.let { summary ->
@@ -116,11 +116,11 @@
         }
     }
 
-    fun setRankingsMap(entries: List<ListEntry>) {
+    fun setRankingsMap(entries: List<PipelineEntry>) {
         builder.setRankingsMap(flatMapToRankingsMap(entries))
     }
 
-    fun flatMapToRankingsMap(entries: List<ListEntry>): Map<String, Int> {
+    fun flatMapToRankingsMap(entries: List<PipelineEntry>): Map<String, Int> {
         val result = ArrayMap<String, Int>()
         for (entry in entries) {
             if (entry is NotificationEntry) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/ConnectedDisplaysStatusBarNotificationIconViewStore.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/ConnectedDisplaysStatusBarNotificationIconViewStore.kt
index eb55856..5760b5f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/ConnectedDisplaysStatusBarNotificationIconViewStore.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/icon/ui/viewbinder/ConnectedDisplaysStatusBarNotificationIconViewStore.kt
@@ -16,6 +16,7 @@
 
 package com.android.systemui.statusbar.notification.icon.ui.viewbinder
 
+import android.util.Log
 import com.android.systemui.display.domain.interactor.DisplayWindowPropertiesInteractor
 import com.android.systemui.lifecycle.Activatable
 import com.android.systemui.statusbar.StatusBarIconView
@@ -61,9 +62,16 @@
         }
 
     override fun iconView(key: String): StatusBarIconView? {
-        val entry = notifCollection.getEntry(key) ?: return null
-        val displayWindowProperties =
-            displayWindowPropertiesInteractor.getForStatusBar(displayId) ?: return null
+        val entry = notifCollection.getEntry(key)
+        if (entry == null) {
+            Log.w(TAG, "No notification entry found for key: $key")
+            return null
+        }
+        val displayWindowProperties = displayWindowPropertiesInteractor.getForStatusBar(displayId)
+        if (displayWindowProperties == null) {
+            Log.w(TAG, "No display properties found for display id: $displayId")
+            return null
+        }
         return cachedIcons.computeIfAbsent(key) {
             val context = displayWindowProperties.context
             iconManager.createSbIconView(context, entry)
@@ -93,4 +101,8 @@
     interface Factory {
         fun create(displayId: Int): ConnectedDisplaysStatusBarNotificationIconViewStore
     }
+
+    companion object {
+        private const val TAG = "ConnectedDisplaysNotifIconViewStore"
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/KeyguardNotificationVisibilityProvider.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/KeyguardNotificationVisibilityProvider.kt
index c7548aa..5096894 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/KeyguardNotificationVisibilityProvider.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/KeyguardNotificationVisibilityProvider.kt
@@ -19,7 +19,7 @@
 import com.android.systemui.statusbar.NotificationLockscreenUserManager
 import com.android.systemui.statusbar.StatusBarState
 import com.android.systemui.statusbar.SysuiStatusBarStateController
-import com.android.systemui.statusbar.notification.collection.ListEntry
+import com.android.systemui.statusbar.notification.collection.PipelineEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.provider.HighPriorityProvider
 import com.android.systemui.statusbar.policy.KeyguardStateController
@@ -198,7 +198,7 @@
             else -> false
         }
 
-    private fun shouldHideIfEntrySilent(entry: ListEntry): Boolean =
+    private fun shouldHideIfEntrySilent(entry: PipelineEntry): Boolean =
         when {
             // Show if explicitly high priority (not hidden)
             highPriorityProvider.isExplicitlyHighPriority(entry) -> false
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/people/PeopleNotificationIdentifier.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/people/PeopleNotificationIdentifier.kt
index f755dbb..002230e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/people/PeopleNotificationIdentifier.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/people/PeopleNotificationIdentifier.kt
@@ -20,6 +20,7 @@
 import android.service.notification.NotificationListenerService.Ranking
 import android.service.notification.StatusBarNotification
 import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.statusbar.notification.collection.GroupEntry
 import com.android.systemui.statusbar.notification.collection.NotificationEntry
 import com.android.systemui.statusbar.notification.collection.render.GroupMembershipManager
 import com.android.systemui.statusbar.notification.people.PeopleNotificationIdentifier.Companion.PeopleNotificationType
@@ -117,8 +118,8 @@
             if (!entry.sbn.notification.isGroupSummary) {
                 return TYPE_NON_PERSON;
             }
-
-            return getPeopleTypeForChildList(entry.parent?.children)
+            val parent = entry.parent as? GroupEntry ?: return TYPE_NON_PERSON
+            return getPeopleTypeForChildList(parent.children)
         } else {
             if (!groupManager.isGroupSummary(entry)) {
                 return TYPE_NON_PERSON
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java
index b077327..4ed9dce 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ActivatableNotificationView.java
@@ -16,8 +16,10 @@
 
 package com.android.systemui.statusbar.notification.row;
 
+import static com.android.systemui.Flags.notificationAppearNonlinear;
 import static com.android.systemui.Flags.notificationBackgroundTintOptimization;
 import static com.android.systemui.Flags.notificationRowTransparency;
+import static com.android.systemui.Flags.physicalNotificationMovement;
 import static com.android.systemui.statusbar.notification.row.ExpandableView.ClipSide.BOTTOM;
 import static com.android.systemui.statusbar.notification.row.ExpandableView.ClipSide.TOP;
 
@@ -71,7 +73,8 @@
      * #ALPHA_APPEAR_START_FRACTION.
      */
 
-    private static final float ALPHA_APPEAR_START_FRACTION = .7f;
+    private static final float ALPHA_APPEAR_START_FRACTION =
+            notificationAppearNonlinear() ? .55f : .7f;
     /**
      * The content should show fully with progress at #ALPHA_APPEAR_END_FRACTION
      * The start of the animation is at #ALPHA_APPEAR_START_FRACTION
@@ -111,6 +114,7 @@
     private float mOverrideAmount;
     private boolean mShadowHidden;
     private boolean mIsHeadsUpAnimation;
+    private boolean mIsHeadsUpCycling;
     /* In order to track headsup longpress coorindate. */
     protected Point mTargetPoint;
     private boolean mDismissed;
@@ -349,10 +353,12 @@
 
     @Override
     public long performRemoveAnimation(long duration, long delay, float translationDirection,
-            boolean isHeadsUpAnimation, Runnable onStartedRunnable, Runnable onFinishedRunnable,
-            AnimatorListenerAdapter animationListener, ClipSide clipSide) {
+            boolean isHeadsUpAnimation, boolean isHeadsUpCycling, Runnable onStartedRunnable,
+            Runnable onFinishedRunnable, AnimatorListenerAdapter animationListener,
+            ClipSide clipSide) {
         enableAppearDrawing(true);
         mIsHeadsUpAnimation = isHeadsUpAnimation;
+        mIsHeadsUpCycling = isHeadsUpCycling;
         if (mDrawingAppearAnimation) {
             startAppearAnimation(false /* isAppearing */, translationDirection,
                     delay, duration, onStartedRunnable, onFinishedRunnable, animationListener,
@@ -370,9 +376,10 @@
 
     @Override
     public void performAddAnimation(long delay, long duration, boolean isHeadsUpAppear,
-            Runnable onFinishRunnable) {
+            boolean isHeadsUpCycling, Runnable onFinishRunnable) {
         enableAppearDrawing(true);
         mIsHeadsUpAnimation = isHeadsUpAppear;
+        mIsHeadsUpCycling = isHeadsUpCycling;
         if (mDrawingAppearAnimation) {
             startAppearAnimation(true /* isAppearing */, isHeadsUpAppear ? 0.0f : -1.0f, delay,
                     duration, null, null, null, ClipSide.BOTTOM);
@@ -404,14 +411,14 @@
             targetValue = 0.0f;
         }
 
-        if (NotificationHeadsUpCycling.isEnabled()) {
-            // TODO(b/316404716): add avalanche filtering
+        if (NotificationHeadsUpCycling.isEnabled() && !useNonLinearAnimation()) {
             mCurrentAppearInterpolator = Interpolators.LINEAR;
         }
 
         mAppearAnimator = ValueAnimator.ofFloat(mAppearAnimationFraction,
                 targetValue);
-        mAppearAnimator.setInterpolator(mCurrentAppearInterpolator);
+        mAppearAnimator.setInterpolator(
+                useNonLinearAnimation() ? Interpolators.LINEAR : mCurrentAppearInterpolator);
         mAppearAnimator.setDuration(
                 (long) (duration * Math.abs(mAppearAnimationFraction - targetValue)));
         mAppearAnimator.addUpdateListener(animation -> {
@@ -530,7 +537,13 @@
      * @param clipSide Which side if view we want to clip from
      */
     private void updateAppearRect(ClipSide clipSide) {
-        float interpolatedFraction = mAppearAnimationFraction;
+        float interpolatedFraction;
+        if (useNonLinearAnimation()) {
+            interpolatedFraction = mCurrentAppearInterpolator.getInterpolation(
+                    mAppearAnimationFraction);
+        } else {
+            interpolatedFraction = mAppearAnimationFraction;
+        }
         mAppearAnimationTranslation = (1.0f - interpolatedFraction) * mAnimationTranslationY;
         final int fullHeight = getActualHeight();
         float height = fullHeight * interpolatedFraction;
@@ -558,6 +571,11 @@
         }
     }
 
+    private boolean useNonLinearAnimation() {
+        return notificationAppearNonlinear() && (!mIsHeadsUpCycling
+                || physicalNotificationMovement());
+    }
+
     private void updateAppearRect() {
         updateAppearRect(ClipSide.BOTTOM);
     }
@@ -567,7 +585,7 @@
                 mAppearAnimationFraction,
                 ALPHA_APPEAR_START_FRACTION,
                 ALPHA_APPEAR_END_FRACTION,
-                Interpolators.ALPHA_IN
+                notificationAppearNonlinear() ? mCurrentAppearInterpolator : Interpolators.ALPHA_IN
         );
     }
 
@@ -813,6 +831,7 @@
         pw.print("mDrawingAppearAnimation", mDrawingAppearAnimation);
         pw.print("mAppearAnimationFraction", mAppearAnimationFraction);
         pw.print("mIsHeadsUpAnimation", mIsHeadsUpAnimation);
+        pw.print("mIsHeadsUpCycling", mIsHeadsUpCycling);
         pw.print("mTargetPoint", mTargetPoint);
         pw.println();
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java
index 6f7eade1..4c74408 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java
@@ -2182,7 +2182,7 @@
                     R.dimen.notification_min_height);
         }
         mMaxSmallHeightWithSummarization = NotificationUtils.getFontScaledHeight(mContext,
-                com.android.internal.R.dimen.notification_collapsed_height_with_summarization);
+                com.android.internal.R.dimen.notification_min_height);
         mMaxExpandedHeight = NotificationUtils.getFontScaledHeight(mContext,
                 R.dimen.notification_max_height);
         mMaxExpandedHeightForPromotedOngoing = NotificationUtils.getFontScaledHeight(mContext,
@@ -3494,20 +3494,17 @@
 
     @Override
     public void performAddAnimation(long delay, long duration, boolean isHeadsUpAppear,
-            Runnable onFinishRunnable) {
+            boolean isHeadsUpCycling, Runnable onFinishRunnable) {
         mLogger.logStartAppearAnimation(mLoggingKey, /* isAppear = */ true);
-        super.performAddAnimation(delay, duration, isHeadsUpAppear, onFinishRunnable);
+        super.performAddAnimation(delay, duration, isHeadsUpAppear, isHeadsUpCycling,
+                onFinishRunnable);
     }
 
     @Override
-    public long performRemoveAnimation(
-            long duration,
-            long delay,
-            float translationDirection,
-            boolean isHeadsUpAnimation,
-            Runnable onStartedRunnable,
-            Runnable onFinishedRunnable,
-            AnimatorListenerAdapter animationListener, ClipSide clipSide) {
+    public long performRemoveAnimation(long duration, long delay, float translationDirection,
+            boolean isHeadsUpAnimation, boolean isHeadsUpCycling, Runnable onStartedRunnable,
+            Runnable onFinishedRunnable, AnimatorListenerAdapter animationListener,
+            ClipSide clipSide) {
         mLogger.logStartAppearAnimation(mLoggingKey, /* isAppear = */ false);
         if (mMenuRow != null && mMenuRow.isMenuVisible()) {
             Animator anim = getTranslateViewAnimator(0f, null /* listener */);
@@ -3522,9 +3519,9 @@
 
                     @Override
                     public void onAnimationEnd(Animator animation) {
-                        ExpandableNotificationRow.super.performRemoveAnimation(
-                                duration, delay, translationDirection, isHeadsUpAnimation,
-                                null, onFinishedRunnable, animationListener, ClipSide.BOTTOM);
+                        ExpandableNotificationRow.super.performRemoveAnimation(duration, delay,
+                                translationDirection, isHeadsUpAnimation, isHeadsUpCycling, null,
+                                onFinishedRunnable, animationListener, ClipSide.BOTTOM);
                     }
                 });
                 anim.start();
@@ -3532,8 +3529,8 @@
             }
         }
         return super.performRemoveAnimation(duration, delay, translationDirection,
-                isHeadsUpAnimation, onStartedRunnable, onFinishedRunnable, animationListener,
-                clipSide);
+                isHeadsUpAnimation, isHeadsUpCycling, onStartedRunnable, onFinishedRunnable,
+                animationListener, clipSide);
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java
index da664f8..292f74a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableView.java
@@ -467,7 +467,8 @@
      *                             remove animation should be performed upwards,
      *                             such that the  child appears to be going away to the top. 1
      *                             Should mean the opposite.
-     * @param isHeadsUpAnimation   Is this a headsUp animation.
+     * @param isHeadsUpAnimation   Is this a headsUp animation
+     * @param isHeadsUpCycling     Is this the cycling heads up animation
      * @param onFinishedRunnable   A runnable which should be run when the animation is finished.
      * @param animationListener    An animation listener to add to the animation.
      * @return The additional delay, in milliseconds, that this view needs to add before the
@@ -475,7 +476,7 @@
      */
     public abstract long performRemoveAnimation(long duration,
             long delay, float translationDirection, boolean isHeadsUpAnimation,
-            Runnable onStartedRunnable,
+            boolean isHeadsUpCycling, Runnable onStartedRunnable,
             Runnable onFinishedRunnable,
             AnimatorListenerAdapter animationListener, ClipSide clipSide);
 
@@ -485,11 +486,12 @@
     }
 
     public void performAddAnimation(long delay, long duration, boolean isHeadsUpAppear) {
-        performAddAnimation(delay, duration, isHeadsUpAppear, null);
+        performAddAnimation(delay, duration, isHeadsUpAppear, false /* isHeadsUpCycling */,
+                null);
     }
 
     public abstract void performAddAnimation(long delay, long duration, boolean isHeadsUpAppear,
-            Runnable onEndRunnable);
+            boolean isHeadsUpCycling, Runnable onEndRunnable);
 
     public int getPinnedHeadsUpHeight() {
         return getIntrinsicHeight();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentInflater.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentInflater.java
index c31f4ad..4b2b168 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentInflater.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentInflater.java
@@ -998,6 +998,10 @@
             entry.setPromotedNotificationContentModel(result.mPromotedContent);
         }
 
+        if (PromotedNotificationUiForceExpanded.isEnabled()) {
+            row.setPromotedOngoing(entry.isOngoingPromoted());
+        }
+
         boolean setRepliesAndActions = true;
         if ((reInflateFlags & FLAG_CONTENT_VIEW_CONTRACTED) != 0) {
             if (result.inflatedContentView != null) {
@@ -1130,9 +1134,6 @@
 
         entry.setHeadsUpStatusBarText(result.headsUpStatusBarText);
         entry.setHeadsUpStatusBarTextPublic(result.headsUpStatusBarTextPublic);
-        if (PromotedNotificationUiForceExpanded.isEnabled()) {
-            row.setPromotedOngoing(entry.isOngoingPromoted());
-        }
 
         Trace.endAsyncSection(APPLY_TRACE_METHOD, System.identityHashCode(row));
         if (endListener != null) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/StackScrollerDecorView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/StackScrollerDecorView.java
index cd228e7..a064d1c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/StackScrollerDecorView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/StackScrollerDecorView.java
@@ -260,7 +260,7 @@
     @Override
     public long performRemoveAnimation(long duration, long delay,
             float translationDirection, boolean isHeadsUpAnimation,
-            Runnable onStartedRunnable,
+            boolean isHeadsUpCycling, Runnable onStartedRunnable,
             Runnable onFinishedRunnable,
             AnimatorListenerAdapter animationListener, ClipSide clipSide) {
         // TODO: Use duration
@@ -279,7 +279,7 @@
 
     @Override
     public void performAddAnimation(long delay, long duration, boolean isHeadsUpAppear,
-            Runnable endRunnable) {
+            boolean isHeadsUpCycling, Runnable endRunnable) {
         // TODO: use delay and duration
         setContentVisibleAnimated(true);
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationCallTemplateViewWrapper.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationCallTemplateViewWrapper.kt
index 2d94694..e887e25 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationCallTemplateViewWrapper.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationCallTemplateViewWrapper.kt
@@ -16,6 +16,7 @@
 
 package com.android.systemui.statusbar.notification.row.wrapper
 
+import android.app.Flags.notificationsRedesignTemplates
 import android.content.Context
 import android.view.View
 import com.android.internal.widget.CachingIconView
@@ -25,17 +26,13 @@
 import com.android.systemui.statusbar.notification.NotificationUtils
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
 
-/**
- * Wraps a notification containing a call template
- */
-class NotificationCallTemplateViewWrapper constructor(
-    ctx: Context,
-    view: View,
-    row: ExpandableNotificationRow
-) : NotificationTemplateViewWrapper(ctx, view, row) {
+/** Wraps a notification containing a call template */
+class NotificationCallTemplateViewWrapper
+constructor(ctx: Context, view: View, row: ExpandableNotificationRow) :
+    NotificationTemplateViewWrapper(ctx, view, row) {
 
     private val minHeightWithActions: Int =
-            NotificationUtils.getFontScaledHeight(ctx, R.dimen.notification_max_height)
+        NotificationUtils.getFontScaledHeight(ctx, R.dimen.notification_max_height)
     private val callLayout: CallLayout = view as CallLayout
 
     private lateinit var conversationIconContainer: View
@@ -48,13 +45,17 @@
     private fun resolveViews() {
         with(callLayout) {
             conversationIconContainer =
-                    requireViewById(com.android.internal.R.id.conversation_icon_container)
+                requireViewById(com.android.internal.R.id.conversation_icon_container)
             conversationIconView = requireViewById(com.android.internal.R.id.conversation_icon)
             conversationBadgeBg =
-                    requireViewById(com.android.internal.R.id.conversation_icon_badge_bg)
+                requireViewById(com.android.internal.R.id.conversation_icon_badge_bg)
             expandBtn = requireViewById(com.android.internal.R.id.expand_button)
             appName = requireViewById(com.android.internal.R.id.app_name_text)
-            conversationTitleView = requireViewById(com.android.internal.R.id.conversation_text)
+            conversationTitleView =
+                requireViewById(
+                    if (notificationsRedesignTemplates()) com.android.internal.R.id.title
+                    else com.android.internal.R.id.conversation_text
+                )
         }
     }
 
@@ -68,20 +69,12 @@
     override fun updateTransformedTypes() {
         // This also clears the existing types
         super.updateTransformedTypes()
-        addTransformedViews(
-                appName,
-                conversationTitleView
-        )
-        addViewsTransformingToSimilar(
-                conversationIconView,
-                conversationBadgeBg,
-                expandBtn
-        )
+        addTransformedViews(appName, conversationTitleView)
+        addViewsTransformingToSimilar(conversationIconView, conversationBadgeBg, expandBtn)
     }
 
     override fun disallowSingleClick(x: Float, y: Float): Boolean {
-        val isOnExpandButton = expandBtn.visibility == View.VISIBLE &&
-                isOnView(expandBtn, x, y)
+        val isOnExpandButton = expandBtn.visibility == View.VISIBLE && isOnView(expandBtn, x, y)
         return isOnExpandButton || super.disallowSingleClick(x, y)
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationConversationTemplateViewWrapper.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationConversationTemplateViewWrapper.kt
index 6a96fba..3d5f9e4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationConversationTemplateViewWrapper.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationConversationTemplateViewWrapper.kt
@@ -174,7 +174,8 @@
         // and the top level image message container.
         val containers =
             messageContainers.asSequence().map { it.messageContainer } +
-                if (notificationsRedesignTemplates()) emptySequence()
+                if (notificationsRedesignTemplates() && imageMessageContainer == null)
+                    emptySequence()
                 else sequenceOf(imageMessageContainer!!)
         val drawables =
             containers
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationHeaderViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationHeaderViewWrapper.java
index e8affaa..e9eecdd8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationHeaderViewWrapper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationHeaderViewWrapper.java
@@ -31,7 +31,6 @@
 import android.view.animation.Interpolator;
 import android.view.animation.PathInterpolator;
 import android.widget.DateTimeView;
-import android.widget.FrameLayout;
 import android.widget.ImageButton;
 import android.widget.ImageView;
 import android.widget.TextView;
@@ -42,7 +41,6 @@
 import com.android.internal.widget.CachingIconView;
 import com.android.internal.widget.NotificationCloseButton;
 import com.android.internal.widget.NotificationExpandButton;
-import com.android.systemui.Flags;
 import com.android.systemui.res.R;
 import com.android.systemui.statusbar.TransformableView;
 import com.android.systemui.statusbar.ViewTransformationHelper;
@@ -69,7 +67,6 @@
     private CachingIconView mIcon;
     private NotificationCloseButton mCloseButton;
     private NotificationExpandButton mExpandButton;
-    private FrameLayout mExpandButtonSpacer;
     private View mAltExpandTarget;
     private View mIconContainer;
     protected NotificationHeaderView mNotificationHeader;
@@ -157,10 +154,6 @@
         mHeaderText = mView.findViewById(com.android.internal.R.id.header_text);
         mAppNameText = mView.findViewById(com.android.internal.R.id.app_name_text);
         mExpandButton = mView.findViewById(com.android.internal.R.id.expand_button);
-        if (Flags.uiRichOngoingForceExpanded()) {
-            mExpandButtonSpacer =
-                    mView.findViewById(com.android.internal.R.id.expand_button_spacer);
-        }
         mAltExpandTarget = mView.findViewById(com.android.internal.R.id.alternate_expand_target);
         mIconContainer = mView.findViewById(com.android.internal.R.id.conversation_icon_container);
         mWorkProfileImage = mView.findViewById(com.android.internal.R.id.profile_badge);
@@ -302,9 +295,6 @@
             boolean expandable,
             View.OnClickListener onClickListener,
             boolean requestLayout) {
-        if (Flags.uiRichOngoingForceExpanded() && mExpandButtonSpacer != null) {
-            mExpandButtonSpacer.setVisibility(expandable ? GONE : VISIBLE);
-        }
         mExpandButton.setVisibility(expandable ? VISIBLE : GONE);
         mExpandButton.setOnClickListener(expandable ? onClickListener : null);
         if (mAltExpandTarget != null) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationTemplateViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationTemplateViewWrapper.java
index 3ccf506..b9aa571 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationTemplateViewWrapper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationTemplateViewWrapper.java
@@ -33,6 +33,7 @@
 import android.service.notification.StatusBarNotification;
 import android.util.ArraySet;
 import android.view.View;
+import android.view.ViewGroup;
 import android.widget.Button;
 import android.widget.ImageView;
 import android.widget.ProgressBar;
@@ -42,6 +43,7 @@
 import com.android.internal.util.ContrastColorUtil;
 import com.android.internal.widget.NotificationActionListLayout;
 import com.android.systemui.Dependency;
+import com.android.systemui.Flags;
 import com.android.systemui.UiOffloadThread;
 import com.android.systemui.res.R;
 import com.android.systemui.statusbar.CrossFadeHelper;
@@ -51,6 +53,7 @@
 import com.android.systemui.statusbar.notification.TransformState;
 import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
 import com.android.systemui.statusbar.notification.row.HybridNotificationView;
+import com.android.systemui.util.DimensionKt;
 
 import java.util.function.Consumer;
 
@@ -186,9 +189,43 @@
         mActions = mView.findViewById(com.android.internal.R.id.actions);
         mRemoteInputHistory = mView.findViewById(
                 com.android.internal.R.id.notification_material_reply_container);
+
+        adjustTitleAndRightIconForPromotedOngoing();
         updatePendingIntentCancellations();
     }
 
+    private void adjustTitleAndRightIconForPromotedOngoing() {
+        if (Flags.uiRichOngoingForceExpanded() && mRow.isPromotedOngoing() && mRightIcon != null) {
+            final int horizontalMargin;
+            if (notificationsRedesignTemplates()) {
+                horizontalMargin = mView.getResources().getDimensionPixelSize(
+                    com.android.internal.R.dimen.notification_2025_margin);
+            } else {
+                horizontalMargin = (int) DimensionKt.dpToPx(16, mView.getContext());
+            }
+
+            // position right icon to the right available space from expander.
+            final ViewGroup.MarginLayoutParams rightIconLP =
+                (ViewGroup.MarginLayoutParams) mRightIcon.getLayoutParams();
+            rightIconLP.setMarginEnd(horizontalMargin);
+            mRightIcon.setLayoutParams(rightIconLP);
+
+            // align top line view to start of the right icon.
+            final int iconSize = mView.getResources().getDimensionPixelSize(
+                com.android.internal.R.dimen.notification_right_icon_size);
+            final int marginEnd = 2 * horizontalMargin + iconSize;
+            mNotificationTopLine.setHeaderTextMarginEnd(marginEnd);
+
+            // title has too much margin on the right, so we need to reduce it
+            if (mTitle != null) {
+                final ViewGroup.MarginLayoutParams titleLP =
+                    (ViewGroup.MarginLayoutParams) mTitle.getLayoutParams();
+                titleLP.setMarginEnd(marginEnd);
+                mTitle.setLayoutParams(titleLP);
+           }
+        }
+    }
+
     @Nullable
     protected final Icon getLargeIcon(Notification n) {
         Icon modernLargeIcon = n.getLargeIcon();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/MediaContainerView.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/MediaContainerView.kt
index bd7bd59..4d10a52 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/MediaContainerView.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/MediaContainerView.kt
@@ -70,14 +70,15 @@
     }
 
     override fun performRemoveAnimation(
-            duration: Long,
-            delay: Long,
-            translationDirection: Float,
-            isHeadsUpAnimation: Boolean,
-            onStartedRunnable: Runnable?,
-            onFinishedRunnable: Runnable?,
-            animationListener: AnimatorListenerAdapter?,
-            clipSide: ClipSide
+        duration: Long,
+        delay: Long,
+        translationDirection: Float,
+        isHeadsUpAnimation: Boolean,
+        isHeadsUpCycling: Boolean,
+        onStartedRunnable: Runnable?,
+        onFinishedRunnable: Runnable?,
+        animationListener: AnimatorListenerAdapter?,
+        clipSide: ClipSide,
     ): Long {
         return 0
     }
@@ -86,7 +87,8 @@
         delay: Long,
         duration: Long,
         isHeadsUpAppear: Boolean,
-        onEnd: Runnable?
+        isHeadsUpCycling: Boolean,
+        onEnd: Runnable?,
     ) {
         // No animation, it doesn't need it, this would be local
     }
@@ -103,9 +105,7 @@
         assertMediaContainerVisibility(visibility)
     }
 
-    /**
-     * visibility should be aligned with MediaContainerView visibility on the keyguard.
-     */
+    /** visibility should be aligned with MediaContainerView visibility on the keyguard. */
     private fun isVisibilityValid(visibility: Int): Boolean {
         val currentViewState = viewState as? MediaContainerViewState ?: return true
         val shouldBeGone = !currentViewState.shouldBeVisible
@@ -113,8 +113,7 @@
     }
 
     /**
-     * b/298213983
-     * MediaContainerView's visibility is changed to VISIBLE when it should be GONE.
+     * b/298213983 MediaContainerView's visibility is changed to VISIBLE when it should be GONE.
      * This method check this state and logs.
      */
     private fun assertMediaContainerVisibility(visibility: Int) {
@@ -122,8 +121,10 @@
 
         if (currentViewState is MediaContainerViewState) {
             if (!currentViewState.shouldBeVisible && visibility == VISIBLE) {
-                Log.wtf("MediaContainerView", "MediaContainerView should be GONE " +
-                        "but its visibility changed to VISIBLE")
+                Log.wtf(
+                    "MediaContainerView",
+                    "MediaContainerView should be GONE " + "but its visibility changed to VISIBLE",
+                )
             }
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackStateAnimator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackStateAnimator.java
index 5e0d57e..2b05223 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackStateAnimator.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackStateAnimator.java
@@ -506,8 +506,8 @@
                 }
                 changingView.performRemoveAnimation(ANIMATION_DURATION_APPEAR_DISAPPEAR,
                         0 /* delay */, translationDirection, false /* isHeadsUpAppear */,
-                        startAnimation, postAnimation, getGlobalAnimationFinishedListener(),
-                        ExpandableView.ClipSide.BOTTOM);
+                        false /* isHeadsUpCycling */, startAnimation, postAnimation,
+                        getGlobalAnimationFinishedListener(), ExpandableView.ClipSide.BOTTOM);
                 needsCustomAnimation = true;
             } else if (event.animationType ==
                     NotificationStackScrollLayout.AnimationEvent.ANIMATION_TYPE_REMOVE_SWIPED_OUT) {
@@ -538,7 +538,7 @@
                     };
                 }
                 changingView.performAddAnimation(0, ANIMATION_DURATION_HEADS_UP_CYCLING,
-                        /* isHeadsUpAppear= */ true, onAnimationEnd);
+                        /* isHeadsUpAppear= */ true, /* isHeadsUpCycling= */ true, onAnimationEnd);
             } else if (event.animationType == ANIMATION_TYPE_HEADS_UP_APPEAR) {
                 mHeadsUpAppearChildren.add(changingView);
 
@@ -559,7 +559,7 @@
                     onAnimationEnd = () -> mLogger.appearAnimationEnded(finalKey);
                 }
                 changingView.performAddAnimation(0, ANIMATION_DURATION_HEADS_UP_APPEAR,
-                        /* isHeadsUpAppear= */ true, onAnimationEnd);
+                        /* isHeadsUpAppear= */ true, /* isHeadsUpCycling= */ false, onAnimationEnd);
             } else if (event.animationType == ANIMATION_TYPE_HEADS_UP_CYCLING_OUT) {
                 mHeadsUpDisappearChildren.add(changingView);
                 Runnable endRunnable = null;
@@ -629,6 +629,7 @@
                             // translation, the actual translation is in StackScrollAlgorithm.
                             /* translationDirection= */ 0.0f,
                             /* isHeadsUpAnimation= */ true,
+                            /* isHeadsUpCycling= */ true,
                             startAnimation, postAnimation,
                             getGlobalAnimationFinishedListener(), ExpandableView.ClipSide.TOP);
                     mAnimationProperties.delay += removeAnimationDelay;
@@ -706,6 +707,7 @@
                     long removeAnimationDelay = changingView.performRemoveAnimation(
                             ANIMATION_DURATION_HEADS_UP_DISAPPEAR,
                             0, 0.0f, true /* isHeadsUpAppear */,
+                            false /* isHeadsUpCycling */,
                             startAnimation, postAnimation,
                             getGlobalAnimationFinishedListener(), ExpandableView.ClipSide.BOTTOM);
                     mAnimationProperties.delay += removeAnimationDelay;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationScrollViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationScrollViewModel.kt
index 08d98a1..1dbaf2f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationScrollViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/NotificationScrollViewModel.kt
@@ -147,7 +147,7 @@
         sceneInteractor.transitionState.map { transition: ObservableTransitionState ->
             transition is Transition &&
                 transition.fromContent == Scenes.Lockscreen &&
-                (transition.toContent == Scenes.Bouncer || transition.toContent == Scenes.Gone)
+                (transition.toContent == Overlays.Bouncer || transition.toContent == Scenes.Gone)
         }
 
     /**
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt
index 34b6560..877aa76 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewmodel/SharedNotificationContainerViewModel.kt
@@ -76,6 +76,7 @@
 import com.android.systemui.keyguard.ui.viewmodel.ViewStateAccessor
 import com.android.systemui.res.R
 import com.android.systemui.scene.shared.flag.SceneContainerFlag
+import com.android.systemui.scene.shared.model.Overlays
 import com.android.systemui.scene.shared.model.Scenes
 import com.android.systemui.shade.LargeScreenHeaderHelper
 import com.android.systemui.shade.ShadeDisplayAware
@@ -307,7 +308,7 @@
             keyguardTransitionInteractor.transitionValue(ALTERNATE_BOUNCER).map { it > 0f },
             keyguardTransitionInteractor
                 .transitionValue(
-                    scene = Scenes.Bouncer,
+                    content = Overlays.Bouncer,
                     stateWithoutSceneContainer = PRIMARY_BOUNCER,
                 )
                 .map { it > 0f },
@@ -361,7 +362,7 @@
     private val isOnGlanceableHub: Flow<Boolean> =
         combine(
                 keyguardTransitionInteractor.isFinishedIn(
-                    scene = Scenes.Communal,
+                    content = Scenes.Communal,
                     stateWithoutSceneContainer = GLANCEABLE_HUB,
                 ),
                 anyOf(
@@ -638,7 +639,7 @@
                 anyOf(
                     isKeyguardOccluded,
                     keyguardTransitionInteractor
-                        .transitionValue(scene = Scenes.Gone, stateWithoutSceneContainer = GONE)
+                        .transitionValue(content = Scenes.Gone, stateWithoutSceneContainer = GONE)
                         .map { it == 1f },
                 )
             }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
index bc29769..8c44fe5 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
@@ -84,7 +84,7 @@
 import com.android.systemui.plugins.statusbar.StatusBarStateController;
 import com.android.systemui.scene.domain.interactor.SceneInteractor;
 import com.android.systemui.scene.shared.flag.SceneContainerFlag;
-import com.android.systemui.scene.shared.model.Scenes;
+import com.android.systemui.scene.shared.model.Overlays;
 import com.android.systemui.shade.ShadeController;
 import com.android.systemui.shade.ShadeExpansionChangeEvent;
 import com.android.systemui.shade.ShadeExpansionListener;
@@ -724,8 +724,10 @@
             if (!primaryBouncerIsShowing()) {
                 if (SceneContainerFlag.isEnabled()) {
                     mCentralSurfaces.hideKeyguard();
-                    mSceneInteractorLazy.get().changeScene(
-                            Scenes.Bouncer, "StatusBarKeyguardViewManager.showBouncerOrKeyguard");
+                    mSceneInteractorLazy.get().showOverlay(
+                            Overlays.Bouncer,
+                            "StatusBarKeyguardViewManager.showBouncerOrKeyguard"
+                    );
                 } else {
                     if (Flags.simPinRaceConditionOnRestart()) {
                         if (mPrimaryBouncerInteractor.show(/* isScrimmed= */ true)) {
@@ -816,8 +818,8 @@
                 /* clearDismissAction= */ !SceneContainerFlag.isEnabled());
         if (mKeyguardStateController.isShowing() && !isBouncerShowing()) {
             if (SceneContainerFlag.isEnabled()) {
-                mSceneInteractorLazy.get().changeScene(
-                        Scenes.Bouncer,
+                mSceneInteractorLazy.get().showOverlay(
+                        Overlays.Bouncer,
                         "primary bouncer requested"
                 );
             } else {
@@ -915,8 +917,10 @@
                     // we'll handle the dismiss action after keyguard is gone, so just show the
                     // bouncer
                     if (SceneContainerFlag.isEnabled()) {
-                        mSceneInteractorLazy.get().changeScene(
-                                Scenes.Bouncer, "StatusBarKeyguardViewManager.dismissWithAction");
+                        mSceneInteractorLazy.get().showOverlay(
+                                Overlays.Bouncer,
+                                "StatusBarKeyguardViewManager.dismissWithAction"
+                        );
                     } else {
                         mPrimaryBouncerInteractor.show(/* isScrimmed= */ true);
                     }
@@ -926,8 +930,10 @@
                     mPrimaryBouncerInteractor.setDismissAction(
                             mAfterKeyguardGoneAction, mKeyguardGoneCancelAction);
                     if (SceneContainerFlag.isEnabled()) {
-                        mSceneInteractorLazy.get().changeScene(
-                                Scenes.Bouncer, "StatusBarKeyguardViewManager.dismissWithAction");
+                        mSceneInteractorLazy.get().showOverlay(
+                                Overlays.Bouncer,
+                                "StatusBarKeyguardViewManager.dismissWithAction"
+                        );
                     } else {
                         mPrimaryBouncerInteractor.show(/* isScrimmed= */ true);
                     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt
index d336903..2efc057 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt
@@ -20,6 +20,7 @@
 import android.content.Context
 import android.content.Intent
 import android.content.IntentFilter
+import android.content.pm.PackageManager
 import android.telephony.CarrierConfigManager
 import android.telephony.SubscriptionInfo
 import android.telephony.SubscriptionManager
@@ -192,6 +193,19 @@
         serviceStateChangedEvent
             .mapLatest {
                 val modems = telephonyManager.activeModemCount
+
+                // Assume false for automotive devices which don't have the calling feature.
+                // TODO: b/398045526 to revisit the below.
+                val isAutomotive: Boolean =
+                    context.packageManager.hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)
+                val hasFeatureCalling: Boolean =
+                    context.packageManager.hasSystemFeature(
+                        PackageManager.FEATURE_TELEPHONY_CALLING
+                    )
+                if (isAutomotive && !hasFeatureCalling) {
+                    return@mapLatest false
+                }
+
                 // Check the service state for every modem. If any state reports emergency calling
                 // capable, then consider the device to have emergency call capabilities
                 (0..<modems)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModel.kt
index e37c3f1..ac301b0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/ui/viewmodel/MobileIconViewModel.kt
@@ -94,7 +94,12 @@
     }
 
     private val satelliteProvider by lazy {
-        CarrierBasedSatelliteViewModelImpl(subscriptionId, iconInteractor)
+        CarrierBasedSatelliteViewModelImpl(
+            subscriptionId,
+            airplaneModeInteractor,
+            iconInteractor,
+            scope,
+        )
     }
 
     /**
@@ -145,9 +150,15 @@
 /** Representation of this network when it is non-terrestrial (e.g., satellite) */
 private class CarrierBasedSatelliteViewModelImpl(
     override val subscriptionId: Int,
+    airplaneModeInteractor: AirplaneModeInteractor,
     interactor: MobileIconInteractor,
+    scope: CoroutineScope,
 ) : MobileIconViewModelCommon {
-    override val isVisible: StateFlow<Boolean> = MutableStateFlow(true)
+    override val isVisible: StateFlow<Boolean> =
+        airplaneModeInteractor.isAirplaneMode
+            .map { !it }
+            .stateIn(scope, SharingStarted.WhileSubscribed(), false)
+
     override val icon: Flow<SignalIconModel> = interactor.signalLevelIcon
 
     override val contentDescription: Flow<MobileContentDescription?> = MutableStateFlow(null)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/shared/ui/composable/StatusBarRoot.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/shared/ui/composable/StatusBarRoot.kt
index 39a1b46..4189221 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/shared/ui/composable/StatusBarRoot.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/shared/ui/composable/StatusBarRoot.kt
@@ -37,6 +37,10 @@
 import com.android.compose.theme.PlatformTheme
 import com.android.keyguard.AlphaOptimizedLinearLayout
 import com.android.systemui.lifecycle.rememberViewModel
+import com.android.systemui.media.controls.ui.controller.MediaHierarchyManager
+import com.android.systemui.media.controls.ui.view.MediaHost
+import com.android.systemui.media.controls.ui.view.MediaHostState
+import com.android.systemui.media.dagger.MediaModule.POPUP
 import com.android.systemui.plugins.DarkIconDispatcher
 import com.android.systemui.res.R
 import com.android.systemui.statusbar.chips.ui.compose.OngoingActivityChips
@@ -67,6 +71,7 @@
 import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModel
 import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModel.HomeStatusBarViewModelFactory
 import javax.inject.Inject
+import javax.inject.Named
 
 /** Factory to simplify the dependency management for [StatusBarRoot] */
 class StatusBarRootFactory
@@ -81,6 +86,8 @@
     private val ongoingCallController: OngoingCallController,
     private val darkIconDispatcherStore: DarkIconDispatcherStore,
     private val eventAnimationInteractor: SystemStatusEventAnimationInteractor,
+    private val mediaHierarchyManager: MediaHierarchyManager,
+    @Named(POPUP) private val mediaHost: MediaHost,
 ) {
     fun create(root: ViewGroup, andThen: (ViewGroup) -> Unit): ComposeView {
         val composeView = ComposeView(root.context)
@@ -99,6 +106,8 @@
                     ongoingCallController = ongoingCallController,
                     darkIconDispatcher = darkIconDispatcher,
                     eventAnimationInteractor = eventAnimationInteractor,
+                    mediaHierarchyManager = mediaHierarchyManager,
+                    mediaHost = mediaHost,
                     onViewCreated = andThen,
                 )
             }
@@ -130,6 +139,8 @@
     ongoingCallController: OngoingCallController,
     darkIconDispatcher: DarkIconDispatcher,
     eventAnimationInteractor: SystemStatusEventAnimationInteractor,
+    mediaHierarchyManager: MediaHierarchyManager,
+    mediaHost: MediaHost,
     onViewCreated: (ViewGroup) -> Unit,
 ) {
     val displayId = parent.context.displayId
@@ -237,6 +248,15 @@
 
                     // Add a composable container for `StatusBarPopupChip`s
                     if (StatusBarPopupChips.isEnabled) {
+                        with(mediaHost) {
+                            expansion = MediaHostState.EXPANDED
+                            expandedMatchesParentHeight = true
+                            showsOnlyActiveMedia = true
+                            falsingProtectionNeeded = false
+                            disablePagination = true
+                            init(MediaHierarchyManager.LOCATION_STATUS_BAR_POPUP)
+                        }
+
                         val endSideContent =
                             phoneStatusBarView.requireViewById<AlphaOptimizedLinearLayout>(
                                 R.id.status_bar_end_side_content
@@ -256,7 +276,12 @@
 
                                 setContent {
                                     StatusBarPopupChipsContainer(
-                                        chips = statusBarViewModel.popupChips
+                                        chips = statusBarViewModel.popupChips,
+                                        mediaHost = mediaHost,
+                                        onMediaControlPopupVisibilityChanged = { popupShowing ->
+                                            mediaHierarchyManager.isMediaControlPopupShowing =
+                                                popupShowing
+                                        },
                                     )
                                 }
                             }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ui/viewmodel/KeyguardStatusBarViewModel.kt b/packages/SystemUI/src/com/android/systemui/statusbar/ui/viewmodel/KeyguardStatusBarViewModel.kt
index 7d9a7d4..2dc17f4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ui/viewmodel/KeyguardStatusBarViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ui/viewmodel/KeyguardStatusBarViewModel.kt
@@ -78,6 +78,7 @@
                 currentScene == Scenes.Lockscreen &&
                     Overlays.NotificationsShade !in currentOverlays &&
                     Overlays.QuickSettingsShade !in currentOverlays &&
+                    Overlays.Bouncer !in currentOverlays &&
                     !isDozing &&
                     !showHeadsUpStatusBar
             }
diff --git a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/TouchpadTutorialModule.kt b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/TouchpadTutorialModule.kt
index d8a9527..d2f1d3c 100644
--- a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/TouchpadTutorialModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/TouchpadTutorialModule.kt
@@ -133,14 +133,14 @@
     override fun BackGesture(
         onDoneButtonClicked: () -> Unit,
         onBack: () -> Unit,
-        isAutoProceed: Boolean,
+        onAutoProceed: (suspend () -> Unit)?,
     ) {
         BackGestureTutorialScreen(
             backGestureScreenViewModel,
             easterEggGestureViewModel,
             onDoneButtonClicked,
             onBack,
-            isAutoProceed,
+            onAutoProceed,
         )
     }
 
@@ -148,14 +148,14 @@
     override fun HomeGesture(
         onDoneButtonClicked: () -> Unit,
         onBack: () -> Unit,
-        isAutoProceed: Boolean,
+        onAutoProceed: (suspend () -> Unit)?,
     ) {
         HomeGestureTutorialScreen(
             homeGestureScreenViewModel,
             easterEggGestureViewModel,
             onDoneButtonClicked,
             onBack,
-            isAutoProceed,
+            onAutoProceed,
         )
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/composable/BackGestureTutorialScreen.kt b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/composable/BackGestureTutorialScreen.kt
index c28483c..2e2a97d9 100644
--- a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/composable/BackGestureTutorialScreen.kt
+++ b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/composable/BackGestureTutorialScreen.kt
@@ -33,7 +33,7 @@
     easterEggGestureViewModel: EasterEggGestureViewModel,
     onDoneButtonClicked: () -> Unit,
     onBack: () -> Unit,
-    isAutoProceed: Boolean = false,
+    onAutoProceed: (suspend () -> Unit)? = null,
 ) {
     val screenConfig =
         TutorialScreenConfig(
@@ -48,7 +48,6 @@
                     bodyErrorResId = R.string.touchpad_back_gesture_error_body,
                 ),
             animations = TutorialScreenConfig.Animations(educationResId = R.raw.trackpad_back_edu),
-            hasNextButton = isAutoProceed,
         )
     GestureTutorialScreen(
         screenConfig = screenConfig,
@@ -61,6 +60,7 @@
         onEasterEggFinished = easterEggGestureViewModel::onEasterEggFinished,
         onDoneButtonClicked = onDoneButtonClicked,
         onBack = onBack,
+        onAutoProceed = onAutoProceed,
     )
 }
 
diff --git a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/composable/GestureTutorialScreen.kt b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/composable/GestureTutorialScreen.kt
index 47c82e3..db3e31b 100644
--- a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/composable/GestureTutorialScreen.kt
+++ b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/composable/GestureTutorialScreen.kt
@@ -49,6 +49,7 @@
     onEasterEggFinished: () -> Unit,
     onDoneButtonClicked: () -> Unit,
     onBack: () -> Unit,
+    onAutoProceed: (suspend () -> Unit)? = null,
 ) {
     BackHandler(onBack = onBack)
     var cachedTutorialState: TutorialActionState by
@@ -64,7 +65,7 @@
         easterEggTriggered,
         onEasterEggFinished,
     ) {
-        ActionTutorialContent(tutorialState, onDoneButtonClicked, screenConfig)
+        ActionTutorialContent(tutorialState, onDoneButtonClicked, screenConfig, onAutoProceed)
     }
 }
 
diff --git a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/composable/HomeGestureTutorialScreen.kt b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/composable/HomeGestureTutorialScreen.kt
index b238a8d..3e27dfb 100644
--- a/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/composable/HomeGestureTutorialScreen.kt
+++ b/packages/SystemUI/src/com/android/systemui/touchpad/tutorial/ui/composable/HomeGestureTutorialScreen.kt
@@ -32,7 +32,7 @@
     easterEggGestureViewModel: EasterEggGestureViewModel,
     onDoneButtonClicked: () -> Unit,
     onBack: () -> Unit,
-    isAutoProceed: Boolean = false,
+    onAutoProceed: (suspend () -> Unit)? = null,
 ) {
     val screenConfig =
         TutorialScreenConfig(
@@ -47,7 +47,6 @@
                     bodyErrorResId = R.string.touchpad_home_gesture_error_body,
                 ),
             animations = TutorialScreenConfig.Animations(educationResId = R.raw.trackpad_home_edu),
-            hasNextButton = isAutoProceed,
         )
     GestureTutorialScreen(
         screenConfig = screenConfig,
@@ -60,6 +59,7 @@
         onEasterEggFinished = easterEggGestureViewModel::onEasterEggFinished,
         onDoneButtonClicked = onDoneButtonClicked,
         onBack = onBack,
+        onAutoProceed = onAutoProceed,
     )
 }
 
diff --git a/packages/SystemUI/src/com/android/systemui/user/domain/interactor/UserLockedInteractor.kt b/packages/SystemUI/src/com/android/systemui/user/domain/interactor/UserLockedInteractor.kt
index ef29a38..3bd8af6 100644
--- a/packages/SystemUI/src/com/android/systemui/user/domain/interactor/UserLockedInteractor.kt
+++ b/packages/SystemUI/src/com/android/systemui/user/domain/interactor/UserLockedInteractor.kt
@@ -18,12 +18,20 @@
 
 import android.os.UserHandle
 import com.android.systemui.dagger.SysUISingleton
+import com.android.systemui.dagger.qualifiers.Background
 import com.android.systemui.user.data.repository.UserRepository
 import javax.inject.Inject
+import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.flowOn
 
 @SysUISingleton
-class UserLockedInteractor @Inject constructor(val userRepository: UserRepository) {
+class UserLockedInteractor
+@Inject
+constructor(
+    @Background val backgroundDispatcher: CoroutineDispatcher,
+    val userRepository: UserRepository,
+) {
     fun isUserUnlocked(userHandle: UserHandle?): Flow<Boolean> =
-        userRepository.isUserUnlocked(userHandle)
+        userRepository.isUserUnlocked(userHandle).flowOn(backgroundDispatcher)
 }
diff --git a/packages/SystemUI/src/com/android/systemui/volume/Events.java b/packages/SystemUI/src/com/android/systemui/volume/Events.java
index e10d1cb..b8eb518 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/Events.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/Events.java
@@ -37,16 +37,16 @@
 public class Events {
     private static final String TAG = Util.logTag(Events.class);
 
-    public static final int EVENT_SHOW_DIALOG = 0;  // (reason|int) (keyguard|bool)
-    public static final int EVENT_DISMISS_DIALOG = 1; // (reason|int)
+    @Deprecated public static final int EVENT_SHOW_DIALOG = 0;  // (reason|int) (keyguard|bool)
+    @Deprecated public static final int EVENT_DISMISS_DIALOG = 1; // (reason|int)
     public static final int EVENT_ACTIVE_STREAM_CHANGED = 2; // (stream|int)
     public static final int EVENT_EXPAND = 3; // (expand|bool)
     public static final int EVENT_KEY = 4; // (stream|int) (lastAudibleStreamVolume)
     public static final int EVENT_COLLECTION_STARTED = 5;
     public static final int EVENT_COLLECTION_STOPPED = 6;
-    public static final int EVENT_ICON_CLICK = 7; // (stream|int) (icon_state|int)
-    public static final int EVENT_SETTINGS_CLICK = 8;
-    public static final int EVENT_TOUCH_LEVEL_CHANGED = 9; // (stream|int) (level|int)
+    @Deprecated public static final int EVENT_ICON_CLICK = 7; // (stream|int) (icon_state|int)
+    @Deprecated public static final int EVENT_SETTINGS_CLICK = 8;
+    @Deprecated public static final int EVENT_TOUCH_LEVEL_CHANGED = 9; // (stream|int) (level|int)
     public static final int EVENT_LEVEL_CHANGED = 10; // (stream|int) (level|int)
     public static final int EVENT_INTERNAL_RINGER_MODE_CHANGED = 11; // (mode|int)
     public static final int EVENT_EXTERNAL_RINGER_MODE_CHANGED = 12; // (mode|int)
@@ -55,12 +55,12 @@
     public static final int EVENT_MUTE_CHANGED = 15;  // (stream|int) (muted|bool)
     public static final int EVENT_TOUCH_LEVEL_DONE = 16;  // (stream|int) (level|int)
     public static final int EVENT_ZEN_CONFIG_CHANGED = 17; // (allow/disallow|string)
-    public static final int EVENT_RINGER_TOGGLE = 18; // (ringer_mode)
+    @Deprecated  public static final int EVENT_RINGER_TOGGLE = 18; // (ringer_mode)
     public static final int EVENT_SHOW_USB_OVERHEAT_ALARM = 19; // (reason|int) (keyguard|bool)
     public static final int EVENT_DISMISS_USB_OVERHEAT_ALARM = 20; // (reason|int) (keyguard|bool)
     public static final int EVENT_ODI_CAPTIONS_CLICK = 21;
     public static final int EVENT_ODI_CAPTIONS_TOOLTIP_CLICK = 22;
-    public static final int EVENT_SLIDER_TOUCH_TRACKING = 23; // (tracking|bool)
+    @Deprecated public static final int EVENT_SLIDER_TOUCH_TRACKING = 23; // (tracking|bool)
 
     private static final String[] EVENT_TAGS = {
             "show_dialog",
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/binder/VolumeDialogRingerViewBinder.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/binder/VolumeDialogRingerViewBinder.kt
index 0bdf99e..14eede6 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/binder/VolumeDialogRingerViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/binder/VolumeDialogRingerViewBinder.kt
@@ -24,6 +24,7 @@
 import androidx.annotation.LayoutRes
 import androidx.compose.ui.util.fastForEachIndexed
 import androidx.constraintlayout.motion.widget.MotionLayout
+import androidx.constraintlayout.motion.widget.MotionScene
 import androidx.dynamicanimation.animation.FloatValueHolder
 import androidx.dynamicanimation.animation.SpringAnimation
 import androidx.dynamicanimation.animation.SpringForce
@@ -47,6 +48,7 @@
 import javax.inject.Inject
 import kotlin.properties.Delegates
 import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.coroutineScope
 import kotlinx.coroutines.delay
 import kotlinx.coroutines.flow.mapLatest
@@ -55,6 +57,7 @@
 // Ensure roundness and color of button is updated when progress is changed by a minimum fraction.
 private const val BUTTON_MIN_VISIBLE_CHANGE = 0.05F
 
+@OptIn(ExperimentalCoroutinesApi::class)
 @VolumeDialogScope
 class VolumeDialogRingerViewBinder
 @Inject
@@ -208,6 +211,13 @@
                                     ringerState.orientation,
                                     ringerBackgroundView,
                                 )
+                                drawerContainer
+                                    .getTransition(R.id.close_to_open_transition)
+                                    .setInterpolatorInfo(
+                                        MotionScene.Transition.INTERPOLATE_REFERENCE_ID,
+                                        null,
+                                        R.anim.volume_dialog_ringer_open,
+                                    )
                                 drawerContainer.transitionToState(
                                     R.id.volume_dialog_ringer_drawer_open
                                 )
@@ -370,6 +380,12 @@
         orientation: Int,
     ) {
         setTransition(R.id.close_to_open_transition)
+        getTransition(R.id.close_to_open_transition)
+            .setInterpolatorInfo(
+                MotionScene.Transition.INTERPOLATE_REFERENCE_ID,
+                null,
+                R.anim.volume_dialog_ringer_close,
+            )
         updateCloseState(this, selectedIndex, orientation, ringerBackground)
         transitionToState(R.id.volume_dialog_ringer_drawer_close)
     }
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/viewmodel/VolumeDialogRingerDrawerViewModel.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/viewmodel/VolumeDialogRingerDrawerViewModel.kt
index b0d6d622..69a939a 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/viewmodel/VolumeDialogRingerDrawerViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/ringer/ui/viewmodel/VolumeDialogRingerDrawerViewModel.kt
@@ -25,6 +25,7 @@
 import android.os.VibrationEffect
 import android.widget.Toast
 import com.android.internal.R as internalR
+import com.android.internal.logging.UiEventLogger
 import com.android.settingslib.Utils
 import com.android.settingslib.notification.domain.interactor.NotificationsSoundPolicyInteractor
 import com.android.settingslib.volume.shared.model.AudioStream
@@ -43,6 +44,7 @@
 import com.android.systemui.volume.dialog.ringer.domain.VolumeDialogRingerInteractor
 import com.android.systemui.volume.dialog.ringer.shared.model.VolumeDialogRingerModel
 import com.android.systemui.volume.dialog.shared.VolumeDialogLogger
+import com.android.systemui.volume.dialog.ui.VolumeDialogUiEvent
 import javax.inject.Inject
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.CoroutineScope
@@ -73,6 +75,7 @@
     private val volumeDialogLogger: VolumeDialogLogger,
     private val visibilityInteractor: VolumeDialogVisibilityInteractor,
     configurationController: ConfigurationController,
+    private val uiEventLogger: UiEventLogger,
     private val systemClock: SystemClock,
 ) {
 
@@ -112,6 +115,7 @@
             .build()
 
     private var lastClickTime = 0L
+
     init {
         ringerViewModel
             .onEach { viewModelState ->
@@ -137,6 +141,7 @@
             provideTouchFeedback(ringerMode)
             maybeShowToast(ringerMode)
             ringerInteractor.setRingerMode(ringerMode)
+            ringerMode.toVolumeDialogUiEvent()?.let(uiEventLogger::log)
         }
         visibilityInteractor.resetDismissTimeout()
         drawerState.value =
@@ -312,3 +317,12 @@
         }
     }
 }
+
+private fun RingerMode.toVolumeDialogUiEvent(): VolumeDialogUiEvent? {
+    return when (value) {
+        RINGER_MODE_NORMAL -> VolumeDialogUiEvent.RINGER_MODE_NORMAL
+        RINGER_MODE_VIBRATE -> VolumeDialogUiEvent.RINGER_MODE_VIBRATE
+        RINGER_MODE_SILENT -> VolumeDialogUiEvent.RINGER_MODE_SILENT
+        else -> null
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/settings/ui/viewmodel/VolumeDialogSettingsButtonViewModel.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/settings/ui/viewmodel/VolumeDialogSettingsButtonViewModel.kt
index 0e4e707..94c66cc 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dialog/settings/ui/viewmodel/VolumeDialogSettingsButtonViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/settings/ui/viewmodel/VolumeDialogSettingsButtonViewModel.kt
@@ -32,12 +32,14 @@
 import com.airbnb.lottie.model.KeyPath
 import com.airbnb.lottie.value.LottieValueCallback
 import com.android.internal.R as internalR
+import com.android.internal.logging.UiEventLogger
 import com.android.systemui.dagger.qualifiers.Application
 import com.android.systemui.dagger.qualifiers.UiBackground
 import com.android.systemui.lottie.await
 import com.android.systemui.res.R
 import com.android.systemui.volume.dialog.dagger.scope.VolumeDialog
 import com.android.systemui.volume.dialog.settings.domain.VolumeDialogSettingsButtonInteractor
+import com.android.systemui.volume.dialog.ui.VolumeDialogUiEvent
 import com.android.systemui.volume.panel.component.mediaoutput.domain.interactor.MediaDeviceSessionInteractor
 import com.android.systemui.volume.panel.component.mediaoutput.domain.interactor.MediaOutputInteractor
 import com.android.systemui.volume.panel.shared.model.filterData
@@ -71,6 +73,7 @@
     mediaOutputInteractor: MediaOutputInteractor,
     private val mediaDeviceSessionInteractor: MediaDeviceSessionInteractor,
     private val interactor: VolumeDialogSettingsButtonInteractor,
+    private val uiEventLogger: UiEventLogger,
 ) {
 
     @SuppressLint("UseCompatLoadingForDrawables")
@@ -160,6 +163,7 @@
 
     fun onButtonClicked() {
         interactor.onButtonClicked()
+        uiEventLogger.log(VolumeDialogUiEvent.VOLUME_DIALOG_SETTINGS_CLICK)
     }
 
     private data class PlaybackStates(val isPreviousActive: Boolean?, val isCurrentActive: Boolean)
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/sliders/ui/VolumeDialogSliderViewBinder.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/sliders/ui/VolumeDialogSliderViewBinder.kt
index 1c0fabe..a0e3fbd 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dialog/sliders/ui/VolumeDialogSliderViewBinder.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/sliders/ui/VolumeDialogSliderViewBinder.kt
@@ -23,6 +23,7 @@
 import androidx.compose.animation.fadeIn
 import androidx.compose.animation.fadeOut
 import androidx.compose.foundation.gestures.Orientation
+import androidx.compose.foundation.interaction.DragInteraction
 import androidx.compose.foundation.interaction.MutableInteractionSource
 import androidx.compose.foundation.layout.BoxScope
 import androidx.compose.foundation.layout.padding
@@ -58,7 +59,6 @@
 import com.android.systemui.volume.haptics.ui.VolumeHapticsConfigsProvider
 import javax.inject.Inject
 import kotlin.math.round
-import kotlin.math.roundToInt
 import kotlinx.coroutines.coroutineScope
 import kotlinx.coroutines.currentCoroutineContext
 import kotlinx.coroutines.isActive
@@ -136,7 +136,7 @@
                 )
                 .also { sliderState ->
                     sliderState.onValueChangeFinished = {
-                        viewModel.onStreamChangeFinished(sliderState.value.roundToInt())
+                        viewModel.onSliderChangeFinished(sliderState.value)
                         hapticsViewModel?.onValueChangeEnded()
                     }
                     sliderState.onValueChange = { newValue ->
@@ -161,6 +161,15 @@
             hapticsViewModel?.onValueChange(value)
         }
     }
+    LaunchedEffect(interactionSource) {
+        interactionSource.interactions.collect {
+            when (it) {
+                is DragInteraction.Start -> viewModel.onSliderDragStarted()
+                is DragInteraction.Cancel -> viewModel.onSliderDragFinished()
+                is DragInteraction.Stop -> viewModel.onSliderDragFinished()
+            }
+        }
+    }
 
     VerticalSlider(
         state = sliderState,
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/sliders/ui/viewmodel/VolumeDialogSliderViewModel.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/sliders/ui/viewmodel/VolumeDialogSliderViewModel.kt
index 9ac052a..19b2880 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dialog/sliders/ui/viewmodel/VolumeDialogSliderViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/sliders/ui/viewmodel/VolumeDialogSliderViewModel.kt
@@ -19,6 +19,7 @@
 import androidx.compose.ui.geometry.Offset
 import androidx.compose.ui.input.pointer.PointerEvent
 import androidx.compose.ui.input.pointer.PointerEventType
+import com.android.internal.logging.UiEventLogger
 import com.android.systemui.util.time.SystemClock
 import com.android.systemui.volume.Events
 import com.android.systemui.volume.dialog.dagger.scope.VolumeDialog
@@ -30,6 +31,7 @@
 import com.android.systemui.volume.dialog.sliders.domain.interactor.VolumeDialogSliderInteractor
 import com.android.systemui.volume.dialog.sliders.domain.model.VolumeDialogSliderType
 import com.android.systemui.volume.dialog.sliders.shared.model.SliderInputEvent
+import com.android.systemui.volume.dialog.ui.VolumeDialogUiEvent
 import javax.inject.Inject
 import kotlin.math.roundToInt
 import kotlinx.coroutines.CoroutineScope
@@ -69,6 +71,7 @@
     private val inputEventsInteractor: VolumeDialogSliderInputEventsInteractor,
     private val systemClock: SystemClock,
     private val logger: VolumeDialogLogger,
+    private val uiEventLogger: UiEventLogger,
 ) {
 
     private val userVolumeUpdates = MutableStateFlow<VolumeUpdate?>(null)
@@ -99,9 +102,11 @@
                                     isMuted = isMuted,
                                     isRoutedToBluetooth = routedToBluetooth,
                                 )
+
                             is VolumeDialogSliderType.RemoteMediaStream -> {
                                 volumeDialogSliderIconProvider.getCastIcon(isMuted)
                             }
+
                             is VolumeDialogSliderType.AudioSharingStream -> {
                                 volumeDialogSliderIconProvider.getAudioSharingIcon(isMuted)
                             }
@@ -135,8 +140,19 @@
         }
     }
 
-    fun onStreamChangeFinished(volume: Int) {
-        logger.onVolumeSliderAdjustmentFinished(volume = volume, stream = sliderType.audioStream)
+    fun onSliderDragStarted() {
+        uiEventLogger.log(VolumeDialogUiEvent.VOLUME_DIALOG_SLIDER_STARTED_TRACKING_TOUCH)
+    }
+
+    fun onSliderDragFinished() {
+        uiEventLogger.log(VolumeDialogUiEvent.VOLUME_DIALOG_SLIDER_STOPPED_TRACKING_TOUCH)
+    }
+
+    fun onSliderChangeFinished(volume: Float) {
+        logger.onVolumeSliderAdjustmentFinished(
+            volume = volume.roundToInt(),
+            stream = sliderType.audioStream,
+        )
     }
 
     fun onTouchEvent(pointerEvent: PointerEvent) {
@@ -146,14 +162,17 @@
                 inputEventsInteractor.onTouchEvent(
                     SliderInputEvent.Touch.Start(position.x, position.y)
                 )
+
             PointerEventType.Move ->
                 inputEventsInteractor.onTouchEvent(
                     SliderInputEvent.Touch.Move(position.x, position.y)
                 )
+
             PointerEventType.Scroll ->
                 inputEventsInteractor.onTouchEvent(
                     SliderInputEvent.Touch.Move(position.x, position.y)
                 )
+
             PointerEventType.Release ->
                 inputEventsInteractor.onTouchEvent(
                     SliderInputEvent.Touch.End(position.x, position.y)
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/ui/VolumeDialogUiEvent.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/ui/VolumeDialogUiEvent.kt
new file mode 100644
index 0000000..cf1b69e
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/ui/VolumeDialogUiEvent.kt
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2025 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.systemui.volume.dialog.ui
+
+import com.android.internal.logging.UiEvent
+import com.android.internal.logging.UiEventLogger
+
+/** UI events for Volume Dialog. */
+enum class VolumeDialogUiEvent(val metricId: Int) : UiEventLogger.UiEventEnum {
+    @UiEvent(doc = "The ringer mode was toggled to silent") RINGER_MODE_SILENT(154),
+    @UiEvent(doc = "The ringer mode was toggled to vibrate") RINGER_MODE_VIBRATE(155),
+    @UiEvent(doc = "The ringer mode was toggled to normal") RINGER_MODE_NORMAL(334),
+    @UiEvent(doc = "The volume dialog settings icon was clicked") VOLUME_DIALOG_SETTINGS_CLICK(143),
+    @UiEvent(doc = "The volume dialog was shown because the volume changed")
+    VOLUME_DIALOG_SHOW_VOLUME_CHANGED(128),
+    @UiEvent(doc = "The volume dialog was shown because the volume changed remotely")
+    VOLUME_DIALOG_SHOW_REMOTE_VOLUME_CHANGED(129),
+    @UiEvent(doc = "The volume dialog was shown because the usb high temperature alarm changed")
+    VOLUME_DIALOG_SHOW_USB_TEMP_ALARM_CHANGED(130),
+    @UiEvent(doc = "The volume dialog was dismissed because of a touch outside the dialog")
+    VOLUME_DIALOG_DISMISS_TOUCH_OUTSIDE(134),
+    @UiEvent(
+        doc =
+            "The system asked the volume dialog to close, e.g. for a navigation bar " +
+                "touch, or ActivityManager ACTION_CLOSE_SYSTEM_DIALOGS broadcast."
+    )
+    VOLUME_DIALOG_DISMISS_SYSTEM(135),
+    @UiEvent(doc = "The volume dialog was dismissed because it timed out")
+    VOLUME_DIALOG_DISMISS_TIMEOUT(136),
+    @UiEvent(doc = "The volume dialog was dismissed because the screen turned off")
+    VOLUME_DIALOG_DISMISS_SCREEN_OFF(137),
+    @UiEvent(doc = "The volume dialog was dismissed because the settings icon was clicked")
+    VOLUME_DIALOG_DISMISS_SETTINGS(138),
+    @UiEvent(doc = "The volume dialog was dismissed because the stream no longer exists")
+    VOLUME_DIALOG_DISMISS_STREAM_GONE(140),
+    @UiEvent(
+        doc = "The volume dialog was dismissed because the usb high temperature alarm " + "changed"
+    )
+    VOLUME_DIALOG_DISMISS_USB_TEMP_ALARM_CHANGED(142),
+    @UiEvent(doc = "The right-most slider started tracking touch")
+    VOLUME_DIALOG_SLIDER_STARTED_TRACKING_TOUCH(1620),
+    @UiEvent(doc = "The right-most slider stopped tracking touch")
+    VOLUME_DIALOG_SLIDER_STOPPED_TRACKING_TOUCH(1621);
+
+    override fun getId() = metricId
+}
diff --git a/packages/SystemUI/src/com/android/systemui/volume/dialog/ui/viewmodel/VolumeDialogPluginViewModel.kt b/packages/SystemUI/src/com/android/systemui/volume/dialog/ui/viewmodel/VolumeDialogPluginViewModel.kt
index 1765f01..6d16300 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/dialog/ui/viewmodel/VolumeDialogPluginViewModel.kt
+++ b/packages/SystemUI/src/com/android/systemui/volume/dialog/ui/viewmodel/VolumeDialogPluginViewModel.kt
@@ -16,6 +16,7 @@
 
 package com.android.systemui.volume.dialog.ui.viewmodel
 
+import com.android.internal.logging.UiEventLogger
 import com.android.systemui.volume.Events
 import com.android.systemui.volume.dialog.VolumeDialog
 import com.android.systemui.volume.dialog.dagger.scope.VolumeDialogPlugin
@@ -26,6 +27,7 @@
 import com.android.systemui.volume.dialog.shared.VolumeDialogLogger
 import com.android.systemui.volume.dialog.shared.model.CsdWarningConfigModel
 import com.android.systemui.volume.dialog.shared.model.VolumeDialogVisibilityModel
+import com.android.systemui.volume.dialog.ui.VolumeDialogUiEvent
 import javax.inject.Inject
 import javax.inject.Provider
 import kotlinx.coroutines.CoroutineScope
@@ -44,6 +46,7 @@
     private val volumeDialogProvider: Provider<VolumeDialog>,
     private val logger: VolumeDialogLogger,
     val csdWarningConfigModel: CsdWarningConfigModel,
+    private val uiEventLogger: UiEventLogger,
 ) {
 
     fun launchVolumeDialog() {
@@ -52,11 +55,11 @@
                 with(visibilityModel) {
                     if (this is VolumeDialogVisibilityModel.Visible) {
                         showDialog()
-                        Events.writeEvent(Events.EVENT_SHOW_DIALOG, reason, keyguardLocked)
+                        toVolumeDialogUiEvent()?.let(uiEventLogger::log)
                         logger.onShow(reason)
                     }
                     if (this is VolumeDialogVisibilityModel.Dismissed) {
-                        Events.writeEvent(Events.EVENT_DISMISS_DIALOG, reason)
+                        toVolumeDialogUiEvent()?.let(uiEventLogger::log)
                         logger.onDismiss(reason)
                     }
                 }
@@ -86,3 +89,29 @@
             .show()
     }
 }
+
+private fun VolumeDialogVisibilityModel.Dismissed.toVolumeDialogUiEvent(): VolumeDialogUiEvent? {
+    return when (reason) {
+        Events.DISMISS_REASON_TOUCH_OUTSIDE ->
+            VolumeDialogUiEvent.VOLUME_DIALOG_DISMISS_TOUCH_OUTSIDE
+        Events.DISMISS_REASON_VOLUME_CONTROLLER -> VolumeDialogUiEvent.VOLUME_DIALOG_DISMISS_SYSTEM
+        Events.DISMISS_REASON_TIMEOUT -> VolumeDialogUiEvent.VOLUME_DIALOG_DISMISS_TIMEOUT
+        Events.DISMISS_REASON_SCREEN_OFF -> VolumeDialogUiEvent.VOLUME_DIALOG_DISMISS_SCREEN_OFF
+        Events.DISMISS_REASON_SETTINGS_CLICKED -> VolumeDialogUiEvent.VOLUME_DIALOG_DISMISS_SETTINGS
+        Events.DISMISS_STREAM_GONE -> VolumeDialogUiEvent.VOLUME_DIALOG_DISMISS_STREAM_GONE
+        Events.DISMISS_REASON_USB_OVERHEAD_ALARM_CHANGED ->
+            VolumeDialogUiEvent.VOLUME_DIALOG_DISMISS_USB_TEMP_ALARM_CHANGED
+        else -> null
+    }
+}
+
+private fun VolumeDialogVisibilityModel.Visible.toVolumeDialogUiEvent(): VolumeDialogUiEvent? {
+    return when (reason) {
+        Events.SHOW_REASON_VOLUME_CHANGED -> VolumeDialogUiEvent.VOLUME_DIALOG_SHOW_VOLUME_CHANGED
+        Events.SHOW_REASON_REMOTE_VOLUME_CHANGED ->
+            VolumeDialogUiEvent.VOLUME_DIALOG_SHOW_REMOTE_VOLUME_CHANGED
+        Events.SHOW_REASON_USB_OVERHEAD_ALARM_CHANGED ->
+            VolumeDialogUiEvent.VOLUME_DIALOG_SHOW_USB_TEMP_ALARM_CHANGED
+        else -> null
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java b/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java
index e764015..b23efce 100644
--- a/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java
+++ b/packages/SystemUI/src/com/android/systemui/wmshell/BubblesManager.java
@@ -23,6 +23,7 @@
 import static android.service.notification.NotificationListenerService.REASON_APP_CANCEL_ALL;
 import static android.service.notification.NotificationListenerService.REASON_GROUP_SUMMARY_CANCELED;
 import static android.service.notification.NotificationListenerService.REASON_PACKAGE_BANNED;
+import static android.service.notification.NotificationListenerService.REASON_PACKAGE_CHANGED;
 import static android.service.notification.NotificationStats.DISMISSAL_BUBBLE;
 import static android.service.notification.NotificationStats.DISMISS_SENTIMENT_NEUTRAL;
 
@@ -451,7 +452,8 @@
             public void onEntryRemoved(NotificationEntry entry,
                     @NotifCollection.CancellationReason int reason) {
                 if (reason == REASON_APP_CANCEL || reason == REASON_APP_CANCEL_ALL
-                        || reason == REASON_PACKAGE_BANNED) {
+                        || reason == REASON_PACKAGE_BANNED
+                        || reason == REASON_PACKAGE_CHANGED) {
                     BubblesManager.this.onEntryRemoved(entry);
                 }
             }
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java
index e2cfbc6..a42f5d3 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java
@@ -65,6 +65,8 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import static java.util.Collections.emptySet;
+
 import android.app.Activity;
 import android.app.ActivityTaskManager;
 import android.app.IActivityTaskManager;
@@ -155,6 +157,7 @@
 import com.android.systemui.plugins.statusbar.StatusBarStateController;
 import com.android.systemui.scene.domain.interactor.SceneInteractor;
 import com.android.systemui.scene.shared.flag.SceneContainerFlag;
+import com.android.systemui.scene.shared.model.Overlays;
 import com.android.systemui.scene.shared.model.Scenes;
 import com.android.systemui.settings.UserTracker;
 import com.android.systemui.shared.system.TaskStackChangeListener;
@@ -190,6 +193,7 @@
 import java.util.List;
 import java.util.Optional;
 import java.util.Random;
+import java.util.Set;
 import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -2775,7 +2779,7 @@
         private void setPrimaryBouncerVisibility(boolean isVisible) {
             if (SceneContainerFlag.isEnabled()) {
                 ObservableTransitionState transitionState = new ObservableTransitionState.Idle(
-                        isVisible ? Scenes.Bouncer : Scenes.Lockscreen);
+                        Scenes.Lockscreen, isVisible ? Set.of(Overlays.Bouncer) : emptySet());
                 when(mSceneInteractor.getTransitionState()).thenReturn(
                         MutableStateFlow(transitionState));
                 onTransitionStateChanged(transitionState);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/animation/FontInterpolatorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/animation/FontInterpolatorTest.kt
index 2e63439..c2a495d 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/animation/FontInterpolatorTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/animation/FontInterpolatorTest.kt
@@ -64,6 +64,12 @@
             "'wght' 500, 'ital' 0.5, 'GRAD' 450",
             interp.lerp(startFont, endFont, 0.5f, 0.5f),
         )
+
+        // Ensure axes rounded correctly to nearest step
+        assertSameAxes(
+            "'wght' 490, 'ital' 0.5, 'GRAD' 446",
+            interp.lerp(startFont, endFont, 0.492f, 0.492f),
+        )
     }
 
     @Test
diff --git a/packages/SystemUI/tests/src/com/android/systemui/bouncer/ui/composable/BouncerContentTest.kt b/packages/SystemUI/tests/src/com/android/systemui/bouncer/ui/composable/BouncerContentTest.kt
index 1320223..4e08596 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/bouncer/ui/composable/BouncerContentTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/bouncer/ui/composable/BouncerContentTest.kt
@@ -33,7 +33,7 @@
 import com.android.systemui.authentication.data.repository.fakeAuthenticationRepository
 import com.android.systemui.authentication.shared.model.AuthenticationMethodModel
 import com.android.systemui.bouncer.ui.BouncerDialogFactory
-import com.android.systemui.bouncer.ui.viewmodel.bouncerSceneContentViewModelFactory
+import com.android.systemui.bouncer.ui.viewmodel.bouncerOverlayContentViewModelFactory
 import com.android.systemui.flags.Flags
 import com.android.systemui.flags.fakeFeatureFlagsClassic
 import com.android.systemui.lifecycle.rememberViewModel
@@ -98,9 +98,9 @@
             BouncerContent(
                 viewModel =
                     rememberViewModel("test") {
-                        kosmos.bouncerSceneContentViewModelFactory.create()
+                        kosmos.bouncerOverlayContentViewModelFactory.create()
                     },
-                layout = BouncerSceneLayout.BESIDE_USER_SWITCHER,
+                layout = BouncerOverlayLayout.BESIDE_USER_SWITCHER,
                 modifier = Modifier.fillMaxSize().testTag("BouncerContent"),
                 dialogFactory = bouncerDialogFactory,
             )
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/animation/ColorSchemeTransitionTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/animation/ColorSchemeTransitionTest.kt
index 4d0605f..90a8ad5 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/animation/ColorSchemeTransitionTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/animation/ColorSchemeTransitionTest.kt
@@ -18,9 +18,12 @@
 
 import android.animation.ValueAnimator
 import android.graphics.Color
+import android.platform.test.annotations.DisableFlags
+import android.platform.test.annotations.EnableFlags
 import android.testing.TestableLooper
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
+import com.android.systemui.Flags
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.media.controls.ui.view.GutsViewHolder
 import com.android.systemui.media.controls.ui.view.MediaViewHolder
@@ -33,6 +36,7 @@
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
+import org.mockito.ArgumentMatchers.anyInt
 import org.mockito.Mock
 import org.mockito.Mockito.never
 import org.mockito.Mockito.times
@@ -49,7 +53,9 @@
 class ColorSchemeTransitionTest : SysuiTestCase() {
 
     private interface ExtractCB : (ColorScheme) -> Int
+
     private interface ApplyCB : (Int) -> Unit
+
     private lateinit var colorTransition: AnimatingColorTransition
     private lateinit var colorSchemeTransition: ColorSchemeTransition
 
@@ -79,7 +85,7 @@
                 mediaViewHolder,
                 multiRippleController,
                 turbulenceNoiseController,
-                animatingColorTransitionFactory
+                animatingColorTransitionFactory,
             )
 
         colorTransition =
@@ -154,10 +160,21 @@
         verify(applyColor).invoke(expectedColor)
     }
 
+    @DisableFlags(Flags.FLAG_MEDIA_CONTROLS_A11Y_COLORS)
     @Test
-    fun testColorSchemeTransition_update() {
+    fun testColorSchemeTransition_update_legacy() {
         colorSchemeTransition.updateColorScheme(colorScheme)
         verify(mockAnimatingTransition, times(8)).updateColorScheme(colorScheme)
         verify(gutsViewHolder).colorScheme = colorScheme
     }
+
+    @EnableFlags(Flags.FLAG_MEDIA_CONTROLS_A11Y_COLORS)
+    @Test
+    fun testColorSchemeTransition_update() {
+        colorSchemeTransition.updateColorScheme(colorScheme)
+        verify(mockAnimatingTransition, times(3)).updateColorScheme(colorScheme)
+        verify(gutsViewHolder).setColors(colorScheme)
+        verify(multiRippleController).updateColor(anyInt())
+        verify(turbulenceNoiseController).updateNoiseColor(anyInt())
+    }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/controller/MediaCarouselControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/controller/MediaCarouselControllerTest.kt
index aaf5559..58bae30 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/controller/MediaCarouselControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/controller/MediaCarouselControllerTest.kt
@@ -881,8 +881,15 @@
             var updatedVisibility = false
             mediaCarouselController.updateHostVisibility = { updatedVisibility = true }
             mediaCarouselController.mediaCarousel = mediaCarousel
+            kosmos.sceneInteractor.snapToScene(Scenes.Lockscreen, "")
+            kosmos.fakeDeviceEntryFingerprintAuthRepository.setAuthenticationStatus(
+                SuccessFingerprintAuthenticationStatus(0, true)
+            )
+            runCurrent()
 
             val job = mediaCarouselController.listenForAnyStateToGoneKeyguardTransition(this)
+
+            kosmos.sceneInteractor.changeScene(Scenes.Gone, "")
             kosmos.setSceneTransition(Idle(Scenes.Gone))
 
             verify(mediaCarousel).visibility = View.VISIBLE
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/controller/MediaHierarchyManagerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/controller/MediaHierarchyManagerTest.kt
index 6ca4ae2..14b1412 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/controller/MediaHierarchyManagerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/controller/MediaHierarchyManagerTest.kt
@@ -17,6 +17,7 @@
 package com.android.systemui.media.controls.ui.controller
 
 import android.graphics.Rect
+import android.platform.test.annotations.EnableFlags
 import android.provider.Settings
 import android.testing.TestableLooper
 import android.view.ViewGroup
@@ -36,7 +37,6 @@
 import com.android.systemui.keyguard.WakefulnessLifecycle
 import com.android.systemui.keyguard.data.repository.fakeKeyguardRepository
 import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository
-import com.android.systemui.keyguard.data.repository.keyguardRepository
 import com.android.systemui.keyguard.domain.interactor.keyguardInteractor
 import com.android.systemui.keyguard.shared.model.KeyguardState
 import com.android.systemui.kosmos.testScope
@@ -50,6 +50,7 @@
 import com.android.systemui.shade.domain.interactor.ShadeInteractor
 import com.android.systemui.statusbar.StatusBarState
 import com.android.systemui.statusbar.SysuiStatusBarStateController
+import com.android.systemui.statusbar.featurepods.popups.StatusBarPopupChips
 import com.android.systemui.statusbar.phone.KeyguardBypassController
 import com.android.systemui.statusbar.policy.FakeConfigurationController
 import com.android.systemui.statusbar.policy.KeyguardStateController
@@ -581,6 +582,36 @@
         }
 
     @Test
+    @EnableFlags(StatusBarPopupChips.FLAG_NAME)
+    fun testStatusBarPopupLocation() =
+        testScope.runTest {
+            mediaHierarchyManager.isMediaControlPopupShowing = true
+            runCurrent()
+
+            verify(mediaCarouselController)
+                .onDesiredLocationChanged(
+                    eq(MediaHierarchyManager.LOCATION_STATUS_BAR_POPUP),
+                    nullable(),
+                    eq(false),
+                    anyLong(),
+                    anyLong(),
+                )
+            clearInvocations(mediaCarouselController)
+
+            mediaHierarchyManager.isMediaControlPopupShowing = false
+            runCurrent()
+
+            verify(mediaCarouselController)
+                .onDesiredLocationChanged(
+                    eq(MediaHierarchyManager.LOCATION_QQS),
+                    any<MediaHostState>(),
+                    eq(false),
+                    anyLong(),
+                    anyLong(),
+                )
+        }
+
+    @Test
     fun testCommunalLocationVisibilityWithShadeShowing() =
         testScope.runTest {
             whenever(mediaDataManager.hasActiveMediaOrRecommendation()).thenReturn(true)
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/BluetoothTileTest.kt b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/BluetoothTileTest.kt
index cfe34f4..a7464e6 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/BluetoothTileTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/BluetoothTileTest.kt
@@ -39,6 +39,7 @@
 import com.android.systemui.util.mockito.mock
 import com.android.systemui.util.mockito.whenever
 import com.google.common.truth.Truth.assertThat
+import dagger.Lazy
 import kotlin.test.assertTrue
 import kotlinx.coroutines.Job
 import org.junit.After
@@ -96,8 +97,7 @@
                 qsLogger,
                 bluetoothController,
                 featureFlags,
-                bluetoothDetailsContentViewModel,
-            )
+            ) { bluetoothDetailsContentViewModel }
 
         tile.initialize()
         testableLooper.processAllMessages()
@@ -308,7 +308,7 @@
         qsLogger: QSLogger,
         bluetoothController: BluetoothController,
         featureFlags: FeatureFlagsClassic,
-        bluetoothDetailsContentViewModel: BluetoothDetailsContentViewModel,
+        lazyBluetoothDetailsContentViewModel: Lazy<BluetoothDetailsContentViewModel>,
     ) :
         BluetoothTile(
             qsHost,
@@ -322,7 +322,7 @@
             qsLogger,
             bluetoothController,
             featureFlags,
-            bluetoothDetailsContentViewModel,
+            lazyBluetoothDetailsContentViewModel,
         ) {
         var restrictionChecked: String? = null
 
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java
index e8b50d5..81213ca 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/collection/ShadeListBuilderTest.java
@@ -130,7 +130,7 @@
     private CollectionReadyForBuildListener mReadyForBuildListener;
     private List<NotificationEntryBuilder> mPendingSet = new ArrayList<>();
     private List<NotificationEntry> mEntrySet = new ArrayList<>();
-    private List<ListEntry> mBuiltList = new ArrayList<>();
+    private List<PipelineEntry> mBuiltList = new ArrayList<>();
     private TestableStabilityManager mStabilityManager;
     private TestableNotifFilter mFinalizeFilter;
 
@@ -723,26 +723,26 @@
 
     @Test
     public void testNotifSectionsChildrenUpdated() {
-        ArrayList<ListEntry> pkg1Entries = new ArrayList<>();
-        ArrayList<ListEntry> pkg2Entries = new ArrayList<>();
-        ArrayList<ListEntry> pkg3Entries = new ArrayList<>();
+        ArrayList<PipelineEntry> pkg1Entries = new ArrayList<>();
+        ArrayList<PipelineEntry> pkg2Entries = new ArrayList<>();
+        ArrayList<PipelineEntry> pkg3Entries = new ArrayList<>();
         final NotifSectioner pkg1Sectioner = spy(new PackageSectioner(PACKAGE_1) {
             @Override
-            public void onEntriesUpdated(List<ListEntry> entries) {
+            public void onEntriesUpdated(List<PipelineEntry> entries) {
                 super.onEntriesUpdated(entries);
                 pkg1Entries.addAll(entries);
             }
         });
         final NotifSectioner pkg2Sectioner = spy(new PackageSectioner(PACKAGE_2) {
             @Override
-            public void onEntriesUpdated(List<ListEntry> entries) {
+            public void onEntriesUpdated(List<PipelineEntry> entries) {
                 super.onEntriesUpdated(entries);
                 pkg2Entries.addAll(entries);
             }
         });
         final NotifSectioner pkg3Sectioner = spy(new PackageSectioner(PACKAGE_3) {
             @Override
-            public void onEntriesUpdated(List<ListEntry> entries) {
+            public void onEntriesUpdated(List<PipelineEntry> entries) {
                 super.onEntriesUpdated(entries);
                 pkg3Entries.addAll(entries);
             }
@@ -2478,7 +2478,7 @@
                     mBuiltList.size());
 
             for (int i = 0; i < expectedEntries.length; i++) {
-                ListEntry outEntry = mBuiltList.get(i);
+                PipelineEntry outEntry = mBuiltList.get(i);
                 ExpectedEntry expectedEntry = expectedEntries[i];
 
                 if (expectedEntry instanceof ExpectedNotif) {
@@ -2653,7 +2653,7 @@
         }
 
         @Override
-        public int compare(@NonNull ListEntry o1, @NonNull ListEntry o2) {
+        public int compare(@NonNull PipelineEntry o1, @NonNull PipelineEntry o2) {
             boolean contains1 = mPreferredPackages.contains(
                     o1.getRepresentativeEntry().getSbn().getPackageName());
             boolean contains2 = mPreferredPackages.contains(
@@ -2691,37 +2691,37 @@
         }
 
         @Override
-        public boolean isInSection(ListEntry entry) {
+        public boolean isInSection(PipelineEntry entry) {
             return mPackages.contains(entry.getRepresentativeEntry().getSbn().getPackageName());
         }
     }
 
     private static class RecordingOnBeforeTransformGroupsListener
             implements OnBeforeTransformGroupsListener {
-        List<ListEntry> mEntriesReceived;
+        List<PipelineEntry> mEntriesReceived;
 
         @Override
-        public void onBeforeTransformGroups(List<ListEntry> list) {
+        public void onBeforeTransformGroups(List<PipelineEntry> list) {
             mEntriesReceived = new ArrayList<>(list);
         }
     }
 
     private static class RecordingOnBeforeSortListener
             implements OnBeforeSortListener {
-        List<ListEntry> mEntriesReceived;
+        List<PipelineEntry> mEntriesReceived;
 
         @Override
-        public void onBeforeSort(List<ListEntry> list) {
+        public void onBeforeSort(List<PipelineEntry> list) {
             mEntriesReceived = new ArrayList<>(list);
         }
     }
 
     private static class RecordingOnBeforeRenderListener
             implements OnBeforeRenderListListener {
-        List<ListEntry> mEntriesReceived;
+        List<PipelineEntry> mEntriesReceived;
 
         @Override
-        public void onBeforeRenderList(List<ListEntry> list) {
+        public void onBeforeRenderList(List<PipelineEntry> list) {
             mEntriesReceived = new ArrayList<>(list);
         }
     }
@@ -2800,7 +2800,7 @@
         }
 
         @Override
-        public boolean isEntryReorderingAllowed(@NonNull ListEntry entry) {
+        public boolean isEntryReorderingAllowed(@NonNull PipelineEntry entry) {
             return mAllowEntryReodering;
         }
 
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerWithScenesTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerWithScenesTest.kt
index 99b99ee..0c0ef9d 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerWithScenesTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerWithScenesTest.kt
@@ -549,7 +549,7 @@
             if (isVisible) {
                 Scenes.Lockscreen
             } else {
-                Scenes.Bouncer
+                Scenes.Communal
             }
         sceneInteractor.changeScene(key, "test")
         sceneInteractor.setTransitionState(
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
index 1088676..ffb861d 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
@@ -113,7 +113,7 @@
 @SmallTest
 // TODO(b/381263619) there are more changes and tweaks required to match the new bouncer/shade specs
 // Disabling for now but it will be fixed before the flag is fully ramped up.
-@DisableFlags(Flags.FLAG_BOUNCER_UI_REVAMP)
+@DisableFlags({Flags.FLAG_BOUNCER_UI_REVAMP, Flags.FLAG_NOTIFICATION_SHADE_BLUR})
 public class ScrimControllerTest extends SysuiTestCase {
 
     @Rule public Expect mExpect = Expect.create();
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java
index dde6e2e..0d99c0e 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java
@@ -93,7 +93,7 @@
 import com.android.systemui.plugins.ActivityStarter;
 import com.android.systemui.plugins.ActivityStarter.OnDismissAction;
 import com.android.systemui.scene.domain.interactor.SceneInteractor;
-import com.android.systemui.scene.shared.model.Scenes;
+import com.android.systemui.scene.shared.model.Overlays;
 import com.android.systemui.shade.NotificationShadeWindowView;
 import com.android.systemui.shade.ShadeController;
 import com.android.systemui.shade.ShadeExpansionChangeEvent;
@@ -927,7 +927,7 @@
     @EnableSceneContainer
     public void showPrimaryBouncer() {
         mStatusBarKeyguardViewManager.showPrimaryBouncer(false);
-        verify(mSceneInteractor).changeScene(eq(Scenes.Bouncer), anyString());
+        verify(mSceneInteractor).showOverlay(eq(Overlays.Bouncer), anyString());
     }
 
     @Test
diff --git a/packages/SystemUI/tests/src/com/android/systemui/unfold/UnfoldLatencyTrackerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/unfold/UnfoldLatencyTrackerTest.kt
index a1122c3..a553b17 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/unfold/UnfoldLatencyTrackerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/unfold/UnfoldLatencyTrackerTest.kt
@@ -18,10 +18,12 @@
 
 import android.hardware.devicestate.DeviceStateManager
 import android.hardware.devicestate.DeviceStateManager.FoldStateListener
+import android.platform.test.annotations.DisableFlags
 import android.provider.Settings
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.SmallTest
 import com.android.internal.util.LatencyTracker
+import com.android.systemui.Flags
 import com.android.systemui.SysuiTestCase
 import com.android.systemui.foldedDeviceStateList
 import com.android.systemui.halfFoldedDeviceState
@@ -46,6 +48,7 @@
 
 @RunWith(AndroidJUnit4::class)
 @SmallTest
+@DisableFlags(Flags.FLAG_UNFOLD_LATENCY_TRACKING_FIX)
 class UnfoldLatencyTrackerTest : SysuiTestCase() {
 
     @Mock lateinit var latencyTracker: LatencyTracker
diff --git a/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java b/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java
index a38d71b..68d84ec 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java
@@ -25,6 +25,7 @@
 import static android.service.notification.NotificationListenerService.REASON_APP_CANCEL;
 import static android.service.notification.NotificationListenerService.REASON_GROUP_SUMMARY_CANCELED;
 import static android.service.notification.NotificationListenerService.REASON_PACKAGE_BANNED;
+import static android.service.notification.NotificationListenerService.REASON_PACKAGE_CHANGED;
 
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
 import static com.android.server.notification.Flags.FLAG_SCREENSHARE_NOTIFICATION_HIDING;
@@ -1126,6 +1127,18 @@
     }
 
     @Test
+    public void testNotifsPackageChanged_entryListenerRemove() {
+        mEntryListener.onEntryAdded(mRow);
+        mBubbleController.updateBubble(mBubbleEntry);
+
+        assertTrue(mBubbleController.hasBubbles());
+
+        // Removes the notification
+        mEntryListener.onEntryRemoved(mRow, REASON_PACKAGE_CHANGED);
+        assertFalse(mBubbleController.hasBubbles());
+    }
+
+    @Test
     public void removeBubble_intercepted() {
         mEntryListener.onEntryAdded(mRow);
         mBubbleController.updateBubble(mBubbleEntry);
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/bouncer/ui/viewmodel/BouncerViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/bouncer/ui/viewmodel/BouncerViewModelKosmos.kt
index 3bfd958..4d1c271 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/bouncer/ui/viewmodel/BouncerViewModelKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/bouncer/ui/viewmodel/BouncerViewModelKosmos.kt
@@ -34,9 +34,7 @@
 import com.android.systemui.user.ui.viewmodel.userSwitcherViewModel
 import kotlinx.coroutines.flow.StateFlow
 
-val Kosmos.bouncerUserActionsViewModel by Fixture {
-    BouncerUserActionsViewModel(bouncerInteractor = bouncerInteractor)
-}
+val Kosmos.bouncerUserActionsViewModel by Fixture { BouncerUserActionsViewModel() }
 
 val Kosmos.bouncerUserActionsViewModelFactory by Fixture {
     object : BouncerUserActionsViewModel.Factory {
@@ -46,8 +44,8 @@
     }
 }
 
-val Kosmos.bouncerSceneContentViewModel by Fixture {
-    BouncerSceneContentViewModel(
+val Kosmos.bouncerOverlayContentViewModel by Fixture {
+    BouncerOverlayContentViewModel(
         applicationContext = applicationContext,
         bouncerInteractor = bouncerInteractor,
         authenticationInteractor = authenticationInteractor,
@@ -65,10 +63,10 @@
     )
 }
 
-val Kosmos.bouncerSceneContentViewModelFactory by Fixture {
-    object : BouncerSceneContentViewModel.Factory {
-        override fun create(): BouncerSceneContentViewModel {
-            return bouncerSceneContentViewModel
+val Kosmos.bouncerOverlayContentViewModelFactory by Fixture {
+    object : BouncerOverlayContentViewModel.Factory {
+        override fun create(): BouncerOverlayContentViewModel {
+            return bouncerOverlayContentViewModel
         }
     }
 }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneKosmos.kt
index f0350ac..3bd8729 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/SceneKosmos.kt
@@ -32,7 +32,6 @@
         Scenes.QuickSettings,
         Scenes.Shade,
         Scenes.Lockscreen,
-        Scenes.Bouncer,
         Scenes.Gone,
         Scenes.Communal,
         Scenes.Dream,
@@ -42,7 +41,7 @@
 val Kosmos.initialSceneKey by Fixture { Scenes.Lockscreen }
 
 var Kosmos.overlayKeys by Fixture {
-    listOf(Overlays.NotificationsShade, Overlays.QuickSettingsShade)
+    listOf(Overlays.NotificationsShade, Overlays.QuickSettingsShade, Overlays.Bouncer)
 }
 
 val Kosmos.fakeOverlaysByKeys by Fixture { overlayKeys.associateWith { FakeOverlay(it) } }
@@ -62,7 +61,6 @@
             Scenes.Dream to 2,
             Scenes.Shade to 3,
             Scenes.QuickSettings to 4,
-            Scenes.Bouncer to 5,
         )
 
     SceneContainerConfig(
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryUtil.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryUtil.kt
index c95b2dc..025608a 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryUtil.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/data/repository/SceneContainerRepositoryUtil.kt
@@ -17,6 +17,7 @@
 package com.android.systemui.scene.data.repository
 
 import com.android.compose.animation.scene.ObservableTransitionState
+import com.android.compose.animation.scene.OverlayKey
 import com.android.compose.animation.scene.SceneKey
 import com.android.systemui.keyguard.data.repository.fakeKeyguardTransitionRepository
 import com.android.systemui.keyguard.shared.model.KeyguardState
@@ -38,7 +39,7 @@
     stateTransition: TransitionStep? = null,
     fillInStateSteps: Boolean = true,
     scope: TestScope = testScope,
-    repository: SceneContainerRepository = sceneContainerRepository
+    repository: SceneContainerRepository = sceneContainerRepository,
 ) {
     var state: TransitionStep? = stateTransition
     if (SceneContainerFlag.isEnabled) {
@@ -61,7 +62,7 @@
 fun Kosmos.setSceneTransition(
     transition: ObservableTransitionState,
     scope: TestScope = testScope,
-    repository: SceneContainerRepository = sceneContainerRepository
+    repository: SceneContainerRepository = sceneContainerRepository,
 ) {
     repository.setTransitionState(mutableTransitionState)
     mutableTransitionState.value = transition
@@ -76,7 +77,7 @@
     isInitiatedByUserInput: Boolean = false,
     isUserInputOngoing: Flow<Boolean> = flowOf(false),
     previewProgress: Flow<Float> = flowOf(0f),
-    isInPreviewStage: Flow<Boolean> = flowOf(false)
+    isInPreviewStage: Flow<Boolean> = flowOf(false),
 ): ObservableTransitionState.Transition {
     return ObservableTransitionState.Transition(
         fromScene = from,
@@ -86,17 +87,64 @@
         isInitiatedByUserInput = isInitiatedByUserInput,
         isUserInputOngoing = isUserInputOngoing,
         previewProgress = previewProgress,
-        isInPreviewStage = isInPreviewStage
+        isInPreviewStage = isInPreviewStage,
     )
 }
 
-fun Idle(currentScene: SceneKey): ObservableTransitionState.Idle {
-    return ObservableTransitionState.Idle(currentScene)
+fun ShowOverlay(
+    overlay: OverlayKey,
+    fromScene: SceneKey,
+    currentOverlays: Flow<Set<OverlayKey>> = flowOf(setOf(overlay)),
+    progress: Flow<Float> = flowOf(0f),
+    isInitiatedByUserInput: Boolean = false,
+    isUserInputOngoing: Flow<Boolean> = flowOf(false),
+    previewProgress: Flow<Float> = flowOf(0f),
+    isInPreviewStage: Flow<Boolean> = flowOf(false),
+): ObservableTransitionState.Transition {
+    return ObservableTransitionState.Transition.showOverlay(
+        overlay = overlay,
+        fromScene = fromScene,
+        currentOverlays = currentOverlays,
+        progress = progress,
+        isInitiatedByUserInput = isInitiatedByUserInput,
+        isUserInputOngoing = isUserInputOngoing,
+        previewProgress = previewProgress,
+        isInPreviewStage = isInPreviewStage,
+    )
+}
+
+fun HideOverlay(
+    overlay: OverlayKey,
+    toScene: SceneKey,
+    currentOverlays: Flow<Set<OverlayKey>> = flowOf(setOf(overlay)),
+    progress: Flow<Float> = flowOf(0f),
+    isInitiatedByUserInput: Boolean = false,
+    isUserInputOngoing: Flow<Boolean> = flowOf(false),
+    previewProgress: Flow<Float> = flowOf(0f),
+    isInPreviewStage: Flow<Boolean> = flowOf(false),
+): ObservableTransitionState.Transition {
+    return ObservableTransitionState.Transition.hideOverlay(
+        overlay = overlay,
+        toScene = toScene,
+        currentOverlays = currentOverlays,
+        progress = progress,
+        isInitiatedByUserInput = isInitiatedByUserInput,
+        isUserInputOngoing = isUserInputOngoing,
+        previewProgress = previewProgress,
+        isInPreviewStage = isInPreviewStage,
+    )
+}
+
+fun Idle(
+    currentScene: SceneKey,
+    currentOverlays: Set<OverlayKey> = emptySet(),
+): ObservableTransitionState.Idle {
+    return ObservableTransitionState.Idle(currentScene, currentOverlays)
 }
 
 private fun getStateWithUndefined(
     sceneTransition: ObservableTransitionState,
-    state: TransitionStep
+    state: TransitionStep,
 ): TransitionStep {
     return when (sceneTransition) {
         is ObservableTransitionState.Idle -> {
@@ -109,7 +157,7 @@
                         state.to
                     },
                 value = state.value,
-                transitionState = state.transitionState
+                transitionState = state.transitionState,
             )
         }
         is ObservableTransitionState.Transition -> {
@@ -127,7 +175,7 @@
                         state.from
                     },
                 value = state.value,
-                transitionState = state.transitionState
+                transitionState = state.transitionState,
             )
         }
         else -> state
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/shared/model/FakeSceneDataSource.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/shared/model/FakeSceneDataSource.kt
index f9917ac..66a190c 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/scene/shared/model/FakeSceneDataSource.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/scene/shared/model/FakeSceneDataSource.kt
@@ -115,8 +115,14 @@
      * If [force] is `true`, there will be no check that [isPaused] is true.
      *
      * If [expectedScene] is provided, will assert that it's indeed the latest called.
+     *
+     * If [expectedOverlays] is provided, will assert they are indeed present.
      */
-    fun unpause(force: Boolean = false, expectedScene: SceneKey? = null) {
+    fun unpause(
+        force: Boolean = false,
+        expectedScene: SceneKey? = null,
+        expectedOverlays: Set<OverlayKey>? = null,
+    ) {
         check(force || _isPaused) { "Can't unpause what's already not paused!" }
 
         _isPaused = false
@@ -128,9 +134,12 @@
         check(expectedScene == null || currentScene.value == expectedScene) {
             """
                 Unexpected scene while unpausing.
-                Expected $expectedScene but was $currentScene.
+                Expected $expectedScene but was ${currentScene.value}.
             """
                 .trimIndent()
         }
+        check(expectedOverlays == null || expectedOverlays == currentOverlays.value) {
+            "Expected $expectedOverlays, but instead found overlays ${currentOverlays.value}."
+        }
     }
 }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/collection/NotificationEntryBuilder.java b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/collection/NotificationEntryBuilder.java
index 562ac0c..804ec9f 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/collection/NotificationEntryBuilder.java
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/collection/NotificationEntryBuilder.java
@@ -56,7 +56,7 @@
     private StatusBarNotification mSbn = null;
 
     /* ListEntry properties */
-    private GroupEntry mParent;
+    private PipelineEntry mParent;
     private NotifSection mNotifSection;
 
     /* If set, use this creation time instead of mClock.uptimeMillis */
@@ -91,7 +91,7 @@
     }
 
     /** Update an the parent on an existing entry */
-    public static void setNewParent(NotificationEntry entry, GroupEntry parent) {
+    public static void setNewParent(NotificationEntry entry, PipelineEntry parent) {
         entry.setParent(parent);
     }
 
@@ -135,7 +135,7 @@
     /**
      * Sets the parent.
      */
-    public NotificationEntryBuilder setParent(@Nullable GroupEntry parent) {
+    public NotificationEntryBuilder setParent(@Nullable PipelineEntry parent) {
         mParent = parent;
         return this;
     }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/user/domain/interactor/UserLockedInteractorKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/user/domain/interactor/UserLockedInteractorKosmos.kt
index fd95508..933c351 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/user/domain/interactor/UserLockedInteractorKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/user/domain/interactor/UserLockedInteractorKosmos.kt
@@ -17,7 +17,10 @@
 package com.android.systemui.user.domain.interactor
 
 import com.android.systemui.kosmos.Kosmos
+import com.android.systemui.kosmos.testDispatcher
 import com.android.systemui.user.data.repository.userRepository
 
 val Kosmos.userLockedInteractor by
-    Kosmos.Fixture { UserLockedInteractor(userRepository = userRepository) }
+    Kosmos.Fixture {
+        UserLockedInteractor(backgroundDispatcher = testDispatcher, userRepository = userRepository)
+    }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/ringer/ui/viewmodel/VolumeDialogRingerDrawerViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/ringer/ui/viewmodel/VolumeDialogRingerDrawerViewModelKosmos.kt
index 9f3150f..919d36b 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/ringer/ui/viewmodel/VolumeDialogRingerDrawerViewModelKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/ringer/ui/viewmodel/VolumeDialogRingerDrawerViewModelKosmos.kt
@@ -17,6 +17,7 @@
 package com.android.systemui.volume.dialog.ringer.ui.viewmodel
 
 import android.content.applicationContext
+import com.android.internal.logging.uiEventLogger
 import com.android.systemui.haptics.vibratorHelper
 import com.android.systemui.kosmos.Kosmos
 import com.android.systemui.kosmos.applicationCoroutineScope
@@ -41,6 +42,7 @@
             volumeDialogLogger = volumeDialogLogger,
             visibilityInteractor = volumeDialogVisibilityInteractor,
             configurationController = configurationController,
+            uiEventLogger = uiEventLogger,
             systemClock = fakeSystemClock,
         )
     }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/settings/ui/viewmodel/VolumeDialogSettingsButtonViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/settings/ui/viewmodel/VolumeDialogSettingsButtonViewModelKosmos.kt
index 0ae3b03..a17611b 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/settings/ui/viewmodel/VolumeDialogSettingsButtonViewModelKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/settings/ui/viewmodel/VolumeDialogSettingsButtonViewModelKosmos.kt
@@ -17,6 +17,7 @@
 package com.android.systemui.volume.dialog.settings.ui.viewmodel
 
 import android.content.applicationContext
+import com.android.internal.logging.uiEventLogger
 import com.android.systemui.kosmos.Kosmos
 import com.android.systemui.kosmos.applicationCoroutineScope
 import com.android.systemui.kosmos.testScope
@@ -33,5 +34,6 @@
             mediaOutputInteractor,
             mediaDeviceSessionInteractor,
             volumeDialogSettingsButtonInteractor,
+            uiEventLogger,
         )
     }
diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/sliders/ui/viewmodel/VolumeDialogSliderViewModelKosmos.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/sliders/ui/viewmodel/VolumeDialogSliderViewModelKosmos.kt
index 90bbb28..c9396f5 100644
--- a/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/sliders/ui/viewmodel/VolumeDialogSliderViewModelKosmos.kt
+++ b/packages/SystemUI/tests/utils/src/com/android/systemui/volume/dialog/sliders/ui/viewmodel/VolumeDialogSliderViewModelKosmos.kt
@@ -16,6 +16,7 @@
 
 package com.android.systemui.volume.dialog.sliders.ui.viewmodel
 
+import com.android.internal.logging.uiEventLogger
 import com.android.systemui.kosmos.Kosmos
 import com.android.systemui.kosmos.applicationCoroutineScope
 import com.android.systemui.util.time.systemClock
@@ -35,6 +36,7 @@
             coroutineScope = applicationCoroutineScope,
             volumeDialogSliderIconProvider = volumeDialogSliderIconProvider,
             systemClock = systemClock,
+            uiEventLogger = uiEventLogger,
             logger = volumeDialogLogger,
         )
     }
diff --git a/ravenwood/Android.bp b/ravenwood/Android.bp
index 65550f2..ccbc46f 100644
--- a/ravenwood/Android.bp
+++ b/ravenwood/Android.bp
@@ -121,6 +121,7 @@
     name: "ravenwood-helper-framework-runtime",
     srcs: [
         "runtime-helper-src/framework/**/*.java",
+        ":framework-graphics-srcs",
     ],
     static_libs: [
         "ravenwood-runtime-common",
@@ -278,6 +279,7 @@
 cc_library_host_shared {
     name: "libravenwood_runtime",
     defaults: ["ravenwood_jni_defaults"],
+    header_libs: ["libicuuc_headers"],
     srcs: [
         "runtime-jni/ravenwood_runtime.cpp",
         "runtime-jni/ravenwood_os_constants.cpp",
@@ -372,6 +374,13 @@
     visibility: ["//visibility:private"],
 }
 
+java_library {
+    name: "ext-ravenwood",
+    installable: false,
+    static_libs: ["ext"],
+    visibility: ["//visibility:private"],
+}
+
 filegroup {
     name: "ravenwood-data",
     device_common_srcs: [
@@ -637,6 +646,7 @@
     libs: [
         "100-framework-minus-apex.ravenwood",
         "200-kxml2-android",
+        "ext-ravenwood",
 
         "ravenwood-runtime-common-ravenwood",
 
diff --git a/ravenwood/Framework.bp b/ravenwood/Framework.bp
index 71496b0..e366771 100644
--- a/ravenwood/Framework.bp
+++ b/ravenwood/Framework.bp
@@ -419,11 +419,13 @@
         "--out-impl-jar $(location ravenwood.jar) " +
         "--in-jar $(location :framework-graphics.impl{.jar}) " +
 
-        "--policy-override-file $(location :ravenwood-common-policies) ",
+        "--policy-override-file $(location :ravenwood-common-policies) " +
+        "--policy-override-file $(location :framework-graphics-ravenwood-policies) ",
     srcs: [
         ":framework-graphics.impl{.jar}",
 
         ":ravenwood-common-policies",
+        ":framework-graphics-ravenwood-policies",
         ":ravenwood-standard-options",
     ],
     out: [
diff --git a/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodContext.java b/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodContext.java
index a332633..9e6b12f 100644
--- a/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodContext.java
+++ b/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodContext.java
@@ -230,6 +230,16 @@
         return mAppContext;
     }
 
+    @Override
+    public boolean isRestricted() {
+        return false;
+    }
+
+    @Override
+    public boolean canLoadUnsafeResources() {
+        return true;
+    }
+
     /**
      * Wrap the given {@link Supplier} to become memoized.
      *
diff --git a/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodNativeLoader.java b/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodNativeLoader.java
index a208d6d..7e935d0 100644
--- a/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodNativeLoader.java
+++ b/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodNativeLoader.java
@@ -48,6 +48,7 @@
             android.content.res.AssetManager.class,
             android.content.res.StringBlock.class,
             android.content.res.XmlBlock.class,
+            android.text.AndroidCharacter.class,
     };
 
     /**
@@ -61,15 +62,49 @@
             android.graphics.Path.class,
             android.graphics.Color.class,
             android.graphics.ColorSpace.class,
+            android.graphics.Bitmap.class,
+            android.graphics.BitmapFactory.class,
+            android.graphics.BitmapRegionDecoder.class,
+            android.graphics.Camera.class,
+            android.graphics.Canvas.class,
+            android.graphics.CanvasProperty.class,
+            android.graphics.ColorFilter.class,
+            android.graphics.DrawFilter.class,
+            android.graphics.FontFamily.class,
+            android.graphics.Gainmap.class,
+            android.graphics.ImageDecoder.class,
+            android.graphics.MaskFilter.class,
+            android.graphics.NinePatch.class,
+            android.graphics.Paint.class,
+            android.graphics.PathEffect.class,
+            android.graphics.PathIterator.class,
+            android.graphics.PathMeasure.class,
+            android.graphics.Picture.class,
+            android.graphics.RecordingCanvas.class,
+            android.graphics.Region.class,
+            android.graphics.RenderNode.class,
+            android.graphics.Shader.class,
+            android.graphics.RenderEffect.class,
+            android.graphics.Typeface.class,
+            android.graphics.YuvImage.class,
+            android.graphics.fonts.Font.class,
+            android.graphics.fonts.FontFamily.class,
+            android.graphics.text.LineBreaker.class,
+            android.graphics.text.MeasuredText.class,
+            android.graphics.text.TextRunShaper.class,
+            android.graphics.text.GraphemeBreak.class,
+            android.util.PathParser.class,
     };
 
     /**
      * Extra strings needed to pass to register_android_graphics_classes().
      *
-     * `android.graphics.Graphics` is not actually a class, so we just hardcode it here.
+     * Several entries are not actually a class, so we just hardcode them here.
      */
     public final static String[] GRAPHICS_EXTRA_INIT_PARAMS = new String[] {
-            "android.graphics.Graphics"
+            "android.graphics.Graphics",
+            "android.graphics.ByteBufferStreamAdaptor",
+            "android.graphics.CreateJavaOutputStreamAdaptor"
     };
 
     private RavenwoodNativeLoader() {
diff --git a/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodRuntimeEnvironmentController.java b/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodRuntimeEnvironmentController.java
index ae88bb2..f205d23 100644
--- a/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodRuntimeEnvironmentController.java
+++ b/ravenwood/junit-impl-src/android/platform/test/ravenwood/RavenwoodRuntimeEnvironmentController.java
@@ -43,6 +43,7 @@
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.res.Resources;
+import android.graphics.Typeface;
 import android.icu.util.ULocale;
 import android.os.Binder;
 import android.os.Build;
@@ -246,6 +247,13 @@
         // Do the basic set up for the android sysprops.
         RavenwoodSystemProperties.initialize();
 
+        // Set ICU data file
+        String icuData = RavenwoodCommonUtils.getRavenwoodRuntimePath()
+                + "ravenwood-data/"
+                + RavenwoodRuntimeNative.getIcuDataName()
+                + ".dat";
+        RavenwoodRuntimeNative.setSystemProperty("ro.icu.data.path", icuData);
+
         // Enable all log levels for native logging, until we'll have a way to change the native
         // side log level at runtime.
         // Do this after loading RAVENWOOD_NATIVE_RUNTIME_NAME (which backs Os.setenv()),
@@ -268,6 +276,11 @@
         Objects.requireNonNull(Build.TYPE);
         Objects.requireNonNull(Build.VERSION.SDK);
 
+        // Fonts can only be initialized once
+        Typeface.init();
+        Typeface.loadPreinstalledSystemFontMap();
+        Typeface.loadNativeSystemFonts();
+
         System.setProperty(RAVENWOOD_VERSION_JAVA_SYSPROP, "1");
         // This will let AndroidJUnit4 use the original runner.
         System.setProperty("android.junit.runner",
diff --git a/ravenwood/runtime-helper-src/libcore-fake/com/android/ravenwood/RavenwoodJdkPatch.java b/ravenwood/runtime-helper-src/libcore-fake/com/android/ravenwood/RavenwoodJdkPatch.java
index 96aed4b..d5a96dd 100644
--- a/ravenwood/runtime-helper-src/libcore-fake/com/android/ravenwood/RavenwoodJdkPatch.java
+++ b/ravenwood/runtime-helper-src/libcore-fake/com/android/ravenwood/RavenwoodJdkPatch.java
@@ -20,6 +20,7 @@
 import java.io.FileDescriptor;
 import java.util.LinkedHashMap;
 import java.util.Map;
+import java.util.regex.Pattern;
 
 /**
  * Class to host APIs that exist in libcore, but not in standard JRE.
@@ -46,4 +47,22 @@
         final var it = map.entrySet().iterator();
         return it.hasNext() ? it.next() : null;
     }
+
+    /**
+     * Implements Pattern.compile(String)
+     *
+     * ART always assumes UNICODE_CHARACTER_CLASS is set.
+     */
+    public static Pattern compilePattern(String regex) {
+        return Pattern.compile(regex, Pattern.UNICODE_CHARACTER_CLASS);
+    }
+
+    /**
+     * Implements Pattern.compile(String, int)
+     *
+     * ART always assumes UNICODE_CHARACTER_CLASS is set.
+     */
+    public static Pattern compilePattern(String regex, int flag) {
+        return Pattern.compile(regex, flag | Pattern.UNICODE_CHARACTER_CLASS);
+    }
 }
diff --git a/ravenwood/runtime-helper-src/libcore-fake/com/android/ravenwood/RavenwoodRuntimeNative.java b/ravenwood/runtime-helper-src/libcore-fake/com/android/ravenwood/RavenwoodRuntimeNative.java
index acbcdf1..0d82a86 100644
--- a/ravenwood/runtime-helper-src/libcore-fake/com/android/ravenwood/RavenwoodRuntimeNative.java
+++ b/ravenwood/runtime-helper-src/libcore-fake/com/android/ravenwood/RavenwoodRuntimeNative.java
@@ -66,6 +66,8 @@
 
     public static native int gettid();
 
+    public static native String getIcuDataName();
+
     public static long lseek(FileDescriptor fd, long offset, int whence) throws ErrnoException {
         return nLseek(JvmWorkaround.getInstance().getFdInt(fd), offset, whence);
     }
diff --git a/ravenwood/runtime-helper-src/libcore-fake/dalvik/system/CloseGuard.java b/ravenwood/runtime-helper-src/libcore-fake/dalvik/system/CloseGuard.java
new file mode 100644
index 0000000..82bab64
--- /dev/null
+++ b/ravenwood/runtime-helper-src/libcore-fake/dalvik/system/CloseGuard.java
@@ -0,0 +1,198 @@
+/*
+ * 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 dalvik.system;
+
+/**
+ * A no-op copy of libcore/dalvik/src/main/java/dalvik/system/CloseGuard.java
+ */
+public final class CloseGuard {
+
+    /**
+     * Returns a CloseGuard instance. {@code #open(String)} can be used to set
+     * up the instance to warn on failure to close.
+     *
+     * @return {@link CloseGuard} instance.
+     *
+     * @hide
+     */
+    public static CloseGuard get() {
+        return new CloseGuard();
+    }
+
+    /**
+     * Enables/disables stack capture and tracking. A call stack is captured
+     * during open(), and open/close events are reported to the Tracker, only
+     * if enabled is true. If a stack trace was captured, the {@link
+     * #getReporter() reporter} is informed of unclosed resources; otherwise a
+     * one-line warning is logged.
+     *
+     * @param enabled whether stack capture and tracking is enabled.
+     *
+     * @hide
+     */
+    public static void setEnabled(boolean enabled) {
+    }
+
+    /**
+     * True if CloseGuard stack capture and tracking are enabled.
+     *
+     * @hide
+     */
+    public static boolean isEnabled() {
+        return false;
+    }
+
+    /**
+     * Used to replace default Reporter used to warn of CloseGuard
+     * violations when stack tracking is enabled. Must be non-null.
+     *
+     * @param rep replacement for default Reporter.
+     *
+     * @hide
+     */
+    public static void setReporter(Reporter rep) {
+        if (rep == null) {
+            throw new NullPointerException("reporter == null");
+        }
+    }
+
+    /**
+     * Returns non-null CloseGuard.Reporter.
+     *
+     * @return CloseGuard's Reporter.
+     *
+     * @hide
+     */
+    public static Reporter getReporter() {
+        return null;
+    }
+
+    /**
+     * Sets the {@link Tracker} that is notified when resources are allocated and released.
+     * The Tracker is invoked only if CloseGuard {@link #isEnabled()} held when {@link #open()}
+     * was called. A null argument disables tracking.
+     *
+     * <p>This is only intended for use by {@code dalvik.system.CloseGuardSupport} class and so
+     * MUST NOT be used for any other purposes.
+     *
+     * @hide
+     */
+    public static void setTracker(Tracker tracker) {
+    }
+
+    /**
+     * Returns {@link #setTracker(Tracker) last Tracker that was set}, or null to indicate
+     * there is none.
+     *
+     * <p>This is only intended for use by {@code dalvik.system.CloseGuardSupport} class and so
+     * MUST NOT be used for any other purposes.
+     *
+     * @hide
+     */
+    public static Tracker getTracker() {
+        return null;
+    }
+
+    private CloseGuard() {}
+
+    /**
+     * {@code open} initializes the instance with a warning that the caller
+     * should have explicitly called the {@code closer} method instead of
+     * relying on finalization.
+     *
+     * @param closer non-null name of explicit termination method. Printed by warnIfOpen.
+     * @throws NullPointerException if closer is null.
+     *
+     * @hide
+     */
+    public void open(String closer) {
+        openWithCallSite(closer, null /* callsite */);
+    }
+
+    /**
+     * Like {@link #open(String)}, but with explicit callsite string being passed in for better
+     * performance.
+     * <p>
+     * This only has better performance than {@link #open(String)} if {@link #isEnabled()} returns {@code true}, which
+     * usually shouldn't happen on release builds.
+     *
+     * @param closer Non-null name of explicit termination method. Printed by warnIfOpen.
+     * @param callsite Non-null string uniquely identifying the callsite.
+     *
+     * @hide
+     */
+    public void openWithCallSite(String closer, String callsite) {
+    }
+
+    // We keep either an allocation stack containing the closer String or, when
+    // in disabled state, just the closer String.
+    // We keep them in a single field only to minimize overhead.
+    private Object /* String or Throwable */ closerNameOrAllocationInfo;
+
+    /**
+     * Marks this CloseGuard instance as closed to avoid warnings on
+     * finalization.
+     *
+     * @hide
+     */
+    public void close() {
+    }
+
+    /**
+     * Logs a warning if the caller did not properly cleanup by calling an
+     * explicit close method before finalization. If CloseGuard was enabled
+     * when the CloseGuard was created, passes the stacktrace associated with
+     * the allocation to the current reporter. If it was not enabled, it just
+     * directly logs a brief message.
+     *
+     * @hide
+     */
+    public void warnIfOpen() {
+    }
+
+
+    /**
+     * Interface to allow customization of tracking behaviour.
+     *
+     * <p>This is only intended for use by {@code dalvik.system.CloseGuardSupport} class and so
+     * MUST NOT be used for any other purposes.
+     *
+     * @hide
+     */
+    public interface Tracker {
+        void open(Throwable allocationSite);
+        void close(Throwable allocationSite);
+    }
+
+    /**
+     * Interface to allow customization of reporting behavior.
+     * @hide
+     */
+    public interface Reporter {
+        /**
+         *
+         * @hide
+         */
+        void report(String message, Throwable allocationSite);
+
+        /**
+         *
+         * @hide
+         */
+        default void report(String message) {}
+    }
+}
diff --git a/ravenwood/runtime-helper-src/libcore-fake/libcore/io/IoBridge.java b/ravenwood/runtime-helper-src/libcore-fake/libcore/io/IoBridge.java
new file mode 100644
index 0000000..2a1ee25
--- /dev/null
+++ b/ravenwood/runtime-helper-src/libcore-fake/libcore/io/IoBridge.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2025 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package libcore.io;
+
+import android.system.ErrnoException;
+import android.system.Os;
+import android.system.OsConstants;
+
+import java.io.FileDescriptor;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+public class IoBridge {
+
+    public static void closeAndSignalBlockedThreads(FileDescriptor fd) throws IOException {
+        if (fd == null) {
+            return;
+        }
+        try {
+            Os.close(fd);
+        } catch (ErrnoException errnoException) {
+            throw errnoException.rethrowAsIOException();
+        }
+    }
+
+    public static FileDescriptor open(String path, int flags) throws FileNotFoundException {
+        FileDescriptor fd = null;
+        try {
+            fd = Os.open(path, flags, 0666);
+            // Posix open(2) fails with EISDIR only if you ask for write permission.
+            // Java disallows reading directories too.f
+            if (OsConstants.S_ISDIR(Os.fstat(fd).st_mode)) {
+                throw new ErrnoException("open", OsConstants.EISDIR);
+            }
+            return fd;
+        } catch (ErrnoException errnoException) {
+            try {
+                if (fd != null) {
+                    closeAndSignalBlockedThreads(fd);
+                }
+            } catch (IOException ignored) {
+            }
+            FileNotFoundException ex = new FileNotFoundException(path + ": "
+                    + errnoException.getMessage());
+            ex.initCause(errnoException);
+            throw ex;
+        }
+    }
+}
diff --git a/ravenwood/runtime-helper-src/libcore-fake/libcore/util/NativeAllocationRegistry.java b/ravenwood/runtime-helper-src/libcore-fake/libcore/util/NativeAllocationRegistry.java
index ad86135..cf1a513 100644
--- a/ravenwood/runtime-helper-src/libcore-fake/libcore/util/NativeAllocationRegistry.java
+++ b/ravenwood/runtime-helper-src/libcore-fake/libcore/util/NativeAllocationRegistry.java
@@ -35,6 +35,11 @@
         return new NativeAllocationRegistry(classLoader, freeFunction, size);
     }
 
+    public static NativeAllocationRegistry createNonmalloced(
+            Class clazz, long freeFunction, long size) {
+        return new NativeAllocationRegistry(clazz.getClassLoader(), freeFunction, size);
+    }
+
     public static NativeAllocationRegistry createMalloced(
             ClassLoader classLoader, long freeFunction, long size) {
         return new NativeAllocationRegistry(classLoader, freeFunction, size);
@@ -45,6 +50,11 @@
         return new NativeAllocationRegistry(classLoader, freeFunction, 0);
     }
 
+    public static NativeAllocationRegistry createMalloced(
+            Class clazz, long freeFunction, long size) {
+        return new NativeAllocationRegistry(clazz.getClassLoader(), freeFunction, size);
+    }
+
     public NativeAllocationRegistry(ClassLoader classLoader, long freeFunction, long size) {
         if (size < 0) {
             throw new IllegalArgumentException("Invalid native allocation size: " + size);
@@ -52,6 +62,37 @@
         mFreeFunction = freeFunction;
     }
 
+    private class CleanerThunk implements Runnable {
+        private long nativePtr;
+
+        public CleanerThunk() {
+            nativePtr = 0;
+        }
+
+        public void setNativePtr(long ptr) {
+            nativePtr = ptr;
+        }
+
+        @Override
+        public void run() {
+            if (nativePtr != 0) {
+                applyFreeFunction(mFreeFunction, nativePtr);
+            }
+        }
+    }
+
+    private static class CleanableRunner implements Runnable {
+        private final Cleaner.Cleanable mCleanable;
+
+        public CleanableRunner(Cleaner.Cleanable cleanable) {
+            mCleanable = cleanable;
+        }
+
+        public void run() {
+            mCleanable.clean();
+        }
+    }
+
     public Runnable registerNativeAllocation(Object referent, long nativePtr) {
         if (referent == null) {
             throw new IllegalArgumentException("referent is null");
@@ -60,13 +101,25 @@
             throw new IllegalArgumentException("nativePtr is null");
         }
 
-        final Runnable releaser = () -> {
-            RavenwoodRuntimeNative.applyFreeFunction(mFreeFunction, nativePtr);
-        };
-        sCleaner.register(referent, releaser);
+        final CleanerThunk thunk;
+        final CleanableRunner result;
+        try {
+            thunk = new CleanerThunk();
+            final var cleanable = sCleaner.register(referent, thunk);
+            result = new CleanableRunner(cleanable);
+        } catch (VirtualMachineError vme /* probably OutOfMemoryError */) {
+            applyFreeFunction(mFreeFunction, nativePtr);
+            throw vme;
+        }
 
+        // Enable the cleaner only after we can no longer throw anything, including OOME.
+        thunk.setNativePtr(nativePtr);
         // Ensure that cleaner doesn't get invoked before we enable it.
         Reference.reachabilityFence(referent);
-        return releaser;
+        return result;
+    }
+
+    public static void applyFreeFunction(long freeFunction, long nativePtr) {
+        RavenwoodRuntimeNative.applyFreeFunction(freeFunction, nativePtr);
     }
 }
diff --git a/ravenwood/runtime-jni/ravenwood_runtime.cpp b/ravenwood/runtime-jni/ravenwood_runtime.cpp
index 8d8ed71..01ebdc9 100644
--- a/ravenwood/runtime-jni/ravenwood_runtime.cpp
+++ b/ravenwood/runtime-jni/ravenwood_runtime.cpp
@@ -20,6 +20,7 @@
 #include <sys/syscall.h>
 #include <unistd.h>
 #include <utils/misc.h>
+#include <unicode/utypes.h>
 
 #include <string>
 
@@ -183,6 +184,10 @@
     return syscall(__NR_gettid);
 }
 
+static jstring getIcuDataName(JNIEnv* env, jclass clazz) {
+    return env->NewStringUTF(U_ICUDATA_NAME);
+}
+
 // ---- Registration ----
 
 extern void register_android_system_OsConstants(JNIEnv* env);
@@ -201,6 +206,7 @@
     { "setenv", "(Ljava/lang/String;Ljava/lang/String;Z)V", (void*)Linux_setenv },
     { "getpid", "()I", (void*)Linux_getpid },
     { "gettid", "()I", (void*)Linux_gettid },
+    { "getIcuDataName", "()Ljava/lang/String;", (void*)getIcuDataName },
 };
 
 extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */) {
diff --git a/ravenwood/texts/ravenwood-annotation-allowed-classes.txt b/ravenwood/texts/ravenwood-annotation-allowed-classes.txt
index e202d0e..7462cc2 100644
--- a/ravenwood/texts/ravenwood-annotation-allowed-classes.txt
+++ b/ravenwood/texts/ravenwood-annotation-allowed-classes.txt
@@ -259,6 +259,8 @@
 android.database.sqlite.SQLiteException
 
 android.text.TextUtils
+android.text.Html
+android.text.HtmlToSpannedConverter
 
 android.accounts.Account
 
@@ -278,6 +280,10 @@
 android.graphics.Rect
 android.graphics.RectF
 
+android.graphics.fonts.SystemFonts
+
+android.graphics.text.LineBreakConfig
+
 android.content.ContentProvider
 
 android.app.ActivityManager
@@ -383,3 +389,228 @@
 com.android.server.compat.*
 com.android.internal.compat.*
 android.app.AppCompatCallbacks
+android.graphics.AvoidXfermode
+android.graphics.BLASTBufferQueue
+android.graphics.BaseCanvas
+android.graphics.BaseRecordingCanvas
+android.graphics.Bitmap
+android.graphics.BitmapFactory
+android.graphics.BitmapRegionDecoder
+android.graphics.BitmapShader
+android.graphics.BlendMode
+android.graphics.BlendModeColorFilter
+android.graphics.BlurMaskFilter
+android.graphics.Camera
+android.graphics.Canvas
+android.graphics.CanvasProperty
+android.graphics.ColorFilter
+android.graphics.ColorMatrix
+android.graphics.ColorMatrixColorFilter
+android.graphics.Compatibility
+android.graphics.ComposePathEffect
+android.graphics.ComposeShader
+android.graphics.CornerPathEffect
+android.graphics.DashPathEffect
+android.graphics.DiscretePathEffect
+android.graphics.DrawFilter
+android.graphics.EmbossMaskFilter
+android.graphics.FontFamily
+android.graphics.FontListParser
+android.graphics.ForceDarkType
+android.graphics.FrameInfo
+android.graphics.Gainmap
+android.graphics.GraphicBuffer
+android.graphics.GraphicsProtos
+android.graphics.GraphicsStatsService
+android.graphics.HardwareBufferRenderer
+android.graphics.HardwareRenderer
+android.graphics.HardwareRendererObserver
+android.graphics.ImageDecoder
+android.graphics.ImageFormat
+android.graphics.LayerRasterizer
+android.graphics.LeakyTypefaceStorage
+android.graphics.LightingColorFilter
+android.graphics.LinearGradient
+android.graphics.MaskFilter
+android.graphics.Mesh
+android.graphics.MeshSpecification
+android.graphics.Movie
+android.graphics.NinePatch
+android.graphics.Paint
+android.graphics.PaintFlagsDrawFilter
+android.graphics.PathDashPathEffect
+android.graphics.PathEffect
+android.graphics.PathIterator
+android.graphics.PathMeasure
+android.graphics.Picture
+android.graphics.PixelXorXfermode
+android.graphics.PorterDuff
+android.graphics.PorterDuffColorFilter
+android.graphics.PorterDuffXfermode
+android.graphics.PostProcessor
+android.graphics.RadialGradient
+android.graphics.Rasterizer
+android.graphics.RecordingCanvas
+android.graphics.Region
+android.graphics.RegionIterator
+android.graphics.RenderEffect
+android.graphics.RenderNode
+android.graphics.RuntimeColorFilter
+android.graphics.RuntimeShader
+android.graphics.RuntimeXfermode
+android.graphics.Shader
+android.graphics.SumPathEffect
+android.graphics.SurfaceTexture
+android.graphics.SweepGradient
+android.graphics.TableMaskFilter
+android.graphics.TemporaryBuffer
+android.graphics.TextureLayer
+android.graphics.Typeface
+android.graphics.Xfermode
+android.graphics.YuvImage
+android.graphics.fonts.Font
+android.graphics.fonts.FontCustomizationParser
+android.graphics.fonts.FontFamily
+android.graphics.fonts.FontFamilyUpdateRequest
+android.graphics.fonts.FontFileUpdateRequest
+android.graphics.fonts.FontFileUtil
+android.graphics.fonts.FontStyle
+android.graphics.fonts.FontVariationAxis
+android.graphics.text.GraphemeBreak
+android.graphics.text.LineBreaker
+android.graphics.text.MeasuredText
+android.graphics.text.PositionedGlyphs
+android.graphics.text.TextRunShaper
+android.text.AlteredCharSequence
+android.text.AndroidBidi
+android.text.AndroidCharacter
+android.text.Annotation
+android.text.AutoGrowArray
+android.text.AutoText
+android.text.BidiFormatter
+android.text.BoringLayout
+android.text.CharSequenceCharacterIterator
+android.text.ClipboardManager
+android.text.DynamicLayout
+android.text.Editable
+android.text.Emoji
+android.text.EmojiConsistency
+android.text.FontConfig
+android.text.GetChars
+android.text.GraphemeClusterSegmentFinder
+android.text.GraphicsOperations
+android.text.Highlights
+android.text.Hyphenator
+android.text.InputFilter
+android.text.InputType
+android.text.Layout
+android.text.LoginFilter
+android.text.MeasuredParagraph
+android.text.NoCopySpan
+android.text.PackedIntVector
+android.text.PackedObjectVector
+android.text.ParcelableSpan
+android.text.PrecomputedText
+android.text.SegmentFinder
+android.text.Selection
+android.text.SpanColors
+android.text.SpanSet
+android.text.SpanWatcher
+android.text.Spannable
+android.text.SpannableString
+android.text.SpannableStringBuilder
+android.text.SpannableStringInternal
+android.text.Spanned
+android.text.SpannedString
+android.text.StaticLayout
+android.text.TextDirectionHeuristic
+android.text.TextDirectionHeuristics
+android.text.TextLine
+android.text.TextPaint
+android.text.TextShaper
+android.text.TextWatcher
+android.text.WordSegmentFinder
+android.text.format.DateFormat
+android.text.format.DateIntervalFormat
+android.text.format.DateTimeFormat
+android.text.format.DateUtils
+android.text.format.DateUtilsBridge
+android.text.format.Formatter
+android.text.format.RelativeDateTimeFormatter
+android.text.format.Time
+android.text.format.TimeFormatter
+android.text.format.TimeMigrationUtils
+android.text.method.AllCapsTransformationMethod
+android.text.method.ArrowKeyMovementMethod
+android.text.method.BaseKeyListener
+android.text.method.BaseMovementMethod
+android.text.method.CharacterPickerDialog
+android.text.method.DateKeyListener
+android.text.method.DateTimeKeyListener
+android.text.method.DialerKeyListener
+android.text.method.DigitsKeyListener
+android.text.method.HideReturnsTransformationMethod
+android.text.method.InsertModeTransformationMethod
+android.text.method.KeyListener
+android.text.method.LinkMovementMethod
+android.text.method.MetaKeyKeyListener
+android.text.method.MovementMethod
+android.text.method.MultiTapKeyListener
+android.text.method.NumberKeyListener
+android.text.method.OffsetMapping
+android.text.method.PasswordTransformationMethod
+android.text.method.QwertyKeyListener
+android.text.method.ReplacementTransformationMethod
+android.text.method.ScrollingMovementMethod
+android.text.method.SingleLineTransformationMethod
+android.text.method.TextKeyListener
+android.text.method.TimeKeyListener
+android.text.method.Touch
+android.text.method.TransformationMethod
+android.text.method.TransformationMethod2
+android.text.method.TranslationTransformationMethod
+android.text.method.WordIterator
+android.text.style.AbsoluteSizeSpan
+android.text.style.AccessibilityClickableSpan
+android.text.style.AccessibilityReplacementSpan
+android.text.style.AccessibilityURLSpan
+android.text.style.AlignmentSpan
+android.text.style.BackgroundColorSpan
+android.text.style.BulletSpan
+android.text.style.CharacterStyle
+android.text.style.ClickableSpan
+android.text.style.ForegroundColorSpan
+android.text.style.IconMarginSpan
+android.text.style.LeadingMarginSpan
+android.text.style.LineBackgroundSpan
+android.text.style.LineBreakConfigSpan
+android.text.style.LineHeightSpan
+android.text.style.LocaleSpan
+android.text.style.MaskFilterSpan
+android.text.style.MetricAffectingSpan
+android.text.style.NoWritingToolsSpan
+android.text.style.ParagraphStyle
+android.text.style.QuoteSpan
+android.text.style.RasterizerSpan
+android.text.style.RelativeSizeSpan
+android.text.style.ReplacementSpan
+android.text.style.ScaleXSpan
+android.text.style.SpanUtils
+android.text.style.SpellCheckSpan
+android.text.style.StrikethroughSpan
+android.text.style.StyleSpan
+android.text.style.SubscriptSpan
+android.text.style.SuggestionRangeSpan
+android.text.style.SuggestionSpan
+android.text.style.SuperscriptSpan
+android.text.style.TabStopSpan
+android.text.style.TextAppearanceSpan
+android.text.style.TtsSpan
+android.text.style.TypefaceSpan
+android.text.style.URLSpan
+android.text.style.UnderlineSpan
+android.text.style.UpdateAppearance
+android.text.style.UpdateLayout
+android.text.style.WrapTogetherSpan
+android.text.util.Rfc822Token
+android.text.util.Rfc822Tokenizer
diff --git a/ravenwood/texts/ravenwood-build.prop b/ravenwood/texts/ravenwood-build.prop
index 7cc4454..37c50f1 100644
--- a/ravenwood/texts/ravenwood-build.prop
+++ b/ravenwood/texts/ravenwood-build.prop
@@ -8,7 +8,11 @@
 ro.soc.model=Ravenwood
 ro.debuggable=1
 
-# The ones starting with "ro.product" or "ro.bild" will be copied to all "partitions" too.
+# For the graphics stack
+ro.hwui.max_texture_allocation_size=104857600
+persist.sys.locale=en-US
+
+# The ones starting with "ro.product" or "ro.build" will be copied to all "partitions" too.
 # See RavenwoodSystemProperties.
 ro.product.brand=Android
 ro.product.device=Ravenwood
diff --git a/ravenwood/texts/ravenwood-common-policies.txt b/ravenwood/texts/ravenwood-common-policies.txt
index fd4ea6c..f0f4b85 100644
--- a/ravenwood/texts/ravenwood-common-policies.txt
+++ b/ravenwood/texts/ravenwood-common-policies.txt
@@ -21,3 +21,7 @@
     method setInt$ @com.android.ravenwood.RavenwoodJdkPatch.setInt$
 class java.util.LinkedHashMap  # no-pta
     method eldest @com.android.ravenwood.RavenwoodJdkPatch.eldest
+
+# Always set flag UNICODE_CHARACTER_CLASS when compiling regex
+class java.util.regex.Pattern keep
+    method compile @com.android.ravenwood.RavenwoodJdkPatch.compilePattern
diff --git a/ravenwood/texts/ravenwood-framework-policies.txt b/ravenwood/texts/ravenwood-framework-policies.txt
index fff9e6a..0695316 100644
--- a/ravenwood/texts/ravenwood-framework-policies.txt
+++ b/ravenwood/texts/ravenwood-framework-policies.txt
@@ -63,3 +63,22 @@
 # Just enough to allow ResourcesManager to run
 class android.hardware.display.DisplayManagerGlobal keep # no-pta
     method getInstance ()Landroid/hardware/display/DisplayManagerGlobal; ignore # no-pta
+
+# Bare minimum to support running ImageDecoderTest
+class android.graphics.drawable.Drawable$ConstantState keepclass # no-pta
+class android.graphics.drawable.BitmapDrawable$BitmapState keepclass # no-pta
+class android.graphics.drawable.BitmapDrawable keep # no-pta
+    method <init> (Landroid/content/res/Resources;Landroid/graphics/Bitmap;)V keep
+    method init * keep
+    method updateLocalState * keep
+    method computeBitmapSize * keep
+    method getIntrinsicWidth * keep
+    method getIntrinsicHeight * keep
+    method getBitmap * keep
+class android.graphics.drawable.Drawable keep # no-pta
+    method <init> ()V keep
+    method resolveDensity * keep
+    method updateBlendModeFilter * ignore
+
+class android.os.StrictMode keep # no-pta
+    method noteSlowCall (Ljava/lang/String;)V ignore
diff --git a/services/accessibility/accessibility.aconfig b/services/accessibility/accessibility.aconfig
index 5e1fe8a6..b52b3dab 100644
--- a/services/accessibility/accessibility.aconfig
+++ b/services/accessibility/accessibility.aconfig
@@ -145,16 +145,6 @@
 }
 
 flag {
-    name: "enable_magnification_follows_mouse_bugfix"
-    namespace: "accessibility"
-    description: "Whether to enable mouse following for fullscreen magnification"
-    bug: "354696546"
-    metadata {
-      purpose: PURPOSE_BUGFIX
-    }
-}
-
-flag {
     name: "enable_magnification_follows_mouse_with_pointer_motion_filter"
     namespace: "accessibility"
     description: "Whether to enable mouse following using pointer motion filter"
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java
index 9b5f22a..4e41808 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java
@@ -53,7 +53,6 @@
 import com.android.server.accessibility.magnification.FullScreenMagnificationVibrationHelper;
 import com.android.server.accessibility.magnification.MagnificationGestureHandler;
 import com.android.server.accessibility.magnification.MagnificationKeyHandler;
-import com.android.server.accessibility.magnification.MouseEventHandler;
 import com.android.server.accessibility.magnification.WindowMagnificationGestureHandler;
 import com.android.server.accessibility.magnification.WindowMagnificationPromptController;
 import com.android.server.policy.WindowManagerPolicy;
@@ -899,8 +898,7 @@
                             triggerable,
                             new WindowMagnificationPromptController(displayContext, mUserId),
                             displayId,
-                            fullScreenMagnificationVibrationHelper,
-                            new MouseEventHandler(controller));
+                            fullScreenMagnificationVibrationHelper);
         }
         return magnificationGestureHandler;
     }
diff --git a/services/accessibility/java/com/android/server/accessibility/autoclick/AutoclickIndicatorView.java b/services/accessibility/java/com/android/server/accessibility/autoclick/AutoclickIndicatorView.java
index 01f359f..6beb47a 100644
--- a/services/accessibility/java/com/android/server/accessibility/autoclick/AutoclickIndicatorView.java
+++ b/services/accessibility/java/com/android/server/accessibility/autoclick/AutoclickIndicatorView.java
@@ -123,6 +123,7 @@
     @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
         // Get the screen dimensions.
+        // TODO(b/397944891): Handle device rotation case.
         DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
         int screenWidth = displayMetrics.widthPixels;
         int screenHeight = displayMetrics.heightPixels;
diff --git a/services/accessibility/java/com/android/server/accessibility/autoclick/AutoclickTypePanel.java b/services/accessibility/java/com/android/server/accessibility/autoclick/AutoclickTypePanel.java
index ba3e3d1..342675a 100644
--- a/services/accessibility/java/com/android/server/accessibility/autoclick/AutoclickTypePanel.java
+++ b/services/accessibility/java/com/android/server/accessibility/autoclick/AutoclickTypePanel.java
@@ -25,6 +25,7 @@
 import android.graphics.drawable.GradientDrawable;
 import android.view.Gravity;
 import android.view.LayoutInflater;
+import android.view.MotionEvent;
 import android.view.View;
 import android.view.WindowInsets;
 import android.view.WindowManager;
@@ -51,6 +52,16 @@
     public static final int CORNER_TOP_LEFT = 2;
     public static final int CORNER_TOP_RIGHT = 3;
 
+    // Distance between panel and screen edge.
+    // TODO(b/396402941): Finalize edge margin.
+    private static final int PANEL_EDGE_MARGIN = 15;
+
+    // Touch point when drag starts, it can be anywhere inside the panel.
+    private float mTouchStartX, mTouchStartY;
+    // Initial panel position in screen coordinates.
+    private int mPanelStartX, mPanelStartY;
+    private boolean mIsDragging = false;
+
     // Types of click the AutoclickTypePanel supports.
     @IntDef({
         AUTOCLICK_TYPE_LEFT_CLICK,
@@ -101,6 +112,8 @@
 
     private final WindowManager mWindowManager;
 
+    private WindowManager.LayoutParams mParams;
+
     private final ClickPanelControllerInterface mClickPanelController;
 
     // Whether the panel is expanded or not.
@@ -133,6 +146,7 @@
         mContext = context;
         mWindowManager = windowManager;
         mClickPanelController = clickPanelController;
+        mParams = getDefaultLayoutParams();
 
         mPauseButtonDrawable = mContext.getDrawable(
                 R.drawable.accessibility_autoclick_pause);
@@ -154,6 +168,91 @@
         mPositionButton = mContentView.findViewById(R.id.accessibility_autoclick_position_layout);
 
         initializeButtonState();
+
+        // Set up touch event handling for the panel to allow the user to drag and reposition the
+        // panel by touching and moving it.
+        mContentView.setOnTouchListener(this::onPanelTouch);
+    }
+
+    /**
+     * Handles touch events on the panel, enabling the user to drag and reposition it.
+     * This function supports the draggable panel feature, allowing users to move the panel
+     * to different screen locations for better usability and customization.
+     */
+    private boolean onPanelTouch(View v, MotionEvent event) {
+        // TODO(b/397681794): Make sure this works on multiple screens.
+        switch (event.getAction()) {
+            case MotionEvent.ACTION_DOWN:
+                // Store initial touch positions.
+                mTouchStartX = event.getRawX();
+                mTouchStartY = event.getRawY();
+
+                // Store initial panel position relative to screen's top-left corner.
+                // getLocationOnScreen provides coordinates relative to the top-left corner of the
+                // screen's display. We are using this coordinate system to consistently track the
+                // panel's position during drag operations.
+                int[] location = new int[2];
+                v.getLocationOnScreen(location);
+                mPanelStartX = location[0];
+                mPanelStartY = location[1];
+                return true;
+            case MotionEvent.ACTION_MOVE:
+                mIsDragging = true;
+
+                // Set panel gravity to TOP|LEFT to match getLocationOnScreen's coordinate system
+                mParams.gravity = Gravity.LEFT | Gravity.TOP;
+
+                if (mIsDragging) {
+                    // Calculate touch distance moved from start position.
+                    float deltaX = event.getRawX() - mTouchStartX;
+                    float deltaY = event.getRawY() - mTouchStartY;
+
+                    // Update panel position, based on Top-Left absolute positioning.
+                    mParams.x = mPanelStartX + (int) deltaX;
+                    mParams.y = mPanelStartY + (int) deltaY;
+                    mWindowManager.updateViewLayout(mContentView, mParams);
+                }
+                return true;
+            case MotionEvent.ACTION_UP:
+            case MotionEvent.ACTION_CANCEL:
+                if (mIsDragging) {
+                    // When drag ends, snap panel to nearest edge.
+                    snapToNearestEdge(mParams);
+                }
+                mIsDragging = false;
+                return true;
+        }
+        return false;
+    }
+
+    private void snapToNearestEdge(WindowManager.LayoutParams params) {
+        // Get screen width to determine which side to snap to.
+        // TODO(b/397944891): Handle device rotation case.
+        int screenWidth = mContext.getResources().getDisplayMetrics().widthPixels;
+        int yPosition = params.y;
+
+        // Determine which half of the screen the panel is on.
+        boolean isOnLeftHalf = params.x < screenWidth / 2;
+
+        if (isOnLeftHalf) {
+            // Snap to left edge. Set params.gravity to make sure x, y offsets from correct anchor.
+            params.gravity = Gravity.START | Gravity.TOP;
+            // Set the current corner to be bottom-left to ensure that the subsequent reposition
+            // action rotates the panel clockwise from bottom-left towards top-left.
+            mCurrentCornerIndex = 1;
+        } else {
+            // Snap to right edge. Set params.gravity to make sure x, y offsets from correct anchor.
+            params.gravity = Gravity.END | Gravity.TOP;
+            // Set the current corner to be top-right to ensure that the subsequent reposition
+            // action rotates the panel clockwise from top-right towards bottom-right.
+            mCurrentCornerIndex = 3;
+        }
+
+        // Apply final position: set params.x to be edge margin, params.y to maintain vertical
+        // position.
+        params.x = PANEL_EDGE_MARGIN;
+        params.y = yPosition;
+        mWindowManager.updateViewLayout(mContentView, params);
     }
 
     private void initializeButtonState() {
@@ -209,7 +308,7 @@
     }
 
     public void show() {
-        mWindowManager.addView(mContentView, getLayoutParams());
+        mWindowManager.addView(mContentView, mParams);
     }
 
     public void hide() {
@@ -291,9 +390,8 @@
         @Corner int nextCornerIndex = (mCurrentCornerIndex + 1) % CORNER_ROTATION_ORDER.length;
         mCurrentCornerIndex = nextCornerIndex;
 
-        // getLayoutParams() will update the panel position based on current corner.
-        WindowManager.LayoutParams params = getLayoutParams();
-        mWindowManager.updateViewLayout(mContentView, params);
+        setPanelPositionForCorner(mParams, mCurrentCornerIndex);
+        mWindowManager.updateViewLayout(mContentView, mParams);
     }
 
     private void setPanelPositionForCorner(WindowManager.LayoutParams params, @Corner int corner) {
@@ -303,22 +401,22 @@
         switch (corner) {
             case CORNER_BOTTOM_RIGHT:
                 params.gravity = Gravity.END | Gravity.BOTTOM;
-                params.x = 15;
+                params.x = PANEL_EDGE_MARGIN;
                 params.y = 90;
                 break;
             case CORNER_BOTTOM_LEFT:
                 params.gravity = Gravity.START | Gravity.BOTTOM;
-                params.x = 15;
+                params.x = PANEL_EDGE_MARGIN;
                 params.y = 90;
                 break;
             case CORNER_TOP_LEFT:
                 params.gravity = Gravity.START | Gravity.TOP;
-                params.x = 15;
+                params.x = PANEL_EDGE_MARGIN;
                 params.y = 30;
                 break;
             case CORNER_TOP_RIGHT:
                 params.gravity = Gravity.END | Gravity.TOP;
-                params.x = 15;
+                params.x = PANEL_EDGE_MARGIN;
                 params.y = 30;
                 break;
             default:
@@ -343,13 +441,22 @@
         return mCurrentCornerIndex;
     }
 
+    @VisibleForTesting
+    WindowManager.LayoutParams getLayoutParamsForTesting() {
+        return mParams;
+    }
+
+    @VisibleForTesting
+    boolean getIsDraggingForTesting() {
+        return mIsDragging;
+    }
+
     /**
      * Retrieves the layout params for AutoclickIndicatorView, used when it's added to the Window
      * Manager.
      */
-    @VisibleForTesting
     @NonNull
-    WindowManager.LayoutParams getLayoutParams() {
+    private WindowManager.LayoutParams getDefaultLayoutParams() {
         final WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
         layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
         layoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
@@ -362,7 +469,7 @@
                 mContext.getString(R.string.accessibility_autoclick_type_settings_panel_title);
         layoutParams.width = WindowManager.LayoutParams.WRAP_CONTENT;
         layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
-        setPanelPositionForCorner(layoutParams, mCurrentCornerIndex);
+        setPanelPositionForCorner(layoutParams, CORNER_BOTTOM_RIGHT);
         return layoutParams;
     }
 }
diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java b/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java
index d11ae0a..e0dd8b6 100644
--- a/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java
+++ b/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java
@@ -182,7 +182,7 @@
     private final int mMinimumVelocity;
     private final int mMaximumVelocity;
 
-    private MouseEventHandler mMouseEventHandler;
+    private final MouseEventHandler mMouseEventHandler;
 
     public FullScreenMagnificationGestureHandler(
             @UiContext Context context,
@@ -194,8 +194,7 @@
             boolean detectShortcutTrigger,
             @NonNull WindowMagnificationPromptController promptController,
             int displayId,
-            FullScreenMagnificationVibrationHelper fullScreenMagnificationVibrationHelper,
-            MouseEventHandler mouseEventHandler) {
+            FullScreenMagnificationVibrationHelper fullScreenMagnificationVibrationHelper) {
         this(
                 context,
                 fullScreenMagnificationController,
@@ -210,8 +209,7 @@
                 /* magnificationLogger= */ null,
                 ViewConfiguration.get(context),
                 new OneFingerPanningSettingsProvider(
-                        context, Flags.enableMagnificationOneFingerPanningGesture()),
-                mouseEventHandler);
+                        context, Flags.enableMagnificationOneFingerPanningGesture()));
     }
 
     /** Constructor for tests. */
@@ -229,8 +227,7 @@
             FullScreenMagnificationVibrationHelper fullScreenMagnificationVibrationHelper,
             MagnificationLogger magnificationLogger,
             ViewConfiguration viewConfiguration,
-            OneFingerPanningSettingsProvider oneFingerPanningSettingsProvider,
-            MouseEventHandler mouseEventHandler) {
+            OneFingerPanningSettingsProvider oneFingerPanningSettingsProvider) {
         super(displayId, detectSingleFingerTripleTap, detectTwoFingerTripleTap,
                 detectShortcutTrigger, trace, callback);
         if (DEBUG_ALL) {
@@ -316,7 +313,7 @@
         mOverscrollEdgeSlop = context.getResources().getDimensionPixelSize(
                 R.dimen.accessibility_fullscreen_magnification_gesture_edge_slop);
         mIsWatch = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH);
-        mMouseEventHandler = mouseEventHandler;
+        mMouseEventHandler = new MouseEventHandler(mFullScreenMagnificationController);
 
         if (mDetectShortcutTrigger) {
             mScreenStateReceiver = new ScreenStateReceiver(context, this);
@@ -340,15 +337,14 @@
 
     @Override
     void handleMouseOrStylusEvent(MotionEvent event, MotionEvent rawEvent, int policyFlags) {
-        if (Flags.enableMagnificationFollowsMouseBugfix()) {
-            if (mFullScreenMagnificationController.isActivated(mDisplayId)) {
-                // TODO(b/354696546): Allow mouse/stylus to activate whichever display they are
-                // over, rather than only interacting with the current display.
-
-                // Send through the mouse/stylus event handler.
-                mMouseEventHandler.onEvent(event, mDisplayId);
-            }
+        if (!mFullScreenMagnificationController.isActivated(mDisplayId)) {
+            return;
         }
+        // TODO(b/354696546): Allow mouse/stylus to activate whichever display they are
+        // over, rather than only interacting with the current display.
+
+        // Send through the mouse/stylus event handler.
+        mMouseEventHandler.onEvent(event, mDisplayId);
     }
 
     private void handleTouchEventWith(
@@ -1170,8 +1166,7 @@
 
         protected void cacheDelayedMotionEvent(MotionEvent event, MotionEvent rawEvent,
                 int policyFlags) {
-            if (Flags.enableMagnificationFollowsMouseBugfix()
-                    && !event.isFromSource(SOURCE_TOUCHSCREEN)) {
+            if (!event.isFromSource(SOURCE_TOUCHSCREEN)) {
                 // Only touch events need to be cached and sent later.
                 return;
             }
diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationGestureHandler.java b/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationGestureHandler.java
index fa86ba3..6b39c98 100644
--- a/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationGestureHandler.java
+++ b/services/accessibility/java/com/android/server/accessibility/magnification/MagnificationGestureHandler.java
@@ -146,8 +146,7 @@
             } break;
             case SOURCE_MOUSE:
             case SOURCE_STYLUS: {
-                if (magnificationShortcutExists()
-                        && Flags.enableMagnificationFollowsMouseBugfix()) {
+                if (magnificationShortcutExists()) {
                     handleMouseOrStylusEvent(event, rawEvent, policyFlags);
                 }
             }
diff --git a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
index 74a87ed..4441db7 100644
--- a/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
+++ b/services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
@@ -5232,7 +5232,7 @@
                 }
             }
             return singleCategoryKeyedEntries;
-        } catch (IOException e) {
+        } catch (Exception e) {
             Slog.e(TAG, "Failed to load generated previews for " + provider, e);
             return new SparseArray<>();
         }
@@ -5261,7 +5261,7 @@
             try {
                 provider.info.generatedPreviewCategories = readGeneratedPreviewCategoriesFromProto(
                         input);
-            } catch (IOException e) {
+            } catch (Exception e) {
                 Slog.e(TAG, "Failed to read generated previews from file for " + provider, e);
                 previewsFile.delete();
                 provider.info.generatedPreviewCategories = 0;
@@ -5314,7 +5314,7 @@
                     scheduleNotifyGroupHostsForProvidersChangedLocked(provider.getUserId());
                 }
             }
-        } catch (IOException e) {
+        } catch (Exception e) {
             if (file != null && stream != null) {
                 file.failWrite(stream);
             }
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 07a4d52..8b701f0 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -198,6 +198,7 @@
 import android.annotation.PermissionMethod;
 import android.annotation.PermissionName;
 import android.annotation.RequiresPermission;
+import android.annotation.SpecialUsers.CanBeALL;
 import android.annotation.UserIdInt;
 import android.app.Activity;
 import android.app.ActivityClient;
@@ -3921,8 +3922,8 @@
      * The pkg name and app id have to be specified.
      */
     @Override
-    public void killApplication(String pkg, int appId, int userId, String reason,
-            int exitInfoReason) {
+    public void killApplication(String pkg, int appId, @CanBeALL @UserIdInt int userId,
+            String reason, int exitInfoReason) {
         if (pkg == null) {
             return;
         }
@@ -4307,7 +4308,7 @@
     final boolean forceStopPackageLocked(String packageName, int appId,
             boolean callerWillRestart, boolean purgeCache, boolean doit,
             boolean evenPersistent, boolean uninstalling, boolean packageStateStopped,
-            int userId, String reasonString, int reason) {
+            @CanBeALL @UserIdInt int userId, String reasonString, int reason) {
         return forceStopPackageInternalLocked(packageName, appId, callerWillRestart, purgeCache,
                 doit, evenPersistent, uninstalling, packageStateStopped, userId, reasonString,
                 reason, ProcessList.INVALID_ADJ);
@@ -4317,7 +4318,7 @@
     private boolean forceStopPackageInternalLocked(String packageName, int appId,
             boolean callerWillRestart, boolean purgeCache, boolean doit,
             boolean evenPersistent, boolean uninstalling, boolean packageStateStopped,
-            int userId, String reasonString, int reason, int minOomAdj) {
+            @CanBeALL @UserIdInt int userId, String reasonString, int reason, int minOomAdj) {
         int i;
 
         if (userId == UserHandle.USER_ALL && packageName == null) {
@@ -18093,7 +18094,7 @@
         }
 
         @Override
-        public void killApplicationSync(String pkgName, int appId, int userId,
+        public void killApplicationSync(String pkgName, int appId, @CanBeALL @UserIdInt int userId,
                 String reason, int exitInfoReason) {
             if (pkgName == null) {
                 return;
diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java
index b8babe6..a61368c 100644
--- a/services/core/java/com/android/server/am/ProcessList.java
+++ b/services/core/java/com/android/server/am/ProcessList.java
@@ -67,6 +67,8 @@
 import android.Manifest;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.SpecialUsers.CanBeALL;
+import android.annotation.UserIdInt;
 import android.app.ActivityManager;
 import android.app.ActivityManager.ProcessCapability;
 import android.app.ActivityThread;
@@ -2961,8 +2963,8 @@
     }
 
     @GuardedBy({"mService", "mProcLock"})
-    boolean killPackageProcessesLSP(String packageName, int appId, int userId, int minOomAdj,
-            int reasonCode, int subReason, String reason) {
+    boolean killPackageProcessesLSP(String packageName, int appId, @CanBeALL @UserIdInt int userId,
+            int minOomAdj, int reasonCode, int subReason, String reason) {
         return killPackageProcessesLSP(packageName, appId, userId, minOomAdj,
                 false /* callerWillRestart */, true /* allowRestart */, true /* doit */,
                 false /* evenPersistent */, false /* setRemoved */, false /* uninstalling */,
@@ -2970,7 +2972,8 @@
     }
 
     @GuardedBy("mService")
-    void killAppZygotesLocked(String packageName, int appId, int userId, boolean force) {
+    void killAppZygotesLocked(String packageName, int appId, @CanBeALL @UserIdInt int userId,
+            boolean force) {
         // See if there are any app zygotes running for this packageName / UID combination,
         // and kill it if so.
         final ArrayList<AppZygote> zygotesToKill = new ArrayList<>();
@@ -3050,9 +3053,9 @@
 
     @GuardedBy({"mService", "mProcLock"})
     boolean killPackageProcessesLSP(String packageName, int appId,
-            int userId, int minOomAdj, boolean callerWillRestart, boolean allowRestart,
-            boolean doit, boolean evenPersistent, boolean setRemoved, boolean uninstalling,
-            int reasonCode, int subReason, String reason) {
+            @CanBeALL @UserIdInt int userId, int minOomAdj, boolean callerWillRestart,
+            boolean allowRestart, boolean doit, boolean evenPersistent, boolean setRemoved,
+            boolean uninstalling, int reasonCode, int subReason, String reason) {
         final PackageManagerInternal pm = mService.getPackageManagerInternal();
         final ArrayList<Pair<ProcessRecord, Boolean>> procs = new ArrayList<>();
 
@@ -5220,7 +5223,7 @@
     }
 
     @GuardedBy("mService")
-    void sendPackageBroadcastLocked(int cmd, String[] packages, int userId) {
+    void sendPackageBroadcastLocked(int cmd, String[] packages, @CanBeALL @UserIdInt int userId) {
         boolean foundProcess = false;
         for (int i = mLruProcesses.size() - 1; i >= 0; i--) {
             ProcessRecord r = mLruProcesses.get(i);
diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java
index 2a9762c..c8b8909 100644
--- a/services/core/java/com/android/server/appop/AppOpsService.java
+++ b/services/core/java/com/android/server/appop/AppOpsService.java
@@ -66,7 +66,6 @@
 import static android.app.AppOpsManager.opToName;
 import static android.app.AppOpsManager.opToPublicName;
 import static android.companion.virtual.VirtualDeviceManager.PERSISTENT_DEVICE_ID_DEFAULT;
-import static android.content.Intent.ACTION_PACKAGE_ADDED;
 import static android.content.Intent.ACTION_PACKAGE_REMOVED;
 import static android.content.Intent.EXTRA_REPLACING;
 import static android.content.pm.PermissionInfo.PROTECTION_DANGEROUS;
@@ -363,8 +362,6 @@
     @GuardedBy("this")
     @VisibleForTesting
     final SparseArray<UidState> mUidStates = new SparseArray<>();
-    @GuardedBy("this")
-    private boolean mUidStatesInitialized;
 
     // A rate limiter to prevent excessive Atom pushing. Used by noteOperation.
     private static final Duration RATE_LIMITER_WINDOW = Duration.ofMillis(10);
@@ -415,6 +412,9 @@
     @GuardedBy("this")
     private ArraySet<String> mRarelyUsedPackages = new ArraySet<>();
 
+    @GuardedBy("this")
+    private boolean mRarelyUsedPackagesInitialized;
+
     /** Sampling strategy used for current session */
     @GuardedBy("this")
     @AppOpsManager.SamplingStrategy
@@ -1076,41 +1076,53 @@
             String pkgName = intent.getData().getEncodedSchemeSpecificPart().intern();
             int uid = intent.getIntExtra(Intent.EXTRA_UID, Process.INVALID_UID);
 
-            if (action.equals(ACTION_PACKAGE_ADDED)
-                    && !intent.getBooleanExtra(EXTRA_REPLACING, false)) {
-                PackageInfo pi = getPackageManagerInternal().getPackageInfo(pkgName,
-                        PackageManager.GET_PERMISSIONS, Process.myUid(),
-                        UserHandle.getUserId(uid));
-                boolean isSamplingTarget = isSamplingTarget(pi);
-                synchronized (AppOpsService.this) {
-                    if (isSamplingTarget) {
-                        mRarelyUsedPackages.add(pkgName);
-                    }
-                    UidState uidState = getUidStateLocked(uid, true);
-                    if (!uidState.pkgOps.containsKey(pkgName)) {
-                        uidState.pkgOps.put(pkgName,
-                                new Ops(pkgName, uidState));
-                    }
-
-                    createSandboxUidStateIfNotExistsForAppLocked(uid, null);
-                }
-            } else if (action.equals(ACTION_PACKAGE_REMOVED) && !intent.hasExtra(EXTRA_REPLACING)) {
-                synchronized (AppOpsService.this) {
-                    packageRemovedLocked(uid, pkgName);
-                }
+            if (action.equals(ACTION_PACKAGE_REMOVED) && !intent.hasExtra(EXTRA_REPLACING)) {
+                onPackageRemoved(pkgName, uid);
             } else if (action.equals(Intent.ACTION_PACKAGE_REPLACED)) {
-                AndroidPackage pkg = getPackageManagerInternal().getPackage(pkgName);
-                if (pkg == null) {
-                    return;
-                }
-
-                synchronized (AppOpsService.this) {
-                    refreshAttributionsLocked(pkg, uid);
-                }
+                onPackageReplaced(pkgName, uid);
             }
         }
     };
 
+    private void onPackageAdded(String pkgName, int uid) {
+        PackageInfo pi = getPackageManagerInternal().getPackageInfo(pkgName,
+                PackageManager.GET_PERMISSIONS, Process.myUid(),
+                UserHandle.getUserId(uid));
+        synchronized (AppOpsService.this) {
+            boolean isSamplingTarget = false;
+            if (mRarelyUsedPackagesInitialized) {
+                isSamplingTarget = isSamplingTarget(pi);
+            }
+            if (isSamplingTarget) {
+                mRarelyUsedPackages.add(pkgName);
+            }
+            UidState uidState = getUidStateLocked(uid, true);
+            if (!uidState.pkgOps.containsKey(pkgName)) {
+                uidState.pkgOps.put(pkgName,
+                        new Ops(pkgName, uidState));
+            }
+
+            createSandboxUidStateIfNotExistsForAppLocked(uid, null);
+        }
+    }
+
+    private void onPackageRemoved(String pkgName, int uid) {
+        synchronized (AppOpsService.this) {
+            packageRemovedLocked(uid, pkgName);
+        }
+    }
+
+    private void onPackageReplaced(String pkgName, int uid) {
+        AndroidPackage pkg = getPackageManagerInternal().getPackage(pkgName);
+        if (pkg == null) {
+            return;
+        }
+
+        synchronized (AppOpsService.this) {
+            refreshAttributionsLocked(pkg, uid);
+        }
+    }
+
     public void systemReady() {
         mVirtualDeviceManagerInternal = LocalServices.getService(
                 VirtualDeviceManagerInternal.class);
@@ -1121,7 +1133,6 @@
         mHistoricalRegistry.systemReady(mContext.getContentResolver());
 
         IntentFilter packageUpdateFilter = new IntentFilter();
-        packageUpdateFilter.addAction(ACTION_PACKAGE_ADDED);
         packageUpdateFilter.addAction(Intent.ACTION_PACKAGE_REPLACED);
         packageUpdateFilter.addAction(ACTION_PACKAGE_REMOVED);
         packageUpdateFilter.addDataScheme("package");
@@ -1236,7 +1247,6 @@
                 }
 
                 trimUidStatesLocked(knownUids, packageStates);
-                mUidStatesInitialized = true;
             }
         }
     }
@@ -7182,12 +7192,13 @@
                                 }
                             }
                         }
-                        synchronized (this) {
+                        synchronized (AppOpsService.this) {
                             int numPkgs = mRarelyUsedPackages.size();
                             for (int i = 0; i < numPkgs; i++) {
                                 candidates.add(mRarelyUsedPackages.valueAt(i));
                             }
                             mRarelyUsedPackages = candidates;
+                            mRarelyUsedPackagesInitialized = true;
                         }
                     }
                 });
@@ -7495,6 +7506,15 @@
 
             return number;
         }
+
+        @Override
+        public void onPackageAdded(String pkgName, int appId) {
+            int[] userIds = AppOpsService.this.getUserManagerInternal().getUserIds();
+            for (int i = 0; i < userIds.length; i++) {
+                int userId = userIds[i];
+                AppOpsService.this.onPackageAdded(pkgName, UserHandle.getUid(userId, appId));
+            }
+        }
     }
 
     /**
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
index d800503..4e84733 100644
--- a/services/core/java/com/android/server/audio/AudioService.java
+++ b/services/core/java/com/android/server/audio/AudioService.java
@@ -848,23 +848,6 @@
                 "media_audio.value_audio_playback_hardening_partial_restriction";
         static final String METRIC_COUNTERS_PLAYBACK_STRICT =
                 "media_audio.value_audio_playback_hardening_strict_would_restrict";
-
-        String getPackNameForUid(int uid) {
-            final long token = Binder.clearCallingIdentity();
-            try {
-                final String[] names = AudioService.this.mContext.
-                                            getPackageManager().getPackagesForUid(uid);
-                if (names == null
-                        || names.length == 0
-                        || TextUtils.isEmpty(names[0])) {
-                    return "[" + uid + "]";
-                }
-                return names[0];
-            } finally {
-                Binder.restoreCallingIdentity(token);
-            }
-        }
-
         // oneway
         @Override
         public void playbackHardeningEvent(int uid, byte type, boolean bypassed) {
@@ -882,7 +865,7 @@
             String msg = "AudioHardening background playback "
                     + (bypassed ? "would be " : "")
                     + "muted for "
-                    + getPackNameForUid(uid) + " (" + uid + "), "
+                    + getPackageNameForUid(uid) + " (" + uid + "), "
                     + "level: " + (type == HardeningType.PARTIAL ? "partial" : "full");
 
             AudioService.this.mHardeningLogger.enqueueAndSlog(msg,
@@ -954,7 +937,8 @@
     /**
      * Stores information about a device using absolute volume behavior.
      */
-    private static final class AbsoluteVolumeDeviceInfo {
+    private static final class AbsoluteVolumeDeviceInfo implements IBinder.DeathRecipient {
+        private final AudioService mParent;
         private final AudioDeviceAttributes mDevice;
         private final List<VolumeInfo> mVolumeInfos;
         private final IAudioDeviceVolumeDispatcher mCallback;
@@ -962,16 +946,26 @@
         private @AudioManager.AbsoluteDeviceVolumeBehavior int mDeviceVolumeBehavior;
 
         private AbsoluteVolumeDeviceInfo(
+                AudioService parent,
                 AudioDeviceAttributes device,
                 List<VolumeInfo> volumeInfos,
                 IAudioDeviceVolumeDispatcher callback,
                 boolean handlesVolumeAdjustment,
                 @AudioManager.AbsoluteDeviceVolumeBehavior int behavior) {
+            this.mParent = parent;
             this.mDevice = device;
             this.mVolumeInfos = volumeInfos;
             this.mCallback = callback;
             this.mHandlesVolumeAdjustment = handlesVolumeAdjustment;
             this.mDeviceVolumeBehavior = behavior;
+
+            try {
+                this.mCallback.asBinder().linkToDeath(this, 0);
+            } catch (RemoteException | NullPointerException e) {
+                // NPE can be raised when mocking the callback object
+                Slog.w(TAG, "Exception: " + e
+                        + "\nCannot listen to callback binder death for device " + mDevice);
+            }
         }
 
         /**
@@ -991,6 +985,25 @@
             }
             return null;
         }
+
+        @Override
+        public void binderDied() {
+            if (mParent.removeAudioSystemDeviceOutFromAbsVolumeDevices(mDevice.getInternalType())
+                    != null) {
+                mParent.dispatchDeviceVolumeBehavior(mDevice,
+                        AudioManager.DEVICE_VOLUME_BEHAVIOR_VARIABLE);
+            }
+        }
+
+        public void unlinkToDeath() {
+            try {
+                mCallback.asBinder().unlinkToDeath(this, 0);
+            } catch (NullPointerException e) {
+                // NPE can be raised when mocking the callback object
+                Slog.w(TAG, "Exception: " + e
+                        + "\nCannot unlink to death, null binder object for device " + mDevice);
+            }
+        }
     }
 
     // Devices for the which use the "absolute volume" concept (framework sends audio signal
@@ -1256,8 +1269,7 @@
         }
     };
 
-    @GuardedBy("mSettingsLock")
-    private boolean mRttEnabled = false;
+    private AtomicBoolean mRttEnabled = new AtomicBoolean(false);
 
     private AtomicBoolean mMasterMute = new AtomicBoolean(false);
 
@@ -1608,7 +1620,9 @@
 
         mMusicFxHelper = new MusicFxHelper(mContext, mAudioHandler);
 
-        mHardeningEnforcer = new HardeningEnforcer(mContext, isPlatformAutomotive(), mAppOps,
+        mHardeningEnforcer = new HardeningEnforcer(mContext, isPlatformAutomotive(),
+                mShouldEnableAllHardening,
+                mAppOps,
                 context.getPackageManager(),
                 mHardeningLogger);
     }
@@ -1634,13 +1648,13 @@
      * Called by handling of MSG_INIT_STREAMS_VOLUMES
      */
     private void onInitStreamsAndVolumes() {
-        synchronized (mSettingsLock) {
-            mCameraSoundForced = readCameraSoundForced();
+        synchronized (this) {
+            mCameraSoundForced.set(readCameraSoundForced());
             sendMsg(mAudioHandler,
                     MSG_SET_FORCE_USE,
                     SENDMSG_QUEUE,
                     AudioSystem.FOR_SYSTEM,
-                    mCameraSoundForced
+                    mCameraSoundForced.get()
                             ? AudioSystem.FORCE_SYSTEM_ENFORCED : AudioSystem.FORCE_NONE,
                     new String("AudioService ctor"),
                     0);
@@ -2047,11 +2061,9 @@
             onUpdateAudioMode(AudioSystem.MODE_CURRENT, android.os.Process.myPid(),
                     mContext.getPackageName(), true /*force*/, false /*signal*/);
         }
-        final int forSys;
-        synchronized (mSettingsLock) {
-            forSys = mCameraSoundForced ?
-                    AudioSystem.FORCE_SYSTEM_ENFORCED : AudioSystem.FORCE_NONE;
-        }
+
+        final int forSys = mCameraSoundForced.get()
+                ? AudioSystem.FORCE_SYSTEM_ENFORCED : AudioSystem.FORCE_NONE;
 
         mDeviceBroker.setForceUse_Async(AudioSystem.FOR_SYSTEM, forSys, "onAudioServerDied");
 
@@ -2078,13 +2090,13 @@
         // Restore setParameters and other queued setters.
         mRestorableParameters.restoreAll();
 
+        final int forDock = mDockAudioMediaEnabled ?
+                AudioSystem.FORCE_DIGITAL_DOCK : AudioSystem.FORCE_NONE;
+        mDeviceBroker.setForceUse_Async(AudioSystem.FOR_DOCK, forDock, "onAudioServerDied");
+        sendEncodedSurroundMode(mContentResolver, "onAudioServerDied");
+        sendEnabledSurroundFormats(mContentResolver, true);
+        AudioSystem.setRttEnabled(mRttEnabled.get());
         synchronized (mSettingsLock) {
-            final int forDock = mDockAudioMediaEnabled ?
-                    AudioSystem.FORCE_DIGITAL_DOCK : AudioSystem.FORCE_NONE;
-            mDeviceBroker.setForceUse_Async(AudioSystem.FOR_DOCK, forDock, "onAudioServerDied");
-            sendEncodedSurroundMode(mContentResolver, "onAudioServerDied");
-            sendEnabledSurroundFormats(mContentResolver, true);
-            AudioSystem.setRttEnabled(mRttEnabled);
             resetAssistantServicesUidsLocked();
         }
 
@@ -3221,9 +3233,10 @@
             sendEnabledSurroundFormats(cr, true);
             updateAssistantUIdLocked(/* forceUpdate= */ true);
             resetActiveAssistantUidsLocked();
-            AudioSystem.setRttEnabled(mRttEnabled);
         }
 
+        AudioSystem.setRttEnabled(mRttEnabled.get());
+
         mMuteAffectedStreams = mSettings.getSystemIntForUser(cr,
                 System.MUTE_STREAMS_AFFECTED, AudioSystem.DEFAULT_MUTE_STREAMS_AFFECTED,
                 UserHandle.USER_CURRENT);
@@ -3904,7 +3917,9 @@
     public void adjustStreamVolumeWithAttribution(int streamType, int direction, int flags,
             String callingPackage, String attributionTag) {
         if (mHardeningEnforcer.blockVolumeMethod(
-                HardeningEnforcer.METHOD_AUDIO_MANAGER_ADJUST_STREAM_VOLUME)) {
+                HardeningEnforcer.METHOD_AUDIO_MANAGER_ADJUST_STREAM_VOLUME,
+                callingPackage,
+                Binder.getCallingUid())) {
             return;
         }
         if ((streamType == AudioManager.STREAM_ACCESSIBILITY) && !canChangeAccessibilityVolume()) {
@@ -4247,7 +4262,7 @@
                     final VolumeStreamState vss = mStreamStates.valueAt(streamIdx);
                     if (vss != null && streamAlias == sStreamVolumeAlias.get(vss.getStreamType())
                             && vss.isMutable()) {
-                        if (!(mCameraSoundForced && (vss.getStreamType()
+                        if (!(mCameraSoundForced.get() && (vss.getStreamType()
                                 == AudioSystem.STREAM_SYSTEM_ENFORCED))) {
                             boolean changed = vss.mute(state, /* apply= */ false,
                                     "muteAliasStreams");
@@ -4665,7 +4680,9 @@
     public void setStreamVolumeWithAttribution(int streamType, int index, int flags,
             String callingPackage, String attributionTag) {
         if (mHardeningEnforcer.blockVolumeMethod(
-                HardeningEnforcer.METHOD_AUDIO_MANAGER_SET_STREAM_VOLUME)) {
+                HardeningEnforcer.METHOD_AUDIO_MANAGER_SET_STREAM_VOLUME,
+                callingPackage,
+                Binder.getCallingUid())) {
             return;
         }
         setStreamVolumeWithAttributionInt(streamType, index, flags, /*device*/ null,
@@ -6114,7 +6131,9 @@
 
     public void setRingerModeExternal(int ringerMode, String caller) {
         if (mHardeningEnforcer.blockVolumeMethod(
-                HardeningEnforcer.METHOD_AUDIO_MANAGER_SET_RINGER_MODE)) {
+                HardeningEnforcer.METHOD_AUDIO_MANAGER_SET_RINGER_MODE,
+                getPackageNameForUid(Binder.getCallingUid()),
+                Binder.getCallingUid())) {
             return;
         }
         if (isAndroidNPlus(caller) && wouldToggleZenMode(ringerMode)
@@ -6817,7 +6836,7 @@
         return false;
     }
 
-    /** @see AudioManager#setRttEnabled() */
+    /** @see AudioManager#setRttEnabled(boolean)  */
     @Override
     public void setRttEnabled(boolean rttEnabled) {
         if (mContext.checkCallingOrSelfPermission(
@@ -6827,8 +6846,8 @@
                     + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid());
             return;
         }
-        synchronized (mSettingsLock) {
-            mRttEnabled = rttEnabled;
+        synchronized (this) {
+            mRttEnabled.set(rttEnabled);
             final long identity = Binder.clearCallingIdentity();
             try {
                 AudioSystem.setRttEnabled(rttEnabled);
@@ -6838,6 +6857,11 @@
         }
     }
 
+    @VisibleForTesting(visibility = PACKAGE)
+    protected boolean isRttEnabled() {
+        return mRttEnabled.get();
+    }
+
     /** @see AudioManager#adjustSuggestedStreamVolumeForUid(int, int, int, String, int, int, int) */
     @Override
     public void adjustSuggestedStreamVolumeForUid(int streamType, int direction, int flags,
@@ -6883,7 +6907,9 @@
     @Override
     public void adjustVolume(int direction, int flags) {
         if (mHardeningEnforcer.blockVolumeMethod(
-                HardeningEnforcer.METHOD_AUDIO_MANAGER_ADJUST_VOLUME)) {
+                HardeningEnforcer.METHOD_AUDIO_MANAGER_ADJUST_VOLUME,
+                getPackageNameForUid(Binder.getCallingUid()),
+                Binder.getCallingUid())) {
             return;
         }
         getMediaSessionManager().dispatchAdjustVolume(AudioManager.USE_DEFAULT_STREAM_TYPE,
@@ -6898,7 +6924,9 @@
     @Override
     public void adjustSuggestedStreamVolume(int direction, int suggestedStreamType, int flags) {
         if (mHardeningEnforcer.blockVolumeMethod(
-                HardeningEnforcer.METHOD_AUDIO_MANAGER_ADJUST_SUGGESTED_STREAM_VOLUME)) {
+                HardeningEnforcer.METHOD_AUDIO_MANAGER_ADJUST_SUGGESTED_STREAM_VOLUME,
+                getPackageNameForUid(Binder.getCallingUid()),
+                Binder.getCallingUid())) {
             return;
         }
         getMediaSessionManager().dispatchAdjustVolume(suggestedStreamType, direction, flags);
@@ -7619,7 +7647,7 @@
             ringerModeAffectedStreams = mRingerModeDelegate
                     .getRingerModeAffectedStreams(ringerModeAffectedStreams);
         }
-        if (mCameraSoundForced) {
+        if (mCameraSoundForced.get()) {
             ringerModeAffectedStreams &= ~(1 << AudioSystem.STREAM_SYSTEM_ENFORCED);
         } else {
             ringerModeAffectedStreams |= (1 << AudioSystem.STREAM_SYSTEM_ENFORCED);
@@ -8142,16 +8170,16 @@
 
         int deviceOut = device.getInternalType();
         if (register) {
-            AbsoluteVolumeDeviceInfo info = new AbsoluteVolumeDeviceInfo(
+            AbsoluteVolumeDeviceInfo info = new AbsoluteVolumeDeviceInfo(this,
                     device, volumes, cb, handlesVolumeAdjustment, deviceVolumeBehavior);
             final AbsoluteVolumeDeviceInfo oldInfo = getAbsoluteVolumeDeviceInfo(deviceOut);
+            addAudioSystemDeviceOutToAbsVolumeDevices(deviceOut, info);
 
             boolean volumeBehaviorChanged = (oldInfo == null)
                     || (oldInfo.mDeviceVolumeBehavior != deviceVolumeBehavior);
             if (volumeBehaviorChanged) {
                 removeAudioSystemDeviceOutFromFullVolumeDevices(deviceOut);
                 removeAudioSystemDeviceOutFromFixedVolumeDevices(deviceOut);
-                addAudioSystemDeviceOutToAbsVolumeDevices(deviceOut, info);
 
                 dispatchDeviceVolumeBehavior(device, deviceVolumeBehavior);
             }
@@ -8177,8 +8205,10 @@
                 }
             }
         } else {
-            boolean wasAbsVol = removeAudioSystemDeviceOutFromAbsVolumeDevices(deviceOut) != null;
-            if (wasAbsVol) {
+            AbsoluteVolumeDeviceInfo deviceInfo = removeAudioSystemDeviceOutFromAbsVolumeDevices(
+                    deviceOut);
+            if (deviceInfo != null) {
+                deviceInfo.unlinkToDeath();
                 dispatchDeviceVolumeBehavior(device, AudioManager.DEVICE_VOLUME_BEHAVIOR_VARIABLE);
             }
         }
@@ -9141,7 +9171,7 @@
                         continue;
                     }
                     if (mPublicStreamType == AudioSystem.STREAM_SYSTEM_ENFORCED
-                            && mCameraSoundForced) {
+                            && mCameraSoundForced.get()) {
                         index = mIndexMax;
                     }
                     if (DEBUG_VOL) {
@@ -9504,28 +9534,25 @@
         }
 
         public void readSettings() {
-            synchronized (mSettingsLock) {
-                synchronized (mVolumeStateLock) {
-                    // force maximum volume on all streams if fixed volume property is set
-                    if (mUseFixedVolume) {
-                        mIndexMap.put(AudioSystem.DEVICE_OUT_DEFAULT, mIndexMax);
-                        return;
-                    }
-                    // do not read system stream volume from settings: this stream is always aliased
-                    // to another stream type and its volume is never persisted. Values in settings can
-                    // only be stale values
-                    if ((mStreamType == AudioSystem.STREAM_SYSTEM) ||
-                            (mStreamType == AudioSystem.STREAM_SYSTEM_ENFORCED)) {
-                        int index = 10 * AudioSystem.DEFAULT_STREAM_VOLUME[mStreamType];
-                        if (mCameraSoundForced) {
-                            index = mIndexMax;
-                        }
-                        mIndexMap.put(AudioSystem.DEVICE_OUT_DEFAULT, index);
-                        return;
-                    }
-                }
-            }
             synchronized (mVolumeStateLock) {
+                // force maximum volume on all streams if fixed volume property is set
+                if (mUseFixedVolume) {
+                    mIndexMap.put(AudioSystem.DEVICE_OUT_DEFAULT, mIndexMax);
+                    return;
+                }
+                // do not read system stream volume from settings: this stream is always aliased
+                // to another stream type and its volume is never persisted. Values in settings can
+                // only be stale values
+                if ((mStreamType == AudioSystem.STREAM_SYSTEM)
+                        || (mStreamType == AudioSystem.STREAM_SYSTEM_ENFORCED)) {
+                    int index = 10 * AudioSystem.DEFAULT_STREAM_VOLUME[mStreamType];
+                    if (mCameraSoundForced.get()) {
+                        index = mIndexMax;
+                    }
+                    mIndexMap.put(AudioSystem.DEVICE_OUT_DEFAULT, index);
+                    return;
+                }
+
                 for (int device : AudioSystem.DEVICE_OUT_ALL_SET) {
 
                     // retrieve current volume for device
@@ -9674,7 +9701,8 @@
                     index = getValidIndex(index, hasModifyAudioSettings);
                     // for STREAM_SYSTEM_ENFORCED, do not sync aliased streams on the enforced index
                     int aliasIndex = index;
-                    if ((mStreamType == AudioSystem.STREAM_SYSTEM_ENFORCED) && mCameraSoundForced) {
+                    if ((mStreamType == AudioSystem.STREAM_SYSTEM_ENFORCED)
+                            && mCameraSoundForced.get()) {
                         index = mIndexMax;
                     }
                     mIndexMap.put(device, index);
@@ -12200,10 +12228,10 @@
             Configuration config = mContext.getResources().getConfiguration();
             mSoundDoseHelper.configureSafeMedia(/*forced*/false, TAG);
 
-            boolean cameraSoundForced = readCameraSoundForced();
+            final boolean cameraSoundForced = readCameraSoundForced();
+            final boolean cameraSoundForcedChanged =
+                    (mCameraSoundForced.getAndSet(cameraSoundForced) != cameraSoundForced);
             synchronized (mSettingsLock) {
-                final boolean cameraSoundForcedChanged = (cameraSoundForced != mCameraSoundForced);
-                mCameraSoundForced = cameraSoundForced;
                 if (cameraSoundForcedChanged) {
                     if (!mIsSingleVolume) {
                         synchronized (mVolumeStateLock) {
@@ -12233,7 +12261,6 @@
                             0,
                             0,
                             getVssForStreamOrDefault(AudioSystem.STREAM_SYSTEM_ENFORCED), 0);
-
                 }
             }
             mVolumeController.setLayoutDirection(config.getLayoutDirection());
@@ -12598,14 +12625,11 @@
     //==========================================================================================
 
     // cached value of com.android.internal.R.bool.config_camera_sound_forced
-    @GuardedBy("mSettingsLock")
-    private boolean mCameraSoundForced;
+    private AtomicBoolean mCameraSoundForced = new AtomicBoolean(false);
 
     // called by android.hardware.Camera to populate CameraInfo.canDisableShutterSound
     public boolean isCameraSoundForced() {
-        synchronized (mSettingsLock) {
-            return mCameraSoundForced;
-        }
+        return mCameraSoundForced.get();
     }
 
     //==========================================================================================
@@ -15457,4 +15481,22 @@
         }
         return true;
     }
+
+    private String getPackageNameForUid(int uid) {
+        final long token = Binder.clearCallingIdentity();
+        try {
+            final String[] names = AudioService.this.mContext.
+                                        getPackageManager().getPackagesForUid(uid);
+            if (names == null
+                    || names.length == 0
+                    || TextUtils.isEmpty(names[0])) {
+                return "[" + uid + "]";
+            }
+            return names[0];
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
+    }
+
+
 }
diff --git a/services/core/java/com/android/server/audio/HardeningEnforcer.java b/services/core/java/com/android/server/audio/HardeningEnforcer.java
index f69a810..9bb5160 100644
--- a/services/core/java/com/android/server/audio/HardeningEnforcer.java
+++ b/services/core/java/com/android/server/audio/HardeningEnforcer.java
@@ -37,6 +37,7 @@
 import com.android.server.utils.EventLogger;
 
 import java.io.PrintWriter;
+import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
  * Class to encapsulate all audio API hardening operations
@@ -49,6 +50,7 @@
 
     final Context mContext;
     final AppOpsManager mAppOps;
+    final AtomicBoolean mShouldEnableAllHardening;
     final boolean mIsAutomotive;
 
     final ActivityManager mActivityManager;
@@ -106,10 +108,16 @@
      */
     public static final int METHOD_AUDIO_MANAGER_REQUEST_AUDIO_FOCUS = 300;
 
-    public HardeningEnforcer(Context ctxt, boolean isAutomotive, AppOpsManager appOps,
-            PackageManager pm, EventLogger logger) {
+    private static final int ALLOWED = 0;
+    private static final int DENIED_IF_PARTIAL = 1;
+    private static final int DENIED_IF_FULL = 2;
+
+    public HardeningEnforcer(Context ctxt, boolean isAutomotive,
+            AtomicBoolean shouldEnableHardening, AppOpsManager appOps, PackageManager pm,
+            EventLogger logger) {
         mContext = ctxt;
         mIsAutomotive = isAutomotive;
+        mShouldEnableAllHardening = shouldEnableHardening;
         mAppOps = appOps;
         mActivityManager = ctxt.getSystemService(ActivityManager.class);
         mPackageManager = pm;
@@ -121,29 +129,59 @@
      * @param volumeMethod name of the method to check, for logging purposes
      * @return false if the method call is allowed, true if it should be a no-op
      */
-    protected boolean blockVolumeMethod(int volumeMethod) {
+    protected boolean blockVolumeMethod(int volumeMethod, String packageName, int uid) {
+        // Regardless of flag state, always permit callers with MODIFY_AUDIO_SETTINGS_PRIVILEGED
+        // Prevent them from showing up in metrics as well
+        if (mContext.checkCallingOrSelfPermission(
+                Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED)
+                == PackageManager.PERMISSION_GRANTED) {
+            return false;
+        }
         // for Auto, volume methods require MODIFY_AUDIO_SETTINGS_PRIVILEGED
         if (mIsAutomotive) {
             if (!autoPublicVolumeApiHardening()) {
                 // automotive hardening flag disabled, no blocking on auto
                 return false;
             }
-            if (mContext.checkCallingOrSelfPermission(
-                    Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED)
-                    == PackageManager.PERMISSION_GRANTED) {
-                return false;
-            }
-            if (Binder.getCallingUid() < UserHandle.AID_APP_START) {
+            if (uid < UserHandle.AID_APP_START) {
                 return false;
             }
             // TODO metrics?
             // TODO log for audio dumpsys?
             Slog.e(TAG, "Preventing volume method " + volumeMethod + " for "
-                    + getPackNameForUid(Binder.getCallingUid()));
+                    + packageName);
             return true;
+        } else {
+            int allowed;
+            // No flags controlling restriction yet
+            boolean enforced = mShouldEnableAllHardening.get();
+            if (!noteOp(AppOpsManager.OP_CONTROL_AUDIO_PARTIAL, uid, packageName, null)) {
+                // blocked by partial
+                Counter.logIncrementWithUid(
+                        "media_audio.value_audio_volume_hardening_partial_restriction", uid);
+                allowed = DENIED_IF_PARTIAL;
+            } else if (!noteOp(AppOpsManager.OP_CONTROL_AUDIO, uid, packageName, null)) {
+                // blocked by full, permitted by partial
+                Counter.logIncrementWithUid(
+                        "media_audio.value_audio_volume_hardening_strict_restriction", uid);
+                allowed = DENIED_IF_FULL;
+            } else {
+                // permitted with strict hardening, log anyway for API metrics
+                Counter.logIncrementWithUid(
+                        "media_audio.value_audio_volume_hardening_allowed", uid);
+                allowed = ALLOWED;
+            }
+            if (allowed != ALLOWED) {
+                String msg = "AudioHardening volume control for api "
+                        + volumeMethod
+                        + (!enforced ? " would be " : " ")
+                        + "ignored for "
+                        + getPackNameForUid(uid) + " (" + uid + "), "
+                        + "level: " + (allowed == DENIED_IF_PARTIAL ? "partial" : "full");
+                mEventLogger.enqueueAndSlog(msg, EventLogger.Event.ALOGW, TAG);
+            }
+            return enforced && allowed != ALLOWED;
         }
-        // not blocking
-        return false;
     }
 
     /**
diff --git a/services/core/java/com/android/server/biometrics/BiometricService.java b/services/core/java/com/android/server/biometrics/BiometricService.java
index a5058dd..cf5fa96 100644
--- a/services/core/java/com/android/server/biometrics/BiometricService.java
+++ b/services/core/java/com/android/server/biometrics/BiometricService.java
@@ -540,9 +540,23 @@
                     DEFAULT_MANDATORY_BIOMETRICS_STATUS)
                     && mMandatoryBiometricsRequirementsSatisfied.getOrDefault(userId,
                     DEFAULT_MANDATORY_BIOMETRICS_REQUIREMENTS_SATISFIED_STATUS)
-                    && getEnabledForApps(userId, TYPE_ANY_BIOMETRIC)
-                    && (mFingerprintEnrolledForUser.getOrDefault(userId, false /* default */)
-                    || mFaceEnrolledForUser.getOrDefault(userId, false /* default */));
+                    && getBiometricStatusForIdentityCheck(userId);
+        }
+
+        private boolean getBiometricStatusForIdentityCheck(int userId) {
+            if (com.android.settings.flags.Flags.biometricsOnboardingEducation()) {
+                if (mFingerprintEnrolledForUser.getOrDefault(userId, false /* default */)
+                        && getEnabledForApps(userId, TYPE_FINGERPRINT)) {
+                    return true;
+                } else {
+                    return mFaceEnrolledForUser.getOrDefault(userId, false /* default */)
+                            && getEnabledForApps(userId, TYPE_FACE);
+                }
+            } else {
+                return (mFingerprintEnrolledForUser.getOrDefault(userId, false /* default */)
+                        || mFaceEnrolledForUser.getOrDefault(userId, false /* default */))
+                        && getEnabledForApps(userId, TYPE_ANY_BIOMETRIC);
+            }
         }
 
         void notifyEnabledOnKeyguardCallbacks(int userId, int modality) {
diff --git a/services/core/java/com/android/server/content/ContentService.java b/services/core/java/com/android/server/content/ContentService.java
index c393e92..79af6ed 100644
--- a/services/core/java/com/android/server/content/ContentService.java
+++ b/services/core/java/com/android/server/content/ContentService.java
@@ -24,6 +24,8 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.RequiresPermission;
+import android.annotation.SpecialUsers.CanBeALL;
+import android.annotation.SpecialUsers.CanBeCURRENT;
 import android.annotation.UserIdInt;
 import android.app.ActivityManager;
 import android.app.ActivityManager.RestrictionLevel;
@@ -361,7 +363,8 @@
      */
     @Override
     public void registerContentObserver(Uri uri, boolean notifyForDescendants,
-            IContentObserver observer, int userHandle, int targetSdkVersion) {
+            IContentObserver observer, @CanBeALL @CanBeCURRENT @UserIdInt int userHandle,
+            int targetSdkVersion) {
         if (observer == null || uri == null) {
             throw new IllegalArgumentException("You must pass a valid uri and observer");
         }
@@ -1398,8 +1401,8 @@
         }
     }
 
-    private int handleIncomingUser(Uri uri, int pid, int uid, int modeFlags, boolean allowNonFull,
-            int userId) {
+    private @CanBeALL @UserIdInt int handleIncomingUser(Uri uri, int pid, int uid, int modeFlags,
+            boolean allowNonFull, @CanBeALL @CanBeCURRENT @UserIdInt int userId) {
         if (userId == UserHandle.USER_CURRENT) {
             userId = ActivityManager.getCurrentUser();
         }
diff --git a/services/core/java/com/android/server/inputmethod/ClientController.java b/services/core/java/com/android/server/inputmethod/ClientController.java
index 0381a31..d03c086 100644
--- a/services/core/java/com/android/server/inputmethod/ClientController.java
+++ b/services/core/java/com/android/server/inputmethod/ClientController.java
@@ -43,21 +43,23 @@
     @GuardedBy("ImfLock.class")
     private final List<ClientControllerCallback> mCallbacks = new ArrayList<>();
 
+    @NonNull
     private final PackageManagerInternal mPackageManagerInternal;
 
     interface ClientControllerCallback {
 
-        void onClientRemoved(ClientState client);
+        void onClientRemoved(@NonNull ClientState client);
     }
 
-    ClientController(PackageManagerInternal packageManagerInternal) {
+    ClientController(@NonNull PackageManagerInternal packageManagerInternal) {
         mPackageManagerInternal = packageManagerInternal;
     }
 
     @GuardedBy("ImfLock.class")
-    ClientState addClient(IInputMethodClientInvoker clientInvoker,
-            IRemoteInputConnection inputConnection, int selfReportedDisplayId, int callerUid,
-            int callerPid) {
+    @NonNull
+    ClientState addClient(@NonNull IInputMethodClientInvoker clientInvoker,
+            @NonNull IRemoteInputConnection fallbackInputConnection, int selfReportedDisplayId,
+            int callerUid, int callerPid) {
         final IBinder.DeathRecipient deathRecipient = () -> {
             // Exceptionally holding ImfLock here since this is a internal lambda expression.
             synchronized (ImfLock.class) {
@@ -90,15 +92,15 @@
         // have the client crash.  Thus we do not verify the display ID at all here.  Instead we
         // later check the display ID every time the client needs to interact with the specified
         // display.
-        final ClientState cs = new ClientState(clientInvoker, inputConnection,
-                callerUid, callerPid, selfReportedDisplayId, deathRecipient);
+        final var cs = new ClientState(clientInvoker, fallbackInputConnection, callerUid, callerPid,
+                selfReportedDisplayId, deathRecipient);
         mClients.put(clientInvoker.asBinder(), cs);
         return cs;
     }
 
     @VisibleForTesting
     @GuardedBy("ImfLock.class")
-    boolean removeClient(IInputMethodClient client) {
+    boolean removeClient(@NonNull IInputMethodClient client) {
         return removeClientAsBinder(client.asBinder());
     }
 
@@ -116,7 +118,7 @@
     }
 
     @GuardedBy("ImfLock.class")
-    void addClientControllerCallback(ClientControllerCallback callback) {
+    void addClientControllerCallback(@NonNull ClientControllerCallback callback) {
         mCallbacks.add(callback);
     }
 
@@ -127,15 +129,15 @@
     }
 
     @GuardedBy("ImfLock.class")
-    void forAllClients(Consumer<ClientState> consumer) {
+    void forAllClients(@NonNull Consumer<ClientState> consumer) {
         for (int i = 0; i < mClients.size(); i++) {
             consumer.accept(mClients.valueAt(i));
         }
     }
 
     @GuardedBy("ImfLock.class")
-    boolean verifyClientAndPackageMatch(
-            @NonNull IInputMethodClient client, @NonNull String packageName) {
+    boolean verifyClientAndPackageMatch(@NonNull IInputMethodClient client,
+            @NonNull String packageName) {
         final ClientState cs = mClients.get(client.asBinder());
         if (cs == null) {
             throw new IllegalArgumentException("unknown client " + client.asBinder());
diff --git a/services/core/java/com/android/server/inputmethod/ClientState.java b/services/core/java/com/android/server/inputmethod/ClientState.java
index e98a5a7..ea80995 100644
--- a/services/core/java/com/android/server/inputmethod/ClientState.java
+++ b/services/core/java/com/android/server/inputmethod/ClientState.java
@@ -16,6 +16,8 @@
 
 package com.android.server.inputmethod;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.os.IBinder;
 import android.util.SparseArray;
 import android.view.inputmethod.InputBinding;
@@ -24,12 +26,17 @@
 import com.android.internal.inputmethod.IRemoteInputConnection;
 
 final class ClientState {
+
+    @NonNull
     final IInputMethodClientInvoker mClient;
+    @NonNull
     final IRemoteInputConnection mFallbackInputConnection;
     final int mUid;
     final int mPid;
     final int mSelfReportedDisplayId;
+    @NonNull
     final InputBinding mBinding;
+    @NonNull
     final IBinder.DeathRecipient mClientDeathRecipient;
 
     @GuardedBy("ImfLock.class")
@@ -39,30 +46,31 @@
     boolean mSessionRequestedForAccessibility;
 
     @GuardedBy("ImfLock.class")
+    @Nullable
     InputMethodManagerService.SessionState mCurSession;
 
     @GuardedBy("ImfLock.class")
-    SparseArray<InputMethodManagerService.AccessibilitySessionState> mAccessibilitySessions =
+    @NonNull
+    final SparseArray<InputMethodManagerService.AccessibilitySessionState> mAccessibilitySessions =
             new SparseArray<>();
 
-    @Override
-    public String toString() {
-        return "ClientState{" + Integer.toHexString(
-                System.identityHashCode(this)) + " mUid=" + mUid
-                + " mPid=" + mPid + " mSelfReportedDisplayId=" + mSelfReportedDisplayId + "}";
-    }
-
-    ClientState(IInputMethodClientInvoker client,
-            IRemoteInputConnection fallbackInputConnection,
-            int uid, int pid, int selfReportedDisplayId,
-            IBinder.DeathRecipient clientDeathRecipient) {
+    ClientState(@NonNull IInputMethodClientInvoker client,
+            @NonNull IRemoteInputConnection fallbackInputConnection, int uid, int pid,
+            int selfReportedDisplayId, @NonNull IBinder.DeathRecipient clientDeathRecipient) {
         mClient = client;
         mFallbackInputConnection = fallbackInputConnection;
         mUid = uid;
         mPid = pid;
         mSelfReportedDisplayId = selfReportedDisplayId;
-        mBinding = new InputBinding(null /*conn*/, mFallbackInputConnection.asBinder(), mUid,
+        mBinding = new InputBinding(null /* conn */, fallbackInputConnection.asBinder(), mUid,
                 mPid);
         mClientDeathRecipient = clientDeathRecipient;
     }
+
+    @Override
+    public String toString() {
+        return "ClientState{" + Integer.toHexString(System.identityHashCode(this))
+                + " mUid=" + mUid + " mPid=" + mPid
+                + " mSelfReportedDisplayId=" + mSelfReportedDisplayId + "}";
+    }
 }
diff --git a/services/core/java/com/android/server/inputmethod/IInputMethodClientInvoker.java b/services/core/java/com/android/server/inputmethod/IInputMethodClientInvoker.java
index 650ea60..9d88983 100644
--- a/services/core/java/com/android/server/inputmethod/IInputMethodClientInvoker.java
+++ b/services/core/java/com/android/server/inputmethod/IInputMethodClientInvoker.java
@@ -58,23 +58,17 @@
     private final Handler mHandler;
 
     @AnyThread
-    @Nullable
-    static IInputMethodClientInvoker create(@Nullable IInputMethodClient inputMethodClient,
+    @NonNull
+    static IInputMethodClientInvoker create(@NonNull IInputMethodClient inputMethodClient,
             @NonNull Handler handler) {
-        if (inputMethodClient == null) {
-            return null;
-        }
         final boolean isProxy = Binder.isProxy(inputMethodClient);
         return new IInputMethodClientInvoker(inputMethodClient, isProxy, isProxy ? null : handler);
     }
 
     @AnyThread
-    @Nullable
-    static IInputMethodClientInvoker create$ravenwood(
-            @Nullable IInputMethodClient inputMethodClient, @NonNull Handler handler) {
-        if (inputMethodClient == null) {
-            return null;
-        }
+    @NonNull
+    static IInputMethodClientInvoker create$ravenwood(@NonNull IInputMethodClient inputMethodClient,
+            @NonNull Handler handler) {
         return new IInputMethodClientInvoker(inputMethodClient, true, null);
     }
 
diff --git a/services/core/java/com/android/server/inputmethod/IInputMethodManagerImpl.java b/services/core/java/com/android/server/inputmethod/IInputMethodManagerImpl.java
index a8b61af..02987a9 100644
--- a/services/core/java/com/android/server/inputmethod/IInputMethodManagerImpl.java
+++ b/services/core/java/com/android/server/inputmethod/IInputMethodManagerImpl.java
@@ -89,8 +89,8 @@
 
     @BinderThread
     interface Callback {
-        void addClient(IInputMethodClient client, IRemoteInputConnection inputConnection,
-                int selfReportedDisplayId);
+        void addClient(@NonNull IInputMethodClient client,
+                @NonNull IRemoteInputConnection inputConnection, int selfReportedDisplayId);
 
         InputMethodInfo getCurrentInputMethodInfoAsUser(@UserIdInt int userId);
 
@@ -242,9 +242,9 @@
     }
 
     @Override
-    public void addClient(IInputMethodClient client, IRemoteInputConnection inputmethod,
-            int untrustedDisplayId) {
-        mCallback.addClient(client, inputmethod, untrustedDisplayId);
+    public void addClient(@NonNull IInputMethodClient client,
+            @NonNull IRemoteInputConnection fallbackInputConnection, int untrustedDisplayId) {
+        mCallback.addClient(client, fallbackInputConnection, untrustedDisplayId);
     }
 
     @Override
@@ -414,7 +414,7 @@
     }
 
     @Override
-    public void reportPerceptibleAsync(IBinder windowToken, boolean perceptible) {
+    public void reportPerceptibleAsync(@NonNull IBinder windowToken, boolean perceptible) {
         mCallback.reportPerceptibleAsync(windowToken, perceptible);
     }
 
diff --git a/services/core/java/com/android/server/inputmethod/ImeBindingState.java b/services/core/java/com/android/server/inputmethod/ImeBindingState.java
index 5deed39..adfd991 100644
--- a/services/core/java/com/android/server/inputmethod/ImeBindingState.java
+++ b/services/core/java/com/android/server/inputmethod/ImeBindingState.java
@@ -43,9 +43,9 @@
     final int mUserId;
 
     /**
-     * The last window token that we confirmed to be focused.  This is always updated upon
-     * reports from the input method client. If the window state is already changed before the
-     * report is handled, this field just keeps the last value.
+     * The last window token that we confirmed to be focused. This is always updated upon reports
+     * from the input method client. If the window state is already changed before the report is
+     * handled, this field just keeps the last value.
      */
     @Nullable
     final IBinder mFocusedWindow;
@@ -59,11 +59,9 @@
     final int mFocusedWindowSoftInputMode;
 
     /**
-     * The client by which {@link #mFocusedWindow} was reported. This gets updated whenever
-     * an
-     * IME-focusable window gained focus (without necessarily starting an input connection),
-     * while {@link InputMethodManagerService#mClient} only gets updated when we actually start an
-     * input connection.
+     * The client by which {@link #mFocusedWindow} was reported. This gets updated whenever an
+     * IME-focusable window gained focus (without necessarily starting an input connection), while
+     * {@link UserData#mCurClient} only gets updated when we actually start an input connection.
      *
      * @see #mFocusedWindow
      */
@@ -72,15 +70,16 @@
 
     /**
      * The editor info by which {@link #mFocusedWindow} was reported. This differs from
-     * {@link InputMethodManagerService#mCurEditorInfo} the same way {@link #mFocusedWindowClient}
-     * differs from {@link InputMethodManagerService#mCurClient}.
+     * {@link UserData#mCurEditorInfo} the same way {@link #mFocusedWindowClient} differs from
+     * {@link UserData#mCurClient}.
      *
      * @see #mFocusedWindow
      */
     @Nullable
     final EditorInfo mFocusedWindowEditorInfo;
 
-    void dumpDebug(ProtoOutputStream proto, WindowManagerInternal windowManagerInternal) {
+    void dumpDebug(@NonNull ProtoOutputStream proto,
+            @NonNull WindowManagerInternal windowManagerInternal) {
         proto.write(CUR_FOCUSED_WINDOW_NAME,
                 windowManagerInternal.getWindowName(mFocusedWindow));
         proto.write(CUR_FOCUSED_WINDOW_SOFT_INPUT_MODE,
@@ -94,18 +93,14 @@
         p.println(prefix + "mFocusedWindowClient=" + mFocusedWindowClient);
     }
 
+    @NonNull
     static ImeBindingState newEmptyState() {
-        return new ImeBindingState(
-                /*userId=*/ UserHandle.USER_NULL,
-                /*focusedWindow=*/ null,
-                /*focusedWindowSoftInputMode=*/ SOFT_INPUT_STATE_UNSPECIFIED,
-                /*focusedWindowClient=*/ null,
-                /*focusedWindowEditorInfo=*/ null
-        );
+        return new ImeBindingState(UserHandle.USER_NULL /* userId */, null /* focusedWindow */,
+                SOFT_INPUT_STATE_UNSPECIFIED /* focusedWindowSoftInputMode */,
+                null /* focusedWindowClient */, null /* focusedWindowEditorInfo */);
     }
 
-    ImeBindingState(@UserIdInt int userId,
-            @Nullable IBinder focusedWindow,
+    ImeBindingState(@UserIdInt int userId, @Nullable IBinder focusedWindow,
             @SoftInputModeFlags int focusedWindowSoftInputMode,
             @Nullable ClientState focusedWindowClient,
             @Nullable EditorInfo focusedWindowEditorInfo) {
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
index dfdd9e5..af726bd 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
@@ -482,10 +482,15 @@
     };
 
     static class SessionState {
+
+        @NonNull
         final ClientState mClient;
+        @NonNull
         final IInputMethodInvoker mMethod;
 
+        @Nullable
         IInputMethodSession mSession;
+        @Nullable
         InputChannel mChannel;
 
         @UserIdInt
@@ -496,14 +501,13 @@
             return "SessionState{uid=" + mClient.mUid + " pid=" + mClient.mPid
                     + " method=" + Integer.toHexString(
                     IInputMethodInvoker.getBinderIdentityHashCode(mMethod))
-                    + " session=" + Integer.toHexString(
-                    System.identityHashCode(mSession))
+                    + " session=" + Integer.toHexString(System.identityHashCode(mSession))
                     + " channel=" + mChannel
                     + " userId=" + mUserId
                     + "}";
         }
 
-        SessionState(ClientState client, IInputMethodInvoker method,
+        SessionState(@NonNull ClientState client, @NonNull IInputMethodInvoker method,
                 IInputMethodSession session, InputChannel channel, @UserIdInt int userId) {
             mClient = client;
             mMethod = method;
@@ -517,22 +521,24 @@
      * Record session state for an accessibility service.
      */
     static class AccessibilitySessionState {
+
+        @NonNull
         final ClientState mClient;
         // Id of the accessibility service.
         final int mId;
 
-        public IAccessibilityInputMethodSession mSession;
+        @Nullable
+        IAccessibilityInputMethodSession mSession;
 
         @Override
         public String toString() {
             return "AccessibilitySessionState{uid=" + mClient.mUid + " pid=" + mClient.mPid
                     + " id=" + Integer.toHexString(mId)
-                    + " session=" + Integer.toHexString(
-                    System.identityHashCode(mSession))
+                    + " session=" + Integer.toHexString(System.identityHashCode(mSession))
                     + "}";
         }
 
-        AccessibilitySessionState(ClientState client, int id,
+        AccessibilitySessionState(@NonNull ClientState client, int id,
                 IAccessibilityInputMethodSession session) {
             mClient = client;
             mId = id;
@@ -544,6 +550,7 @@
      * Manages the IME clients.
      */
     @SharedByAllUsersField
+    @NonNull
     private final ClientController mClientController;
 
     /**
@@ -1770,19 +1777,21 @@
      * <p>As a general principle, IPCs from the application process that take
      * {@link IInputMethodClient} will be rejected without this step.</p>
      *
-     * @param client                {@link android.os.Binder} proxy that is associated with the
-     *                              singleton instance of
-     *                              {@link android.view.inputmethod.InputMethodManager} that runs
-     *                              on the client process
-     * @param inputConnection       communication channel for the fallback {@link InputConnection}
-     * @param selfReportedDisplayId self-reported display ID to which the client is associated.
-     *                              Whether the client is still allowed to access to this display
-     *                              or not needs to be evaluated every time the client interacts
-     *                              with the display
+     * @param client                  {@link android.os.Binder} proxy that is associated with the
+     *                                singleton instance of
+     *                                {@link android.view.inputmethod.InputMethodManager} that runs
+     *                                on the client process
+     * @param fallbackInputConnection communication channel for the fallback {@link InputConnection}
+     * @param selfReportedDisplayId   self-reported display ID to which the client is associated.
+     *                                Whether the client is still allowed to access to this display
+     *                                or not needs to be evaluated every time the client interacts
+     *                                with the display
      */
     @Override
-    public void addClient(IInputMethodClient client, IRemoteInputConnection inputConnection,
-            int selfReportedDisplayId) {
+    public void addClient(@NonNull IInputMethodClient client,
+            @NonNull IRemoteInputConnection fallbackInputConnection, int selfReportedDisplayId) {
+        Objects.requireNonNull(client, "client must not be null");
+        Objects.requireNonNull(fallbackInputConnection, "fallbackInputConnection must not be null");
         // Here there are two scenarios where this method is called:
         // A. IMM is being instantiated in a different process and this is an IPC from that process
         // B. IMM is being instantiated in the same process but Binder.clearCallingIdentity() is
@@ -1791,16 +1800,15 @@
         // actually running.
         final int callerUid = Binder.getCallingUid();
         final int callerPid = Binder.getCallingPid();
-        final IInputMethodClientInvoker clientInvoker =
-                IInputMethodClientInvoker.create(client, mHandler);
+        final var clientInvoker = IInputMethodClientInvoker.create(client, mHandler);
         synchronized (ImfLock.class) {
-            mClientController.addClient(clientInvoker, inputConnection, selfReportedDisplayId,
-                    callerUid, callerPid);
+            mClientController.addClient(clientInvoker, fallbackInputConnection,
+                    selfReportedDisplayId, callerUid, callerPid);
         }
     }
 
     @GuardedBy("ImfLock.class")
-    private void onClientRemoved(ClientState client) {
+    private void onClientRemoved(@NonNull ClientState client) {
         clearClientSessionLocked(client);
         clearClientSessionForAccessibilityLocked(client);
         // TODO(b/324907325): Remove the suppress warnings once b/324907325 is fixed.
@@ -1814,7 +1822,8 @@
      */
     // TODO(b/325515685): Move this method to InputMethodBindingController
     @GuardedBy("ImfLock.class")
-    private void onClientRemovedInternalLocked(ClientState client, @NonNull UserData userData) {
+    private void onClientRemovedInternalLocked(@NonNull ClientState client,
+            @NonNull UserData userData) {
         final int userId = userData.mUserId;
         if (userData.mCurClient == client) {
             hideCurrentInputLocked(userData.mImeBindingState.mFocusedWindow, 0 /* flags */,
@@ -1962,7 +1971,7 @@
         session.mMethod.startInput(startInputToken, userData.mCurInputConnection,
                 userData.mCurEditorInfo, restarting, navButtonFlags, userData.mCurImeDispatcher);
         if (Flags.refactorInsetsController()) {
-            if (isShowRequestedForCurrentWindow(userId) && userData.mImeBindingState != null
+            if (isShowRequestedForCurrentWindow(userId)
                     && userData.mImeBindingState.mFocusedWindow != null) {
                 // Re-use current statsToken, if it exists.
                 final var statsToken = userData.mCurStatsToken != null ? userData.mCurStatsToken
@@ -2028,15 +2037,14 @@
         }
     }
 
+    @NonNull
     private SparseArray<IAccessibilityInputMethodSession> createAccessibilityInputMethodSessions(
-            SparseArray<AccessibilitySessionState> accessibilitySessions) {
-        final SparseArray<IAccessibilityInputMethodSession> accessibilityInputMethodSessions =
-                new SparseArray<>();
-        if (accessibilitySessions != null) {
-            for (int i = 0; i < accessibilitySessions.size(); i++) {
-                accessibilityInputMethodSessions.append(accessibilitySessions.keyAt(i),
-                        accessibilitySessions.valueAt(i).mSession);
-            }
+            @NonNull SparseArray<AccessibilitySessionState> accessibilitySessions) {
+        final var accessibilityInputMethodSessions =
+                new SparseArray<IAccessibilityInputMethodSession>();
+        for (int i = 0; i < accessibilitySessions.size(); i++) {
+            accessibilityInputMethodSessions.append(accessibilitySessions.keyAt(i),
+                    accessibilitySessions.valueAt(i).mSession);
         }
         return accessibilityInputMethodSessions;
     }
@@ -2547,14 +2555,14 @@
     }
 
     @GuardedBy("ImfLock.class")
-    void clearClientSessionLocked(ClientState cs) {
+    void clearClientSessionLocked(@NonNull ClientState cs) {
         finishSessionLocked(cs.mCurSession);
         cs.mCurSession = null;
         cs.mSessionRequested = false;
     }
 
     @GuardedBy("ImfLock.class")
-    void clearClientSessionForAccessibilityLocked(ClientState cs) {
+    void clearClientSessionForAccessibilityLocked(@NonNull ClientState cs) {
         for (int i = 0; i < cs.mAccessibilitySessions.size(); i++) {
             finishSessionForAccessibilityLocked(cs.mAccessibilitySessions.valueAt(i));
         }
@@ -2563,7 +2571,7 @@
     }
 
     @GuardedBy("ImfLock.class")
-    void clearClientSessionForAccessibilityLocked(ClientState cs, int id) {
+    void clearClientSessionForAccessibilityLocked(@NonNull ClientState cs, int id) {
         AccessibilitySessionState session = cs.mAccessibilitySessions.get(id);
         if (session != null) {
             finishSessionForAccessibilityLocked(session);
@@ -2572,7 +2580,7 @@
     }
 
     @GuardedBy("ImfLock.class")
-    private void finishSessionLocked(SessionState sessionState) {
+    private void finishSessionLocked(@Nullable SessionState sessionState) {
         if (sessionState != null) {
             if (sessionState.mSession != null) {
                 try {
@@ -2885,8 +2893,7 @@
         ProtoLog.v(IMMS_DEBUG, "IME window vis: %s active: %s visible: %s displayId: %s", vis,
                 (vis & InputMethodService.IME_ACTIVE), (vis & InputMethodService.IME_VISIBLE),
                 curTokenDisplayId);
-        final IBinder focusedWindowToken = userData.mImeBindingState != null
-                ? userData.mImeBindingState.mFocusedWindow : null;
+        final IBinder focusedWindowToken = userData.mImeBindingState.mFocusedWindow;
         final Boolean windowPerceptible = focusedWindowToken != null
                 ? mFocusedWindowPerceptible.get(focusedWindowToken) : null;
 
@@ -3474,7 +3481,7 @@
 
     @BinderThread
     @Override
-    public void reportPerceptibleAsync(IBinder windowToken, boolean perceptible) {
+    public void reportPerceptibleAsync(@NonNull IBinder windowToken, boolean perceptible) {
         Binder.withCleanCallingIdentity(() -> {
             Objects.requireNonNull(windowToken, "windowToken must not be null");
             synchronized (ImfLock.class) {
@@ -4868,7 +4875,7 @@
 
     @GuardedBy("ImfLock.class")
     void setEnabledSessionForAccessibilityLocked(
-            SparseArray<AccessibilitySessionState> accessibilitySessions,
+            @NonNull SparseArray<AccessibilitySessionState> accessibilitySessions,
             @NonNull UserData userData) {
         // mEnabledAccessibilitySessions could the same object as accessibilitySessions.
         SparseArray<IAccessibilityInputMethodSession> disabledSessions = new SparseArray<>();
@@ -4964,8 +4971,8 @@
                 }
             }
 
-            mMenuControllerNew.show(imList, lastInputMethodId, selectedSubtypeIndex, displayId,
-                    userId);
+            mMenuControllerNew.show(imList, lastInputMethodId, selectedSubtypeIndex, isScreenLocked,
+                    displayId, userId);
         } else {
             mMenuController.showInputMethodMenuLocked(showAuxSubtypes, displayId,
                     lastInputMethodId, lastInputMethodSubtypeIndex, imList, userId);
@@ -5156,7 +5163,7 @@
                     interactive ? bindingController.getImeWindowVis() : 0,
                     bindingController.getBackDisposition(), userId);
             // Inform the current client of the change in active status
-            if (userData.mCurClient == null || userData.mCurClient.mClient == null) {
+            if (userData.mCurClient == null) {
                 return;
             }
             if (mImePlatformCompatUtils.shouldUseSetInteractiveProtocol(
@@ -5920,9 +5927,8 @@
                 // from all clients.
                 if (bindingController.getCurMethod() != null) {
                     // TODO(b/324907325): Remove the suppress warnings once b/324907325 is fixed.
-                    @SuppressWarnings("GuardedBy") Consumer<ClientState> clearClientSession =
-                            c -> clearClientSessionForAccessibilityLocked(c,
-                                    accessibilityConnectionId);
+                    @SuppressWarnings("GuardedBy") Consumer<ClientState> clearClientSession = c ->
+                            clearClientSessionForAccessibilityLocked(c, accessibilityConnectionId);
                     mClientController.forAllClients(clearClientSession);
 
                     AccessibilitySessionState session = userData.mEnabledAccessibilitySessions.get(
@@ -5998,7 +6004,7 @@
     @BinderThread
     @GuardedBy("ImfLock.class")
     private void reportFullscreenModeLocked(boolean fullscreen, @NonNull UserData userData) {
-        if (userData.mCurClient != null && userData.mCurClient.mClient != null) {
+        if (userData.mCurClient != null) {
             userData.mInFullscreenMode = fullscreen;
             userData.mCurClient.mClient.reportFullscreenMode(fullscreen);
         }
@@ -6732,9 +6738,7 @@
     boolean setImeVisibilityOnFocusedWindowClient(boolean visible, UserData userData,
             @NonNull ImeTracker.Token statsToken) {
         if (Flags.refactorInsetsController()) {
-            if (userData.mImeBindingState != null
-                    && userData.mImeBindingState.mFocusedWindowClient != null
-                    && userData.mImeBindingState.mFocusedWindowClient.mClient != null) {
+            if (userData.mImeBindingState.mFocusedWindowClient != null) {
                 userData.mImeBindingState.mFocusedWindowClient.mClient.setImeVisibility(visible,
                         statsToken);
                 return true;
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodMenuControllerNew.java b/services/core/java/com/android/server/inputmethod/InputMethodMenuControllerNew.java
index 9f94905..ea8aabc 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodMenuControllerNew.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodMenuControllerNew.java
@@ -87,12 +87,14 @@
      * @param selectedSubtypeIndex the index of the selected subtype in the input method's array of
      *                             subtypes, or {@link InputMethodUtils#NOT_A_SUBTYPE_INDEX} if no
      *                             subtype is selected.
+     * @param isScreenLocked       whether the screen is current locked.
      * @param displayId            the ID of the display where the menu was requested.
      * @param userId               the ID of the user that requested the menu.
      */
     @RequiresPermission(allOf = {INTERACT_ACROSS_USERS, HIDE_OVERLAY_WINDOWS})
     void show(@NonNull List<ImeSubtypeListItem> items, @Nullable String selectedImeId,
-            int selectedSubtypeIndex, int displayId, @UserIdInt int userId) {
+            int selectedSubtypeIndex, boolean isScreenLocked, int displayId,
+            @UserIdInt int userId) {
         // Hide the menu in case it was already showing.
         hide(displayId, userId);
 
@@ -133,7 +135,7 @@
         recyclerView.requestFocus();
 
         final var selectedItem = selectedIndex > -1 ? menuItems.get(selectedIndex) : null;
-        updateLanguageSettingsButton(selectedItem, contentView, displayId, userId);
+        updateLanguageSettingsButton(selectedItem, contentView, isScreenLocked, displayId, userId);
 
         builder.setOnCancelListener(dialog -> hide(displayId, userId));
         mMenuItems = menuItems;
@@ -280,23 +282,24 @@
 
     /**
      * Updates the visibility of the Language Settings button to visible if the currently selected
-     * item specifies a (language) settings activity and the device is provisioned. Otherwise,
-     * the button won't be shown.
+     * item specifies a (language) settings activity, the screen is not locked and the device is
+     * provisioned. Otherwise, the button won't be shown.
      *
-     * @param selectedItem the currently selected item, or {@code null} if no item is selected.
-     * @param view         the menu dialog view.
-     * @param displayId    the ID of the display where the menu was requested.
-     * @param userId       the ID of the user that requested the menu.
+     * @param selectedItem   the currently selected item, or {@code null} if no item is selected.
+     * @param view           the menu dialog view.
+     * @param isScreenLocked whether the screen is currently locked.
+     * @param displayId      the ID of the display where the menu was requested.
+     * @param userId         the ID of the user that requested the menu.
      */
     @RequiresPermission(allOf = {INTERACT_ACROSS_USERS})
     private void updateLanguageSettingsButton(@Nullable MenuItem selectedItem, @NonNull View view,
-            int displayId, @UserIdInt int userId) {
+            boolean isScreenLocked, int displayId, @UserIdInt int userId) {
         final var settingsIntent = (selectedItem instanceof SubtypeItem selectedSubtypeItem)
                 ? selectedSubtypeItem.mImi.createImeLanguageSettingsActivityIntent() : null;
         final boolean isDeviceProvisioned = Settings.Global.getInt(
                 view.getContext().getContentResolver(), Settings.Global.DEVICE_PROVISIONED,
                 0) != 0;
-        final boolean hasButton = settingsIntent != null && isDeviceProvisioned;
+        final boolean hasButton = settingsIntent != null && !isScreenLocked && isDeviceProvisioned;
         final View buttonBar = view.requireViewById(com.android.internal.R.id.button_bar);
         final Button button = view.requireViewById(com.android.internal.R.id.button1);
         final RecyclerView recyclerView = view.requireViewById(com.android.internal.R.id.list);
diff --git a/services/core/java/com/android/server/inputmethod/UserData.java b/services/core/java/com/android/server/inputmethod/UserData.java
index 96da17e..7377908a 100644
--- a/services/core/java/com/android/server/inputmethod/UserData.java
+++ b/services/core/java/com/android/server/inputmethod/UserData.java
@@ -140,9 +140,9 @@
     InputMethodManagerService.SessionState mEnabledSession;
 
     @GuardedBy("ImfLock.class")
-    @Nullable
-    SparseArray<InputMethodManagerService.AccessibilitySessionState>
-            mEnabledAccessibilitySessions = new SparseArray<>();
+    @NonNull
+    SparseArray<InputMethodManagerService.AccessibilitySessionState> mEnabledAccessibilitySessions =
+            new SparseArray<>();
 
     /**
      * A per-user cache of {@link InputMethodSettings#getEnabledInputMethodsStr()}.
diff --git a/services/core/java/com/android/server/inputmethod/ZeroJankProxy.java b/services/core/java/com/android/server/inputmethod/ZeroJankProxy.java
index b863c96..7252925 100644
--- a/services/core/java/com/android/server/inputmethod/ZeroJankProxy.java
+++ b/services/core/java/com/android/server/inputmethod/ZeroJankProxy.java
@@ -128,9 +128,9 @@
     }
 
     @Override
-    public void addClient(IInputMethodClient client, IRemoteInputConnection inputConnection,
-            int selfReportedDisplayId) {
-        offload(() -> mInner.addClient(client, inputConnection, selfReportedDisplayId));
+    public void addClient(@NonNull IInputMethodClient client,
+            @NonNull IRemoteInputConnection fallbackInputConnection, int selfReportedDisplayId) {
+        offload(() -> mInner.addClient(client, fallbackInputConnection, selfReportedDisplayId));
     }
 
     @Override
@@ -331,7 +331,7 @@
     }
 
     @Override
-    public void reportPerceptibleAsync(IBinder windowToken, boolean perceptible) {
+    public void reportPerceptibleAsync(@NonNull IBinder windowToken, boolean perceptible) {
         // Already async TODO(b/293640003): ordering issues?
         mInner.reportPerceptibleAsync(windowToken, perceptible);
     }
@@ -468,7 +468,7 @@
             IInputMethodClient client, InputBindResult res, int startInputSeq) {
         synchronized (ImfLock.class) {
             final ClientState cs = mInner.getClientStateLocked(client);
-            if (cs != null && cs.mClient != null) {
+            if (cs != null) {
                 cs.mClient.onStartInputResult(res, startInputSeq);
             } else {
                 // client is unbound.
diff --git a/services/core/java/com/android/server/location/contexthub/ContextHubEndpointBroker.java b/services/core/java/com/android/server/location/contexthub/ContextHubEndpointBroker.java
index 1a29150..940bcb4 100644
--- a/services/core/java/com/android/server/location/contexthub/ContextHubEndpointBroker.java
+++ b/services/core/java/com/android/server/location/contexthub/ContextHubEndpointBroker.java
@@ -16,6 +16,7 @@
 
 package com.android.server.location.contexthub;
 
+import android.annotation.NonNull;
 import android.app.AppOpsManager;
 import android.content.Context;
 import android.hardware.contexthub.EndpointInfo;
@@ -64,7 +65,7 @@
      * Internal interface used to invoke client callbacks.
      */
     interface CallbackConsumer {
-        void accept(IContextHubEndpointCallback callback) throws RemoteException;
+        void accept(@NonNull IContextHubEndpointCallback callback) throws RemoteException;
     }
 
     /** The context of the service. */
@@ -86,7 +87,7 @@
     private final EndpointInfo mHalEndpointInfo;
 
     /** The remote callback interface for this endpoint. */
-    private final IContextHubEndpointCallback mContextHubEndpointCallback;
+    @NonNull private final IContextHubEndpointCallback mContextHubEndpointCallback;
 
     /** True if this endpoint is registered with the service/HAL. */
     @GuardedBy("mRegistrationLock")
@@ -158,7 +159,7 @@
             IEndpointCommunication hubInterface,
             ContextHubEndpointManager endpointManager,
             EndpointInfo halEndpointInfo,
-            IContextHubEndpointCallback callback,
+            @NonNull IContextHubEndpointCallback callback,
             String packageName,
             String attributionTag,
             ContextHubTransactionManager transactionManager) {
@@ -419,9 +420,7 @@
     }
 
     /* package */ void attachDeathRecipient() throws RemoteException {
-        if (mContextHubEndpointCallback != null) {
-            mContextHubEndpointCallback.asBinder().linkToDeath(this, 0 /* flags */);
-        }
+        mContextHubEndpointCallback.asBinder().linkToDeath(this, 0 /* flags */);
     }
 
     /* package */ void onEndpointSessionOpenRequest(
@@ -664,15 +663,13 @@
      * @return false if the callback threw a RemoteException
      */
     private boolean invokeCallback(CallbackConsumer consumer) {
-        if (mContextHubEndpointCallback != null) {
-            acquireWakeLock();
-            try {
-                consumer.accept(mContextHubEndpointCallback);
-            } catch (RemoteException e) {
-                Log.e(TAG, "RemoteException while calling endpoint callback", e);
-                releaseWakeLock();
-                return false;
-            }
+        acquireWakeLock();
+        try {
+            consumer.accept(mContextHubEndpointCallback);
+        } catch (RemoteException e) {
+            Log.e(TAG, "RemoteException while calling endpoint callback", e);
+            releaseWakeLock();
+            return false;
         }
         return true;
     }
diff --git a/services/core/java/com/android/server/location/contexthub/ContextHubEndpointManager.java b/services/core/java/com/android/server/location/contexthub/ContextHubEndpointManager.java
index 30bb8f3..8ab581e 100644
--- a/services/core/java/com/android/server/location/contexthub/ContextHubEndpointManager.java
+++ b/services/core/java/com/android/server/location/contexthub/ContextHubEndpointManager.java
@@ -17,6 +17,7 @@
 package com.android.server.location.contexthub;
 
 import android.annotation.IntDef;
+import android.annotation.NonNull;
 import android.content.Context;
 import android.hardware.contexthub.ContextHubInfo;
 import android.hardware.contexthub.EndpointInfo;
@@ -240,7 +241,7 @@
      */
     /* package */ IContextHubEndpoint registerEndpoint(
             HubEndpointInfo pendingEndpointInfo,
-            IContextHubEndpointCallback callback,
+            @NonNull IContextHubEndpointCallback callback,
             String packageName,
             String attributionTag)
             throws RemoteException {
diff --git a/services/core/java/com/android/server/location/contexthub/ContextHubService.java b/services/core/java/com/android/server/location/contexthub/ContextHubService.java
index bf7351c..2c0c55b 100644
--- a/services/core/java/com/android/server/location/contexthub/ContextHubService.java
+++ b/services/core/java/com/android/server/location/contexthub/ContextHubService.java
@@ -792,6 +792,10 @@
             Log.e(TAG, "Endpoint manager failed to initialize");
             throw new UnsupportedOperationException("Endpoint registration is not supported");
         }
+        if (callback == null) {
+            Log.e(TAG, "Endpoint callback is invalid");
+            throw new IllegalArgumentException("registerEndpoint must have a non-null callback");
+        }
         return mEndpointManager.registerEndpoint(
                 pendingHubEndpointInfo, callback, packageName, attributionTag);
     }
diff --git a/services/core/java/com/android/server/location/injector/SystemEmergencyHelper.java b/services/core/java/com/android/server/location/injector/SystemEmergencyHelper.java
index 177eefb..3f75b11 100644
--- a/services/core/java/com/android/server/location/injector/SystemEmergencyHelper.java
+++ b/services/core/java/com/android/server/location/injector/SystemEmergencyHelper.java
@@ -29,7 +29,6 @@
 import android.util.Log;
 
 import com.android.internal.telephony.TelephonyIntents;
-import com.android.internal.telephony.flags.Flags;
 import com.android.server.FgThread;
 
 import java.util.Objects;
@@ -107,26 +106,19 @@
         boolean isInExtensionTime = mEmergencyCallEndRealtimeMs != Long.MIN_VALUE
                 && (SystemClock.elapsedRealtime() - mEmergencyCallEndRealtimeMs) < extensionTimeMs;
 
-        if (!Flags.enforceTelephonyFeatureMapping()) {
-            return mIsInEmergencyCall
-                    || isInExtensionTime
-                    || mTelephonyManager.getEmergencyCallbackMode()
-                    || mTelephonyManager.isInEmergencySmsMode();
-        } else {
-            boolean emergencyCallbackMode = false;
-            boolean emergencySmsMode = false;
-            PackageManager pm = mContext.getPackageManager();
-            if (pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_CALLING)) {
-                emergencyCallbackMode = mTelephonyManager.getEmergencyCallbackMode();
-            }
-            if (pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_MESSAGING)) {
-                emergencySmsMode = mTelephonyManager.isInEmergencySmsMode();
-            }
-            return mIsInEmergencyCall
-                    || isInExtensionTime
-                    || emergencyCallbackMode
-                    || emergencySmsMode;
+        boolean emergencyCallbackMode = false;
+        boolean emergencySmsMode = false;
+        PackageManager pm = mContext.getPackageManager();
+        if (pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_CALLING)) {
+            emergencyCallbackMode = mTelephonyManager.getEmergencyCallbackMode();
         }
+        if (pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_MESSAGING)) {
+            emergencySmsMode = mTelephonyManager.isInEmergencySmsMode();
+        }
+        return mIsInEmergencyCall
+                || isInExtensionTime
+                || emergencyCallbackMode
+                || emergencySmsMode;
     }
 
     private class EmergencyCallTelephonyCallback extends TelephonyCallback implements
diff --git a/services/core/java/com/android/server/om/OverlayManagerSettings.java b/services/core/java/com/android/server/om/OverlayManagerSettings.java
index cb01727..1ac9711 100644
--- a/services/core/java/com/android/server/om/OverlayManagerSettings.java
+++ b/services/core/java/com/android/server/om/OverlayManagerSettings.java
@@ -544,6 +544,7 @@
                     // and overwritten.
                     throw new XmlPullParserException("old version " + oldVersion + "; ignoring");
                 case 3:
+                case 4:
                     // Upgrading from version 3 to 5 is not a breaking change so do not ignore the
                     // overlay file.
                     return;
diff --git a/services/core/java/com/android/server/pm/AppDataHelper.java b/services/core/java/com/android/server/pm/AppDataHelper.java
index 29f8243..ae41519 100644
--- a/services/core/java/com/android/server/pm/AppDataHelper.java
+++ b/services/core/java/com/android/server/pm/AppDataHelper.java
@@ -24,6 +24,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.SpecialUsers.CanBeALL;
 import android.annotation.UserIdInt;
 import android.content.pm.PackageManager;
 import android.os.CreateAppDataArgs;
@@ -548,7 +549,7 @@
         return prepareAppDataFuture;
     }
 
-    void clearAppDataLIF(AndroidPackage pkg, int userId, int flags) {
+    void clearAppDataLIF(AndroidPackage pkg, @CanBeALL @UserIdInt int userId, int flags) {
         if (pkg == null) {
             return;
         }
@@ -559,7 +560,8 @@
         }
     }
 
-    void clearAppDataLeafLIF(String packageName, String volumeUuid, int userId, int flags) {
+    void clearAppDataLeafLIF(String packageName, String volumeUuid, @CanBeALL @UserIdInt int userId,
+            int flags) {
         final Computer snapshot = mPm.snapshotComputer();
         final PackageStateInternal packageStateInternal =
                 snapshot.getPackageStateInternal(packageName);
diff --git a/services/core/java/com/android/server/pm/BackgroundInstallControlService.java b/services/core/java/com/android/server/pm/BackgroundInstallControlService.java
index c3af578..463989a 100644
--- a/services/core/java/com/android/server/pm/BackgroundInstallControlService.java
+++ b/services/core/java/com/android/server/pm/BackgroundInstallControlService.java
@@ -332,7 +332,8 @@
                 userId)
                 != PERMISSION_GRANTED) {
             if(Build.IS_DEBUGGABLE) {
-                Slog.d(TAG, "handlePackageAdd " + packageName + ": installer doesn't "
+                Slog.d(TAG, "handlePackageAdd " + packageName + ": installer ("
+                    + installerPackageName + ") doesn't "
                     + "have INSTALL_PACKAGES permission, skipping");
             }
             return;
diff --git a/services/core/java/com/android/server/pm/DeletePackageHelper.java b/services/core/java/com/android/server/pm/DeletePackageHelper.java
index 90adb66..38aa57f 100644
--- a/services/core/java/com/android/server/pm/DeletePackageHelper.java
+++ b/services/core/java/com/android/server/pm/DeletePackageHelper.java
@@ -24,6 +24,7 @@
 import static android.content.pm.PackageManager.DELETE_SUCCEEDED;
 import static android.content.pm.PackageManager.MATCH_KNOWN_PACKAGES;
 import static android.content.pm.PackageManager.PERMISSION_GRANTED;
+import static android.os.UserHandle.USER_ALL;
 
 import static com.android.server.pm.InstructionSets.getAppDexInstructionSets;
 import static com.android.server.pm.PackageManagerService.DEBUG_COMPRESSION;
@@ -35,6 +36,8 @@
 import android.Manifest;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.SpecialUsers.CanBeALL;
+import android.annotation.UserIdInt;
 import android.app.ApplicationExitInfo;
 import android.app.ApplicationPackageManager;
 import android.content.Intent;
@@ -120,7 +123,7 @@
         final boolean res;
 
         final int removeUser = (deleteFlags & PackageManager.DELETE_ALL_USERS) != 0
-                ? UserHandle.USER_ALL : userId;
+                ? USER_ALL : userId;
 
         final PackageSetting uninstalledPs;
         final PackageSetting disabledSystemPs;
@@ -181,7 +184,7 @@
                 if (libraryInfo != null) {
                     boolean flagSdkLibIndependence = Flags.sdkLibIndependence();
                     for (int currUserId : allUsers) {
-                        if (removeUser != UserHandle.USER_ALL && removeUser != currUserId) {
+                        if (removeUser != USER_ALL && removeUser != currUserId) {
                             continue;
                         }
                         var libClientPackagesPair = computer.getPackagesUsingSharedLibrary(
@@ -225,7 +228,7 @@
                     && ((deleteFlags & PackageManager.DELETE_SYSTEM_APP) == 0)) {
                 // We're downgrading a system app, which will apply to all users, so
                 // freeze them all during the downgrade
-                freezeUser = UserHandle.USER_ALL;
+                freezeUser = USER_ALL;
                 priorUserStates = new SparseArray<>();
                 for (int i = 0; i < allUsers.length; i++) {
                     PackageUserState userState = uninstalledPs.readUserState(allUsers[i]);
@@ -419,7 +422,7 @@
         if (PackageManagerServiceUtils.isSystemApp(ps)) {
             final boolean deleteSystem = (flags & PackageManager.DELETE_SYSTEM_APP) != 0;
             final boolean deleteAllUsers =
-                    user == null || user.getIdentifier() == UserHandle.USER_ALL;
+                    user == null || user.getIdentifier() == USER_ALL;
             if ((!deleteSystem || deleteAllUsers) && disabledPs == null) {
                 Slog.w(TAG, "Attempt to delete unknown system package "
                         + ps.getPkg().getPackageName());
@@ -462,9 +465,9 @@
                     Manifest.permission.SUSPEND_APPS, packageName, userId) == PERMISSION_GRANTED);
         }
 
-        final int userId = user == null ? UserHandle.USER_ALL : user.getIdentifier();
+        final int userId = user == null ? USER_ALL : user.getIdentifier();
         // Remember which users are affected, before the installed states are modified
-        outInfo.mRemovedUsers = userId == UserHandle.USER_ALL
+        outInfo.mRemovedUsers = userId == USER_ALL
                 ? ps.queryUsersInstalledOrHasData(allUserHandles)
                 : new int[]{userId};
         outInfo.populateBroadcastUsers(ps);
@@ -477,7 +480,7 @@
         outInfo.mRemovedPackageVersionCode = ps.getVersionCode();
 
         if ((!systemApp || (flags & PackageManager.DELETE_SYSTEM_APP) != 0)
-                && userId != UserHandle.USER_ALL) {
+                && userId != USER_ALL) {
             // The caller is asking that the package only be deleted for a single
             // user.  To do this, we just mark its uninstalled state and delete
             // its data. If this is a system app, we only allow this to happen if
@@ -550,7 +553,7 @@
         for (final int affectedUserId : outInfo.mRemovedUsers) {
             if (hadSuspendAppsPermission.get(affectedUserId)) {
                 mPm.unsuspendForSuspendingPackage(snapshot, packageName,
-                        affectedUserId /*suspendingUserId*/, true /*inAllUsers*/);
+                        affectedUserId /*suspendingUserId*/, USER_ALL);
                 mPm.removeAllDistractingPackageRestrictions(snapshot, affectedUserId);
             }
         }
@@ -562,7 +565,7 @@
     }
 
     @GuardedBy("mPm.mInstallLock")
-    private void deleteInstalledPackageLIF(PackageSetting ps, int userId,
+    private void deleteInstalledPackageLIF(PackageSetting ps, @CanBeALL @UserIdInt int userId,
             boolean deleteCodeAndResources, int flags, @NonNull int[] allUserHandles,
             @NonNull PackageRemovedInfo outInfo, boolean writeSettings) {
         synchronized (mPm.mLock) {
@@ -588,7 +591,7 @@
 
     @GuardedBy("mPm.mLock")
     private void markPackageUninstalledForUserLPw(PackageSetting ps, UserHandle user, int flags) {
-        final int[] userIds = (user == null || user.getIdentifier() == UserHandle.USER_ALL)
+        final int[] userIds = (user == null || user.getIdentifier() == USER_ALL)
                 ? mUserManagerInternal.getUserIds()
                 : new int[] {user.getIdentifier()};
         for (int nextUserId : userIds) {
@@ -685,7 +688,7 @@
             flags |= PackageManager.DELETE_KEEP_DATA;
         }
         try (PackageManagerTracedLock installLock = mPm.mInstallLock.acquireLock()) {
-            deleteInstalledPackageLIF(deletedPs, UserHandle.USER_ALL, true, flags, allUserHandles,
+            deleteInstalledPackageLIF(deletedPs, USER_ALL, true, flags, allUserHandles,
                     outInfo, writeSettings);
         }
     }
diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java
index 2811747..f96846c 100644
--- a/services/core/java/com/android/server/pm/InstallPackageHelper.java
+++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java
@@ -1398,6 +1398,8 @@
             Map<String, Boolean> createdAppId, boolean success) {
         if (success) {
             for (InstallRequest request : requests) {
+                mInjector.getAppOpsManagerInternal().onPackageAdded(
+                        request.getName(), request.getAppId());
                 if (request.getDataLoaderType() != DataLoaderType.INCREMENTAL) {
                     continue;
                 }
diff --git a/services/core/java/com/android/server/pm/PackageFreezer.java b/services/core/java/com/android/server/pm/PackageFreezer.java
index 11f2059..d66eb81 100644
--- a/services/core/java/com/android/server/pm/PackageFreezer.java
+++ b/services/core/java/com/android/server/pm/PackageFreezer.java
@@ -18,6 +18,8 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.SpecialUsers.CanBeALL;
+import android.annotation.UserIdInt;
 import android.content.pm.Flags;
 import android.content.pm.PackageManager;
 
@@ -60,12 +62,12 @@
         }
     }
 
-    PackageFreezer(String packageName, int userId, String killReason,
+    PackageFreezer(String packageName, @CanBeALL @UserIdInt int userId, String killReason,
             PackageManagerService pm, int exitInfoReason, @Nullable InstallRequest request) {
         this(packageName, userId, killReason, pm, exitInfoReason, request, false);
     }
 
-    PackageFreezer(String packageName, int userId, String killReason,
+    PackageFreezer(String packageName, @CanBeALL @UserIdInt int userId, String killReason,
             PackageManagerService pm, int exitInfoReason, @Nullable InstallRequest request,
             boolean waitAppKilled) {
         mPm = pm;
diff --git a/services/core/java/com/android/server/pm/PackageManagerInternalBase.java b/services/core/java/com/android/server/pm/PackageManagerInternalBase.java
index ed568b8..f5230c5 100644
--- a/services/core/java/com/android/server/pm/PackageManagerInternalBase.java
+++ b/services/core/java/com/android/server/pm/PackageManagerInternalBase.java
@@ -689,7 +689,7 @@
         final int suspendingUserId =
                 crossUserSuspensionEnabledRo() ? UserHandle.USER_SYSTEM : affectedUser;
         mService.unsuspendForSuspendingPackage(
-                snapshot(), PLATFORM_PACKAGE_NAME, suspendingUserId, /* inAllUsers= */ false);
+                snapshot(), PLATFORM_PACKAGE_NAME, suspendingUserId, affectedUser);
     }
 
     @Override
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 2464a29..b60812c 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -34,6 +34,7 @@
 import static android.crashrecovery.flags.Flags.refactorCrashrecovery;
 import static android.os.Process.INVALID_UID;
 import static android.os.Trace.TRACE_TAG_PACKAGE_MANAGER;
+import static android.os.UserHandle.USER_ALL;
 import static android.os.storage.StorageManager.FLAG_STORAGE_CE;
 import static android.os.storage.StorageManager.FLAG_STORAGE_DE;
 import static android.os.storage.StorageManager.FLAG_STORAGE_EXTERNAL;
@@ -50,12 +51,14 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.SpecialUsers.CanBeALL;
 import android.annotation.StringRes;
 import android.annotation.UserIdInt;
 import android.annotation.WorkerThread;
 import android.app.ActivityManager;
 import android.app.ActivityManagerInternal;
 import android.app.AppOpsManager;
+import android.app.AppOpsManagerInternal;
 import android.app.ApplicationExitInfo;
 import android.app.ApplicationPackageManager;
 import android.app.BroadcastOptions;
@@ -1586,13 +1589,13 @@
     }
 
     void scheduleWritePackageRestrictions(UserHandle user) {
-        final int userId = user == null ? UserHandle.USER_ALL : user.getIdentifier();
+        final int userId = user == null ? USER_ALL : user.getIdentifier();
         scheduleWritePackageRestrictions(userId);
     }
 
-    void scheduleWritePackageRestrictions(int userId) {
+    void scheduleWritePackageRestrictions(@CanBeALL @UserIdInt int userId) {
         invalidatePackageInfoCache();
-        if (userId == UserHandle.USER_ALL) {
+        if (userId == USER_ALL) {
             synchronized (mDirtyUsers) {
                 for (int aUserId : mUserManager.getUserIds()) {
                     mDirtyUsers.add(aUserId);
@@ -1690,6 +1693,7 @@
                 (i, pm) -> new ComponentResolver(i.getUserManagerService(), pm.mUserNeedsBadging),
                 (i, pm) -> PermissionManagerService.create(context,
                         i.getSystemConfig().getAvailableFeatures()),
+                (i, pm) -> LocalServices.getService(AppOpsManagerInternal.class),
                 (i, pm) -> new UserManagerService(context, pm,
                         new UserDataPreparer(installer, installLock, context), lock),
                 (i, pm) -> new Settings(Environment.getDataDirectory(),
@@ -1805,7 +1809,7 @@
     private void installAllowlistedSystemPackages() {
         if (mUserManager.installWhitelistedSystemPackages(isFirstBoot(), isDeviceUpgrading(),
                 mExistingPackages)) {
-            scheduleWritePackageRestrictions(UserHandle.USER_ALL);
+            scheduleWritePackageRestrictions(USER_ALL);
             scheduleWriteSettings();
         }
     }
@@ -2392,7 +2396,7 @@
                     final PackageSetting ps = packageSettings.valueAt(i);
                     if (Objects.equals(StorageManager.UUID_PRIVATE_INTERNAL, ps.getVolumeUuid())) {
                         // No apps are running this early, so no need to freeze
-                        mAppDataHelper.clearAppDataLIF(ps.getPkg(), UserHandle.USER_ALL,
+                        mAppDataHelper.clearAppDataLIF(ps.getPkg(), USER_ALL,
                                 FLAG_STORAGE_DE | FLAG_STORAGE_CE | FLAG_STORAGE_EXTERNAL
                                         | Installer.FLAG_CLEAR_CODE_CACHE_ONLY
                                         | Installer.FLAG_CLEAR_APP_DATA_KEEP_ART_PROFILES);
@@ -3074,8 +3078,8 @@
     }
 
     @NonNull
-    int[] resolveUserIds(int userId) {
-        return (userId == UserHandle.USER_ALL) ? mUserManager.getUserIds() : new int[] { userId };
+    int[] resolveUserIds(@CanBeALL @UserIdInt int userId) {
+        return (userId == USER_ALL) ? mUserManager.getUserIds() : new int[]{userId};
     }
 
     private void setUpInstantAppInstallerActivityLP(ActivityInfo installerActivity) {
@@ -3108,11 +3112,11 @@
     }
 
     void killApplication(String pkgName, @AppIdInt int appId, String reason, int exitInfoReason) {
-        killApplication(pkgName, appId, UserHandle.USER_ALL, reason, exitInfoReason);
+        killApplication(pkgName, appId, USER_ALL, reason, exitInfoReason);
     }
 
     void killApplication(String pkgName, @AppIdInt int appId,
-            @UserIdInt int userId, String reason, int exitInfoReason) {
+            @CanBeALL @UserIdInt int userId, String reason, int exitInfoReason) {
         // Request the ActivityManager to kill the process(only for existing packages)
         // so that we do not end up in a confused state while the user is still using the older
         // version of the application while the new one gets installed.
@@ -3131,7 +3135,7 @@
     }
 
     void killApplicationSync(String pkgName, @AppIdInt int appId,
-            @UserIdInt int userId, String reason, int exitInfoReason) {
+            @CanBeALL @UserIdInt int userId, String reason, int exitInfoReason) {
         ActivityManagerInternal mAmi = LocalServices.getService(ActivityManagerInternal.class);
         if (Thread.holdsLock(mLock) || mAmi == null) {
             // holds PM's lock, go back killApplication to avoid it run into watchdog reset.
@@ -3228,23 +3232,24 @@
     }
 
     /**
-     * @param inAllUsers Whether to unsuspend packages suspended by the given package in other
-     *                   users. This flag is only used when cross-user suspension is enabled.
+     * @param suspendingUserId The user that has suspended apps using the suspending package.
+     * @param targetUserId The user whose apps should be unsuspended. Pass {@code USER_ALL} to
+     *                     unsuspend for all users.
      */
     void unsuspendForSuspendingPackage(@NonNull Computer computer, String suspendingPackage,
-            @UserIdInt int suspendingUserId, boolean inAllUsers) {
+            @UserIdInt int suspendingUserId, @CanBeALL @UserIdInt int targetUserId) {
         // TODO: This can be replaced by a special parameter to iterate all packages, rather than
         //  this weird pre-collect of all packages.
         final String[] allPackages = computer.getPackageStates().keySet().toArray(new String[0]);
         final Predicate<UserPackage> suspenderPredicate =
                 UserPackage.of(suspendingUserId, suspendingPackage)::equals;
-        if (!crossUserSuspensionEnabledRo() || !inAllUsers) {
+        if (!crossUserSuspensionEnabledRo() || targetUserId != USER_ALL) {
             mSuspendPackageHelper.removeSuspensionsBySuspendingPackage(computer,
-                    allPackages, suspenderPredicate, suspendingUserId);
+                    allPackages, suspenderPredicate, targetUserId);
         } else {
-            for (int targetUserId: mUserManager.getUserIds()) {
+            for (int user : mUserManager.getUserIds()) {
                 mSuspendPackageHelper.removeSuspensionsBySuspendingPackage(
-                        computer, allPackages, suspenderPredicate, targetUserId);
+                        computer, allPackages, suspenderPredicate, user);
             }
         }
     }
@@ -3381,11 +3386,11 @@
                 && !snapshot.isCallerSameApp(packageName, callingUid)) {
             return false;
         }
-        return isPackageDeviceAdmin(packageName, UserHandle.USER_ALL);
+        return isPackageDeviceAdmin(packageName, USER_ALL);
     }
 
     // TODO(b/261957226): centralise this logic in DPM
-    boolean isPackageDeviceAdmin(String packageName, int userId) {
+    boolean isPackageDeviceAdmin(String packageName, @CanBeALL @UserIdInt int userId) {
         final IDevicePolicyManager dpm = getDevicePolicyManager();
         final DevicePolicyManagerInternal dpmi =
                 mInjector.getLocalService(DevicePolicyManagerInternal.class);
@@ -3405,7 +3410,7 @@
                 // Does it contain a device admin for any user?
                 int[] allUsers = mUserManager.getUserIds();
                 int[] targetUsers;
-                if (userId == UserHandle.USER_ALL) {
+                if (userId == USER_ALL) {
                     targetUsers = allUsers;
                 } else {
                     targetUsers = new int[]{userId};
@@ -3555,7 +3560,7 @@
     /** This method takes a specific user id as well as UserHandle.USER_ALL. */
     @GuardedBy("mLock")
     void clearPackagePreferredActivitiesLPw(String packageName,
-            @NonNull SparseBooleanArray outUserChanged, int userId) {
+            @NonNull SparseBooleanArray outUserChanged, @CanBeALL @UserIdInt int userId) {
         mSettings.clearPackagePreferredActivities(packageName, outUserChanged, userId);
     }
 
@@ -4152,7 +4157,7 @@
                 // This app should not generally be allowed to get disabled by the UI, but
                 // if it ever does, we don't want to end up with some of the user's apps
                 // permanently suspended.
-                unsuspendForSuspendingPackage(computer, packageName, userId, true /* inAllUsers */);
+                unsuspendForSuspendingPackage(computer, packageName, userId, USER_ALL);
                 removeAllDistractingPackageRestrictions(computer, userId);
             }
             success = true;
@@ -4243,9 +4248,9 @@
         };
         mContext.getContentResolver().registerContentObserver(android.provider.Settings.Global
                         .getUriFor(Global.ENABLE_EPHEMERAL_FEATURE),
-                false, co, UserHandle.USER_ALL);
+                false, co, USER_ALL);
         mContext.getContentResolver().registerContentObserver(android.provider.Settings.Secure
-                .getUriFor(Secure.INSTANT_APPS_ENABLED), false, co, UserHandle.USER_ALL);
+                .getUriFor(Secure.INSTANT_APPS_ENABLED), false, co, USER_ALL);
         co.onChange(true);
 
         mAppsFilter.onSystemReady(LocalServices.getService(PackageManagerInternal.class));
@@ -4388,14 +4393,14 @@
         }
     }
 
-    public PackageFreezer freezePackage(String packageName, int userId, String killReason,
-            int exitInfoReason, InstallRequest request) {
+    public PackageFreezer freezePackage(String packageName, @CanBeALL @UserIdInt int userId,
+            String killReason, int exitInfoReason, InstallRequest request) {
         return freezePackage(packageName, userId, killReason, exitInfoReason, request,
                 /* waitAppKilled= */ false);
     }
 
-    private PackageFreezer freezePackage(String packageName, int userId, String killReason,
-            int exitInfoReason, InstallRequest request, boolean waitAppKilled) {
+    private PackageFreezer freezePackage(String packageName, @CanBeALL @UserIdInt int userId,
+            String killReason, int exitInfoReason, InstallRequest request, boolean waitAppKilled) {
         return new PackageFreezer(packageName, userId, killReason, this, exitInfoReason, request,
                 waitAppKilled);
     }
@@ -4773,7 +4778,7 @@
             final Computer snapshot = snapshotComputer();
             final AndroidPackage pkg = snapshot.getPackage(packageName);
             try (PackageFreezer ignored =
-                            freezePackage(packageName, UserHandle.USER_ALL,
+                            freezePackage(packageName, USER_ALL,
                                     "clearApplicationProfileData",
                                     ApplicationExitInfo.REASON_OTHER, null /* request */)) {
                 try (PackageManagerTracedLock installLock = mInstallLock.acquireLock()) {
@@ -4819,7 +4824,7 @@
                 public void run() {
                     mHandler.removeCallbacks(this);
                     final boolean succeeded;
-                    try (PackageFreezer freezer = freezePackage(packageName, UserHandle.USER_ALL,
+                    try (PackageFreezer freezer = freezePackage(packageName, USER_ALL,
                             "clearApplicationUserData",
                             ApplicationExitInfo.REASON_USER_REQUESTED, null /* request */,
                             /* waitAppKilled= */ true)) {
@@ -4846,7 +4851,7 @@
                                 == PERMISSION_GRANTED) {
                             final Computer snapshot = snapshotComputer();
                             unsuspendForSuspendingPackage(
-                                    snapshot, packageName, userId, true /* inAllUsers */);
+                                    snapshot, packageName, userId, USER_ALL);
                             removeAllDistractingPackageRestrictions(snapshot, userId);
                             synchronized (mLock) {
                                 flushPackageRestrictionsAsUserInternalLocked(userId);
@@ -6371,13 +6376,13 @@
             if (mComponentResolver.updateMimeGroup(snapshotComputer(), packageName, mimeGroup)) {
                 Binder.withCleanCallingIdentity(() -> {
                     mPreferredActivityHelper.clearPackagePreferredActivities(packageName,
-                            UserHandle.USER_ALL);
+                            USER_ALL);
                     // Send the ACTION_PACKAGE_CHANGED when the mimeGroup has changes
                     final Computer snapShot = snapshotComputer();
                     final ArrayList<String> components = new ArrayList<>(
                             Collections.singletonList(packageName));
                     final int appId = packageState.getAppId();
-                    final int[] userIds = resolveUserIds(UserHandle.USER_ALL);
+                    final int[] userIds = resolveUserIds(USER_ALL);
                     final String reason = "The mimeGroup is changed";
                     for (int i = 0; i < userIds.length; i++) {
                         final PackageUserStateInternal pkgUserState =
diff --git a/services/core/java/com/android/server/pm/PackageManagerServiceInjector.java b/services/core/java/com/android/server/pm/PackageManagerServiceInjector.java
index ae2eaeb..a9d367e 100644
--- a/services/core/java/com/android/server/pm/PackageManagerServiceInjector.java
+++ b/services/core/java/com/android/server/pm/PackageManagerServiceInjector.java
@@ -17,6 +17,7 @@
 package com.android.server.pm;
 
 import android.app.ActivityManagerInternal;
+import android.app.AppOpsManagerInternal;
 import android.app.backup.IBackupManager;
 import android.content.ComponentName;
 import android.content.Context;
@@ -96,6 +97,7 @@
             mComponentResolverProducer;
     private final Singleton<PermissionManagerServiceInternal>
             mPermissionManagerServiceProducer;
+    private final Singleton<AppOpsManagerInternal> mAppOpsManagerInternalProducer;
     private final Singleton<UserManagerService>
             mUserManagerProducer;
     private final Singleton<Settings> mSettingsProducer;
@@ -149,6 +151,7 @@
             List<ScanPartition> systemPartitions,
             Producer<ComponentResolver> componentResolverProducer,
             Producer<PermissionManagerServiceInternal> permissionManagerServiceProducer,
+            Producer<AppOpsManagerInternal> appOpsManagerInternalProducer,
             Producer<UserManagerService> userManagerProducer,
             Producer<Settings> settingsProducer,
             Producer<AppsFilterImpl> appsFilterProducer,
@@ -194,6 +197,7 @@
                 componentResolverProducer);
         mPermissionManagerServiceProducer = new Singleton<>(
                 permissionManagerServiceProducer);
+        mAppOpsManagerInternalProducer = new Singleton<>(appOpsManagerInternalProducer);
         mUserManagerProducer = new Singleton<>(userManagerProducer);
         mSettingsProducer = new Singleton<>(settingsProducer);
         mAppsFilterProducer = new Singleton<>(appsFilterProducer);
@@ -290,6 +294,10 @@
         return mPermissionManagerServiceProducer.get(this, mPackageManager);
     }
 
+    public AppOpsManagerInternal getAppOpsManagerInternal() {
+        return mAppOpsManagerInternalProducer.get(this, mPackageManager);
+    }
+
     public Context getContext() {
         return mContext;
     }
diff --git a/services/core/java/com/android/server/pm/PreferredActivityHelper.java b/services/core/java/com/android/server/pm/PreferredActivityHelper.java
index 41d2aeb..fa56596 100644
--- a/services/core/java/com/android/server/pm/PreferredActivityHelper.java
+++ b/services/core/java/com/android/server/pm/PreferredActivityHelper.java
@@ -25,6 +25,7 @@
 import static com.android.server.pm.PackageManagerService.TAG;
 
 import android.annotation.NonNull;
+import android.annotation.SpecialUsers.CanBeALL;
 import android.annotation.UserIdInt;
 import android.content.ComponentName;
 import android.content.Intent;
@@ -115,7 +116,8 @@
     }
 
     /** This method takes a specific user id as well as UserHandle.USER_ALL. */
-    public void clearPackagePreferredActivities(String packageName, int userId) {
+    public void clearPackagePreferredActivities(String packageName,
+            @CanBeALL @UserIdInt int userId) {
         final SparseBooleanArray changedUsers = new SparseBooleanArray();
         synchronized (mPm.mLock) {
             mPm.clearPackagePreferredActivitiesLPw(packageName, changedUsers, userId);
diff --git a/services/core/java/com/android/server/pm/RemovePackageHelper.java b/services/core/java/com/android/server/pm/RemovePackageHelper.java
index f01a74e..22b4ec7 100644
--- a/services/core/java/com/android/server/pm/RemovePackageHelper.java
+++ b/services/core/java/com/android/server/pm/RemovePackageHelper.java
@@ -30,6 +30,8 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.SpecialUsers.CanBeALL;
+import android.annotation.UserIdInt;
 import android.content.pm.PackageManager;
 import android.content.pm.parsing.ApkLiteParseUtils;
 import android.content.pm.parsing.PackageLite;
@@ -256,7 +258,8 @@
      * Make sure this flag is set for partially installed apps. If not it's meaningless to
      * delete a partially installed application.
      */
-    public void clearPackageStateForUserLIF(PackageSetting ps, int userId, int flags) {
+    public void clearPackageStateForUserLIF(PackageSetting ps, @CanBeALL @UserIdInt int userId,
+            int flags) {
         final String packageName = ps.getPackageName();
         // Step 1: always destroy app profiles except when explicitly preserved
         if ((flags & Installer.FLAG_CLEAR_APP_DATA_KEEP_ART_PROFILES) == 0) {
@@ -370,13 +373,13 @@
      * This method deletes the package from internal data structures such as mPackages / mSettings.
      *
      * @param targetUserId indicates the target user of the deletion. It equals to
-     *                     {@link UserHandle.USER_ALL} if the deletion was initiated for all users,
+     *                     {@link UserHandle#USER_ALL} if the deletion was initiated for all users,
      *                     otherwise it equals to the specific user id that the deletion was meant
      *                     for.
      */
     @GuardedBy("mPm.mInstallLock")
-    public void removePackageDataLIF(final PackageSetting deletedPs, int targetUserId,
-            @NonNull int[] allUserHandles,
+    public void removePackageDataLIF(final PackageSetting deletedPs,
+            @CanBeALL @UserIdInt int targetUserId, @NonNull int[] allUserHandles,
             @NonNull PackageRemovedInfo outInfo, int flags, boolean writeSettings) {
         String packageName = deletedPs.getPackageName();
         if (DEBUG_REMOVE) Slog.d(TAG, "removePackageDataLI: " + deletedPs);
@@ -482,7 +485,8 @@
         }
     }
 
-    private static boolean shouldDeletePackageSetting(PackageSetting deletedPs, int userId,
+    private static boolean shouldDeletePackageSetting(PackageSetting deletedPs,
+                                                      @CanBeALL @UserIdInt int userId,
                                                       int[] allUserHandles, int flags) {
         if ((flags & PackageManager.DELETE_KEEP_DATA) != 0) {
             return false;
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index 485a280..92257f1 100644
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -35,6 +35,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.SpecialUsers.CanBeALL;
 import android.annotation.UserIdInt;
 import android.app.compat.ChangeIdStateCache;
 import android.content.ComponentName;
@@ -6639,7 +6640,7 @@
 
     /** This method takes a specific user id as well as UserHandle.USER_ALL. */
     void clearPackagePreferredActivities(String packageName,
-            @NonNull SparseBooleanArray outUserChanged, int userId) {
+            @NonNull SparseBooleanArray outUserChanged, @CanBeALL @UserIdInt int userId) {
         boolean changed = false;
         ArrayList<PreferredActivity> removed = null;
         for (int i = 0; i < mPreferredActivities.size(); i++) {
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
index 5c5a9c1..ac19ea1 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
@@ -37,6 +37,7 @@
 import android.annotation.AppIdInt;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.SpecialUsers.CanBeALL;
 import android.annotation.UserIdInt;
 import android.app.ActivityManager;
 import android.app.AppOpsManager;
@@ -765,7 +766,7 @@
         @Override
         public void onPackageUninstalled(@NonNull String packageName, int appId,
                 @NonNull PackageState packageState, @Nullable AndroidPackage pkg,
-                @NonNull List<AndroidPackage> sharedUserPkgs, @UserIdInt int userId) {
+                @NonNull List<AndroidPackage> sharedUserPkgs, @CanBeALL @UserIdInt int userId) {
             if (userId != UserHandle.USER_ALL) {
                 final int[] userIds = getAllUserIds();
                 if (!ArrayUtils.contains(userIds, userId)) {
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java
index e51ec04..33d57d5 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java
@@ -65,6 +65,7 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.SpecialUsers.CanBeALL;
 import android.annotation.UserIdInt;
 import android.app.ActivityManager;
 import android.app.AppOpsManager;
@@ -5284,7 +5285,7 @@
     @Override
     public void onPackageUninstalled(@NonNull String packageName, int appId,
             @NonNull PackageState packageState, @Nullable AndroidPackage pkg,
-            @NonNull List<AndroidPackage> sharedUserPkgs, @UserIdInt int userId) {
+            @NonNull List<AndroidPackage> sharedUserPkgs, @CanBeALL @UserIdInt int userId) {
         Objects.requireNonNull(packageState, "packageState");
         Objects.requireNonNull(packageName, "packageName");
         Objects.requireNonNull(sharedUserPkgs, "sharedUserPkgs");
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInterface.java b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInterface.java
index 3d295f7..f2491d9 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInterface.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInterface.java
@@ -19,6 +19,7 @@
 import android.annotation.AppIdInt;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.SpecialUsers.CanBeALL;
 import android.annotation.UserIdInt;
 import android.content.Context;
 import android.content.pm.PackageManager;
@@ -662,5 +663,5 @@
      */
     void onPackageUninstalled(@NonNull String packageName, int appId,
             @NonNull PackageState packageState, @Nullable AndroidPackage pkg,
-            @NonNull List<AndroidPackage> sharedUserPkgs, @UserIdInt int userId);
+            @NonNull List<AndroidPackage> sharedUserPkgs, @CanBeALL @UserIdInt int userId);
 }
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInternal.java b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInternal.java
index a5c1284..ad765c8 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInternal.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInternal.java
@@ -18,6 +18,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.SpecialUsers.CanBeALL;
 import android.annotation.UserIdInt;
 import android.app.AppOpsManager;
 import android.content.pm.PackageInstaller.SessionParams;
@@ -325,7 +326,7 @@
     //@SystemApi(client = SystemApi.Client.SYSTEM_SERVER)
     void onPackageUninstalled(@NonNull String packageName, int appId,
             @Nullable PackageState packageState, @Nullable AndroidPackage pkg,
-            @NonNull List<AndroidPackage> sharedUserPkgs, @UserIdInt int userId);
+            @NonNull List<AndroidPackage> sharedUserPkgs, @CanBeALL @UserIdInt int userId);
 
     /**
      * The permission-related parameters passed in for package installation.
diff --git a/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java b/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java
index 1d62087..2cf6b7e 100644
--- a/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java
+++ b/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java
@@ -2911,19 +2911,7 @@
                 return false;
             }
 
-            mCounter.getCounts(counts, procState);
-
-            // Return counts only if at least one of the elements is non-zero.
-            for (int i = counts.length - 1; i >= 0; --i) {
-                if (counts[i] != 0) {
-                    return true;
-                }
-            }
-            return false;
-        }
-
-        public void logState(Printer pw, String prefix) {
-            pw.println(prefix + "mCounter=" + mCounter);
+            return mCounter.getCounts(counts, procState);
         }
 
         /**
diff --git a/services/core/java/com/android/server/power/stats/processor/AmbientDisplayPowerStatsProcessor.java b/services/core/java/com/android/server/power/stats/processor/AmbientDisplayPowerStatsProcessor.java
index 5f93bdf..a550f2d 100644
--- a/services/core/java/com/android/server/power/stats/processor/AmbientDisplayPowerStatsProcessor.java
+++ b/services/core/java/com/android/server/power/stats/processor/AmbientDisplayPowerStatsProcessor.java
@@ -68,11 +68,15 @@
         // processor. All that remains to be done is copy the estimates over.
         MultiStateStats.States.forEachTrackedStateCombination(deviceStateConfig,
                 states -> {
-                    screenStats.getDeviceStats(mTmpScreenStats, states);
+                    if (!screenStats.getDeviceStats(mTmpScreenStats, states)) {
+                        return;
+                    }
                     double power =
                             mScreenPowerStatsLayout.getScreenDozePowerEstimate(mTmpScreenStats);
-                    mStatsLayout.setDevicePowerEstimate(mTmpDeviceStats, power);
-                    stats.setDeviceStats(states, mTmpDeviceStats);
+                    if (power != 0) {
+                        mStatsLayout.setDevicePowerEstimate(mTmpDeviceStats, power);
+                        stats.setDeviceStats(states, mTmpDeviceStats);
+                    }
                 });
     }
 }
diff --git a/services/core/java/com/android/server/power/stats/processor/CpuPowerStatsProcessor.java b/services/core/java/com/android/server/power/stats/processor/CpuPowerStatsProcessor.java
index ab2489c..98280be 100644
--- a/services/core/java/com/android/server/power/stats/processor/CpuPowerStatsProcessor.java
+++ b/services/core/java/com/android/server/power/stats/processor/CpuPowerStatsProcessor.java
@@ -407,7 +407,10 @@
             deviceStatsIntermediates.timeByBracket = new long[powerBracketCount];
             deviceStatsIntermediates.powerByBracket = new double[powerBracketCount];
 
-            stats.getDeviceStats(mTmpDeviceStatsArray, deviceStateEstimation.stateValues);
+            if (!stats.getDeviceStats(mTmpDeviceStatsArray, deviceStateEstimation.stateValues)) {
+                continue;
+            }
+
             for (int step = 0; step < cpuScalingStepCount; step++) {
                 if (intermediates.timeByScalingStep[step] == 0) {
                     continue;
@@ -432,16 +435,19 @@
             }
 
             if (wakelockStats != null) {
-                wakelockStats.getDeviceStats(mTmpWakelockDeviceStats,
-                        deviceStateEstimation.stateValues);
-                double wakelockPowerEstimate = mWakelockPowerStatsLayout.getDevicePowerEstimate(
-                        mTmpWakelockDeviceStats);
-                power = Math.max(0, power - wakelockPowerEstimate);
+                if (wakelockStats.getDeviceStats(mTmpWakelockDeviceStats,
+                        deviceStateEstimation.stateValues)) {
+                    double wakelockPowerEstimate = mWakelockPowerStatsLayout.getDevicePowerEstimate(
+                            mTmpWakelockDeviceStats);
+                    power = Math.max(0, power - wakelockPowerEstimate);
+                }
             }
 
-            deviceStatsIntermediates.power = power;
-            mStatsLayout.setDevicePowerEstimate(mTmpDeviceStatsArray, power);
-            stats.setDeviceStats(deviceStateEstimation.stateValues, mTmpDeviceStatsArray);
+            if (power != 0) {
+                deviceStatsIntermediates.power = power;
+                mStatsLayout.setDevicePowerEstimate(mTmpDeviceStatsArray, power);
+                stats.setDeviceStats(deviceStateEstimation.stateValues, mTmpDeviceStatsArray);
+            }
         }
     }
 
@@ -541,11 +547,12 @@
             }
 
             if (wakelockStats != null) {
-                wakelockStats.getUidStats(mTmpWakelockUidStats, uid,
-                        proportionalEstimate.stateValues);
-                double wakelockPowerEstimate = mWakelockPowerStatsLayout.getUidPowerEstimate(
-                        mTmpWakelockUidStats);
-                power = Math.max(0, power - wakelockPowerEstimate);
+                if (wakelockStats.getUidStats(mTmpWakelockUidStats, uid,
+                        proportionalEstimate.stateValues)) {
+                    double wakelockPowerEstimate = mWakelockPowerStatsLayout.getUidPowerEstimate(
+                            mTmpWakelockUidStats);
+                    power = Math.max(0, power - wakelockPowerEstimate);
+                }
             }
 
             if (power != 0) {
diff --git a/services/core/java/com/android/server/power/stats/processor/MobileRadioPowerStatsProcessor.java b/services/core/java/com/android/server/power/stats/processor/MobileRadioPowerStatsProcessor.java
index a544daa..58835053 100644
--- a/services/core/java/com/android/server/power/stats/processor/MobileRadioPowerStatsProcessor.java
+++ b/services/core/java/com/android/server/power/stats/processor/MobileRadioPowerStatsProcessor.java
@@ -259,7 +259,9 @@
 
         stats.forEachStateStatsKey(key -> {
             RxTxPowerEstimators estimators = mRxTxPowerEstimators.get(key);
-            stats.getStateStats(mTmpStateStatsArray, key, deviceStates);
+            if (!stats.getStateStats(mTmpStateStatsArray, key, deviceStates)) {
+                return;
+            }
             long rxTime = mStatsLayout.getStateRxTime(mTmpStateStatsArray);
             intermediates.rxPower += estimators.mRxPowerEstimator.calculatePower(rxTime);
             for (int txLevel = 0; txLevel < ModemActivityInfo.getNumTxPowerLevels(); txLevel++) {
diff --git a/services/core/java/com/android/server/power/stats/processor/MultiStateStats.java b/services/core/java/com/android/server/power/stats/processor/MultiStateStats.java
index 6932575..0038943 100644
--- a/services/core/java/com/android/server/power/stats/processor/MultiStateStats.java
+++ b/services/core/java/com/android/server/power/stats/processor/MultiStateStats.java
@@ -16,6 +16,7 @@
 
 package com.android.server.power.stats.processor;
 
+import android.annotation.CheckResult;
 import android.annotation.Nullable;
 import android.util.Slog;
 
@@ -342,10 +343,12 @@
     }
 
     /**
-     * Returns accumulated stats for the specified composite state.
+     * Returns accumulated stats for the specified composite state or false if the results are
+     * all zeros.
      */
-    void getStats(long[] outValues, int[] states) {
-        mCounter.getCounts(outValues, mFactory.getSerialState(states));
+    @CheckResult
+    boolean getStats(long[] outValues, int[] states) {
+        return mCounter.getCounts(outValues, mFactory.getSerialState(states));
     }
 
     /**
@@ -389,15 +392,7 @@
 
     private void writeXmlForStates(TypedXmlSerializer serializer, int[] states, long[] values)
             throws IOException {
-        mCounter.getCounts(values, mFactory.getSerialState(states));
-        boolean nonZero = false;
-        for (long value : values) {
-            if (value != 0) {
-                nonZero = true;
-                break;
-            }
-        }
-        if (!nonZero) {
+        if (!mCounter.getCounts(values, mFactory.getSerialState(states))) {
             return;
         }
 
@@ -470,15 +465,7 @@
         StringBuilder sb = new StringBuilder();
         long[] values = new long[mCounter.getArrayLength()];
         States.forEachTrackedStateCombination(mFactory.mStates, states -> {
-            mCounter.getCounts(values, mFactory.getSerialState(states));
-            boolean nonZero = false;
-            for (long value : values) {
-                if (value != 0) {
-                    nonZero = true;
-                    break;
-                }
-            }
-            if (!nonZero) {
+            if (!mCounter.getCounts(values, mFactory.getSerialState(states))) {
                 return;
             }
 
diff --git a/services/core/java/com/android/server/power/stats/processor/PhoneCallPowerStatsProcessor.java b/services/core/java/com/android/server/power/stats/processor/PhoneCallPowerStatsProcessor.java
index 3957ae0..ad628e4 100644
--- a/services/core/java/com/android/server/power/stats/processor/PhoneCallPowerStatsProcessor.java
+++ b/services/core/java/com/android/server/power/stats/processor/PhoneCallPowerStatsProcessor.java
@@ -69,12 +69,15 @@
         // processor. All that remains to be done is copy the estimates over.
         MultiStateStats.States.forEachTrackedStateCombination(deviceStateConfig,
                 states -> {
-                    mobileRadioStats.getDeviceStats(mTmpMobileRadioDeviceStats, states);
-                    double callPowerEstimate =
-                            mMobileRadioStatsLayout.getDeviceCallPowerEstimate(
-                                    mTmpMobileRadioDeviceStats);
-                    mStatsLayout.setDevicePowerEstimate(mTmpDeviceStats, callPowerEstimate);
-                    stats.setDeviceStats(states, mTmpDeviceStats);
+                    if (!mobileRadioStats.getDeviceStats(mTmpMobileRadioDeviceStats, states)) {
+                        return;
+                    }
+                    double callPowerEstimate = mMobileRadioStatsLayout.getDeviceCallPowerEstimate(
+                            mTmpMobileRadioDeviceStats);
+                    if (callPowerEstimate != 0) {
+                        mStatsLayout.setDevicePowerEstimate(mTmpDeviceStats, callPowerEstimate);
+                        stats.setDeviceStats(states, mTmpDeviceStats);
+                    }
                 });
     }
 }
diff --git a/services/core/java/com/android/server/power/stats/processor/PowerComponentAggregatedPowerStats.java b/services/core/java/com/android/server/power/stats/processor/PowerComponentAggregatedPowerStats.java
index f9b9da9..d285a59 100644
--- a/services/core/java/com/android/server/power/stats/processor/PowerComponentAggregatedPowerStats.java
+++ b/services/core/java/com/android/server/power/stats/processor/PowerComponentAggregatedPowerStats.java
@@ -16,6 +16,7 @@
 
 package com.android.server.power.stats.processor;
 
+import android.annotation.CheckResult;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.os.BatteryStats;
@@ -312,6 +313,11 @@
         return uids;
     }
 
+    /**
+     * Populates outValues with the stats for the specified states. If the stats are all 0,
+     * returns false, leaving outValues unchanged.
+     */
+    @CheckResult
     boolean getDeviceStats(long[] outValues, int[] deviceStates) {
         if (deviceStates.length != mDeviceStateConfig.length) {
             throw new IllegalArgumentException(
@@ -319,12 +325,16 @@
                     + " expected: " + mDeviceStateConfig.length);
         }
         if (mDeviceStats != null) {
-            mDeviceStats.getStats(outValues, deviceStates);
-            return true;
+            return mDeviceStats.getStats(outValues, deviceStates);
         }
         return false;
     }
 
+    /**
+     * Populates outValues with the stats for the specified key and device states. If the stats
+     * are all 0, returns false, leaving outValues unchanged.
+     */
+    @CheckResult
     boolean getStateStats(long[] outValues, int key, int[] deviceStates) {
         if (deviceStates.length != mDeviceStateConfig.length) {
             throw new IllegalArgumentException(
@@ -333,8 +343,7 @@
         }
         MultiStateStats stateStats = mStateStats.get(key);
         if (stateStats != null) {
-            stateStats.getStats(outValues, deviceStates);
-            return true;
+            return stateStats.getStats(outValues, deviceStates);
         }
         return false;
     }
@@ -345,6 +354,11 @@
         }
     }
 
+    /**
+     * Populates outValues with the stats for the specified UID and UID states. If the stats are
+     *  all 0, returns false, leaving outValues unchanged.
+     */
+    @CheckResult
     boolean getUidStats(long[] outValues, int uid, int[] uidStates) {
         if (uidStates.length != mUidStateConfig.length) {
             throw new IllegalArgumentException(
@@ -353,8 +367,7 @@
         }
         UidStats uidStats = mUidStats.get(uid);
         if (uidStats != null && uidStats.stats != null) {
-            uidStats.stats.getStats(outValues, uidStates);
-            return true;
+            return uidStats.stats.getStats(outValues, uidStates);
         }
         return false;
     }
@@ -578,15 +591,7 @@
         long[] values = new long[stats.getDimensionCount()];
         MultiStateStats.States[] stateInfo = stats.getStates();
         MultiStateStats.States.forEachTrackedStateCombination(stateInfo, states -> {
-            stats.getStats(values, states);
-            boolean nonZero = false;
-            for (long value : values) {
-                if (value != 0) {
-                    nonZero = true;
-                    break;
-                }
-            }
-            if (!nonZero) {
+            if (!stats.getStats(values, states)) {
                 return;
             }
 
diff --git a/services/core/java/com/android/server/power/stats/processor/SensorPowerStatsProcessor.java b/services/core/java/com/android/server/power/stats/processor/SensorPowerStatsProcessor.java
index ba728d3..284e6a9 100644
--- a/services/core/java/com/android/server/power/stats/processor/SensorPowerStatsProcessor.java
+++ b/services/core/java/com/android/server/power/stats/processor/SensorPowerStatsProcessor.java
@@ -298,12 +298,16 @@
                 continue;
             }
 
-            if (!stats.getDeviceStats(mTmpDeviceStatsArray, estimation.stateValues)) {
+            double power = ((Intermediates) estimation.intermediates).power;
+            if (power == 0) {
                 continue;
             }
 
-            mStatsLayout.setDevicePowerEstimate(mTmpDeviceStatsArray,
-                    ((Intermediates) estimation.intermediates).power);
+            if (!stats.getDeviceStats(mTmpDeviceStatsArray, estimation.stateValues)) {
+                Arrays.fill(mTmpDeviceStatsArray, 0);
+            }
+
+            mStatsLayout.setDevicePowerEstimate(mTmpDeviceStatsArray, power);
             stats.setDeviceStats(estimation.stateValues, mTmpDeviceStatsArray);
         }
     }
diff --git a/services/core/java/com/android/server/security/CertificateRevocationStatusManager.java b/services/core/java/com/android/server/security/CertificateRevocationStatusManager.java
index 4cd4b3b..7991575 100644
--- a/services/core/java/com/android/server/security/CertificateRevocationStatusManager.java
+++ b/services/core/java/com/android/server/security/CertificateRevocationStatusManager.java
@@ -24,7 +24,7 @@
 import android.net.NetworkCapabilities;
 import android.net.NetworkRequest;
 import android.os.Environment;
-import android.os.PersistableBundle;
+import android.util.AtomicFile;
 import android.util.Slog;
 
 import com.android.internal.R;
@@ -35,6 +35,7 @@
 
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
@@ -42,52 +43,27 @@
 import java.net.URL;
 import java.security.cert.CertPathValidatorException;
 import java.security.cert.X509Certificate;
-import java.time.Duration;
-import java.time.LocalDate;
 import java.time.LocalDateTime;
-import java.time.ZoneId;
-import java.time.format.DateTimeParseException;
+import java.time.OffsetDateTime;
 import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Map;
-import java.util.Set;
 
 /** Manages the revocation status of certificates used in remote attestation. */
 class CertificateRevocationStatusManager {
     private static final String TAG = "AVF_CRL";
     // Must be unique within system server
     private static final int JOB_ID = 1737671340;
-    private static final String REVOCATION_STATUS_FILE_NAME = "certificate_revocation_status.txt";
-    private static final String REVOCATION_STATUS_FILE_FIELD_DELIMITER = ",";
+    private static final String REVOCATION_LIST_FILE_NAME = "certificate_revocation_list.json";
+    @VisibleForTesting static final int MAX_OFFLINE_REVOCATION_LIST_AGE_DAYS = 30;
 
-    /**
-     * The number of days since last update for which a stored revocation status can be accepted.
-     */
-    @VisibleForTesting static final int MAX_DAYS_SINCE_LAST_CHECK = 30;
-
-    @VisibleForTesting static final int NUM_HOURS_BEFORE_NEXT_CHECK = 24;
-
-    /**
-     * The number of days since issue date for an intermediary certificate to be considered fresh
-     * and not require a revocation list check.
-     */
-    private static final int FRESH_INTERMEDIARY_CERT_DAYS = 70;
-
-    /**
-     * The expected number of days between a certificate's issue date and notBefore date. Used to
-     * infer a certificate's issue date from its notBefore date.
-     */
-    private static final int DAYS_BETWEEN_ISSUE_AND_NOT_BEFORE_DATES = 2;
+    @VisibleForTesting static final int NUM_HOURS_BEFORE_NEXT_FETCH = 24;
 
     private static final String TOP_LEVEL_JSON_PROPERTY_KEY = "entries";
     private static final Object sFileLock = new Object();
 
     private final Context mContext;
     private final String mTestRemoteRevocationListUrl;
-    private final File mTestRevocationStatusFile;
+    private final File mTestStoredRevocationListFile;
     private final boolean mShouldScheduleJob;
 
     CertificateRevocationStatusManager(Context context) {
@@ -98,29 +74,22 @@
     CertificateRevocationStatusManager(
             Context context,
             String testRemoteRevocationListUrl,
-            File testRevocationStatusFile,
+            File testStoredRevocationListFile,
             boolean shouldScheduleJob) {
         mContext = context;
         mTestRemoteRevocationListUrl = testRemoteRevocationListUrl;
-        mTestRevocationStatusFile = testRevocationStatusFile;
+        mTestStoredRevocationListFile = testStoredRevocationListFile;
         mShouldScheduleJob = shouldScheduleJob;
     }
 
     /**
      * Check the revocation status of the provided {@link X509Certificate}s.
      *
-     * <p>The provided certificates should have been validated and ordered from leaf to a
-     * certificate issued by the trust anchor, per the convention specified in the javadoc of {@link
-     * java.security.cert.CertPath}.
-     *
      * @param certificates List of certificates to be checked
      * @throws CertPathValidatorException if the check failed
      */
     void checkRevocationStatus(List<X509Certificate> certificates)
             throws CertPathValidatorException {
-        if (!needToCheckRevocationStatus(certificates)) {
-            return;
-        }
         List<String> serialNumbers = new ArrayList<>();
         for (X509Certificate certificate : certificates) {
             String serialNumber = certificate.getSerialNumber().toString(16);
@@ -129,217 +98,124 @@
             }
             serialNumbers.add(serialNumber);
         }
+        LocalDateTime now = LocalDateTime.now();
+        JSONObject revocationList;
         try {
-            if (isLastCheckedWithin(Duration.ofHours(NUM_HOURS_BEFORE_NEXT_CHECK), serialNumbers)) {
-                Slog.d(
-                        TAG,
-                        "All certificates have been checked for revocation recently. No need to"
-                                + " check this time.");
+            if (getLastModifiedDateTime(getRevocationListFile())
+                    .isAfter(now.minusHours(NUM_HOURS_BEFORE_NEXT_FETCH))) {
+                Slog.d(TAG, "CRL is fetched recently, do not fetch again.");
+                revocationList = getStoredRevocationList();
+                checkRevocationStatus(revocationList, serialNumbers);
                 return;
             }
-        } catch (IOException ignored) {
-            // Proceed to check the revocation status
+        } catch (IOException | JSONException ignored) {
+            // Proceed to fetch the remote revocation list
         }
         try {
-            JSONObject revocationList = fetchRemoteRevocationList();
-            Map<String, Boolean> areCertificatesRevoked = new HashMap<>();
-            for (String serialNumber : serialNumbers) {
-                areCertificatesRevoked.put(serialNumber, revocationList.has(serialNumber));
-            }
-            updateLastRevocationCheckData(areCertificatesRevoked);
-            for (Map.Entry<String, Boolean> entry : areCertificatesRevoked.entrySet()) {
-                if (entry.getValue()) {
-                    throw new CertPathValidatorException(
-                            "Certificate " + entry.getKey() + " has been revoked.");
-                }
-            }
+            byte[] revocationListBytes = fetchRemoteRevocationListBytes();
+            silentlyStoreRevocationList(revocationListBytes);
+            revocationList = parseRevocationList(revocationListBytes);
+            checkRevocationStatus(revocationList, serialNumbers);
         } catch (IOException | JSONException ex) {
             Slog.d(TAG, "Fallback to check stored revocation status", ex);
             if (ex instanceof IOException && mShouldScheduleJob) {
-                scheduleJobToUpdateStoredDataWithRemoteRevocationList(serialNumbers);
-            }
-            for (X509Certificate certificate : certificates) {
-                // Assume recently issued certificates are not revoked.
-                if (isIssuedWithinDays(certificate, MAX_DAYS_SINCE_LAST_CHECK)) {
-                    String serialNumber = certificate.getSerialNumber().toString(16);
-                    serialNumbers.remove(serialNumber);
-                }
+                scheduleJobToFetchRemoteRevocationJob();
             }
             try {
-                if (!isLastCheckedWithin(
-                        Duration.ofDays(MAX_DAYS_SINCE_LAST_CHECK), serialNumbers)) {
-                    throw new CertPathValidatorException(
-                            "Unable to verify the revocation status of one of the certificates "
-                                    + serialNumbers);
-                }
-            } catch (IOException ex2) {
+                revocationList = getStoredRevocationList();
+                checkRevocationStatus(revocationList, serialNumbers);
+            } catch (IOException | JSONException ex2) {
                 throw new CertPathValidatorException(
-                        "Unable to load stored revocation status", ex2);
+                        "Unable to load or parse stored revocation status", ex2);
             }
         }
     }
 
-    private boolean isLastCheckedWithin(Duration lastCheckedWithin, List<String> serialNumbers)
-            throws IOException {
-        Map<String, LocalDateTime> lastRevocationCheckData = getLastRevocationCheckData();
+    private static void checkRevocationStatus(JSONObject revocationList, List<String> serialNumbers)
+            throws CertPathValidatorException {
         for (String serialNumber : serialNumbers) {
-            if (!lastRevocationCheckData.containsKey(serialNumber)
-                    || lastRevocationCheckData
-                            .get(serialNumber)
-                            .isBefore(LocalDateTime.now().minus(lastCheckedWithin))) {
-                return false;
+            if (revocationList.has(serialNumber)) {
+                throw new CertPathValidatorException(
+                        "Certificate has been revoked: " + serialNumber);
             }
         }
-        return true;
     }
 
-    private static boolean needToCheckRevocationStatus(
-            List<X509Certificate> certificatesOrderedLeafFirst) {
-        if (certificatesOrderedLeafFirst.isEmpty()) {
-            return false;
+    private JSONObject getStoredRevocationList() throws IOException, JSONException {
+        File offlineRevocationListFile = getRevocationListFile();
+        if (!offlineRevocationListFile.exists()
+                || isRevocationListExpired(offlineRevocationListFile)) {
+            throw new FileNotFoundException("Offline copy does not exist or has expired.");
         }
-        // A certificate isn't revoked when it is first issued, so we treat it as checked on its
-        // issue date.
-        if (!isIssuedWithinDays(certificatesOrderedLeafFirst.get(0), MAX_DAYS_SINCE_LAST_CHECK)) {
-            return true;
-        }
-        for (int i = 1; i < certificatesOrderedLeafFirst.size(); i++) {
-            if (!isIssuedWithinDays(
-                    certificatesOrderedLeafFirst.get(i), FRESH_INTERMEDIARY_CERT_DAYS)) {
-                return true;
+        synchronized (sFileLock) {
+            try (FileInputStream inputStream = new FileInputStream(offlineRevocationListFile)) {
+                return parseRevocationList(inputStream.readAllBytes());
             }
         }
-        return false;
     }
 
-    private static boolean isIssuedWithinDays(X509Certificate certificate, int days) {
-        LocalDate notBeforeDate =
-                LocalDate.ofInstant(certificate.getNotBefore().toInstant(), ZoneId.systemDefault());
-        LocalDate expectedIssueData =
-                notBeforeDate.plusDays(DAYS_BETWEEN_ISSUE_AND_NOT_BEFORE_DATES);
-        return LocalDate.now().minusDays(days + 1).isBefore(expectedIssueData);
+    private boolean isRevocationListExpired(File offlineRevocationListFile) {
+        LocalDateTime acceptableLastModifiedDate =
+                LocalDateTime.now().minusDays(MAX_OFFLINE_REVOCATION_LIST_AGE_DAYS);
+        LocalDateTime lastModifiedDate = getLastModifiedDateTime(offlineRevocationListFile);
+        return lastModifiedDate.isBefore(acceptableLastModifiedDate);
     }
 
-    void updateLastRevocationCheckDataForAllPreviouslySeenCertificates(
-            JSONObject revocationList, Collection<String> otherCertificatesToCheck) {
-        Set<String> allCertificatesToCheck = new HashSet<>(otherCertificatesToCheck);
-        try {
-            allCertificatesToCheck.addAll(getLastRevocationCheckData().keySet());
-        } catch (IOException ex) {
-            Slog.e(TAG, "Unable to update last check date of stored data.", ex);
-        }
-        Map<String, Boolean> areCertificatesRevoked = new HashMap<>();
-        for (String serialNumber : allCertificatesToCheck) {
-            areCertificatesRevoked.put(serialNumber, revocationList.has(serialNumber));
-        }
-        updateLastRevocationCheckData(areCertificatesRevoked);
+    private static LocalDateTime getLastModifiedDateTime(File file) {
+        // if the file does not exist, file.lastModified() returns 0, so this method returns the
+        // epoch time
+        return LocalDateTime.ofEpochSecond(
+                file.lastModified() / 1000, 0, OffsetDateTime.now().getOffset());
     }
 
     /**
-     * Update the last revocation check data stored on this device.
+     * Store the provided bytes to the local revocation list file.
      *
-     * @param areCertificatesRevoked A Map whose keys are certificate serial numbers and values are
-     *     whether that certificate has been revoked
+     * <p>This method does not throw an exception even if it fails to store the bytes.
+     *
+     * <p>This method internally synchronize file access with other methods in this class.
+     *
+     * @param revocationListBytes The bytes to store to the local revocation list file.
      */
-    void updateLastRevocationCheckData(Map<String, Boolean> areCertificatesRevoked) {
-        LocalDateTime now = LocalDateTime.now();
+    void silentlyStoreRevocationList(byte[] revocationListBytes) {
         synchronized (sFileLock) {
-            Map<String, LocalDateTime> lastRevocationCheckData;
+            AtomicFile atomicRevocationListFile = new AtomicFile(getRevocationListFile());
+            FileOutputStream fileOutputStream = null;
             try {
-                lastRevocationCheckData = getLastRevocationCheckData();
+                fileOutputStream = atomicRevocationListFile.startWrite();
+                fileOutputStream.write(revocationListBytes);
+                atomicRevocationListFile.finishWrite(fileOutputStream);
+                Slog.d(TAG, "Successfully stored revocation list.");
             } catch (IOException ex) {
-                Slog.e(TAG, "Unable to updateLastRevocationCheckData", ex);
-                return;
-            }
-            for (Map.Entry<String, Boolean> entry : areCertificatesRevoked.entrySet()) {
-                if (entry.getValue()) {
-                    lastRevocationCheckData.remove(entry.getKey());
-                } else {
-                    lastRevocationCheckData.put(entry.getKey(), now);
-                }
-            }
-            storeLastRevocationCheckData(lastRevocationCheckData);
-        }
-    }
-
-    Map<String, LocalDateTime> getLastRevocationCheckData() throws IOException {
-        Map<String, LocalDateTime> data = new HashMap<>();
-        File dataFile = getLastRevocationCheckDataFile();
-        synchronized (sFileLock) {
-            if (!dataFile.exists()) {
-                return data;
-            }
-            String dataString;
-            try (FileInputStream in = new FileInputStream(dataFile)) {
-                dataString = new String(in.readAllBytes(), UTF_8);
-            }
-            for (String line : dataString.split(System.lineSeparator())) {
-                String[] elements = line.split(REVOCATION_STATUS_FILE_FIELD_DELIMITER);
-                if (elements.length != 2) {
-                    continue;
-                }
-                try {
-                    data.put(elements[0], LocalDateTime.parse(elements[1]));
-                } catch (DateTimeParseException ex) {
-                    Slog.e(
-                            TAG,
-                            "Unable to parse last checked LocalDateTime from file. Deleting the"
-                                    + " potentially corrupted file.",
-                            ex);
-                    dataFile.delete();
-                    return data;
+                Slog.e(TAG, "Failed to store the certificate revocation list.", ex);
+                // this happens when fileOutputStream.write fails
+                if (fileOutputStream != null) {
+                    atomicRevocationListFile.failWrite(fileOutputStream);
                 }
             }
         }
-        return data;
     }
 
-    @VisibleForTesting
-    void storeLastRevocationCheckData(Map<String, LocalDateTime> lastRevocationCheckData) {
-        StringBuilder dataStringBuilder = new StringBuilder();
-        for (Map.Entry<String, LocalDateTime> entry : lastRevocationCheckData.entrySet()) {
-            dataStringBuilder
-                    .append(entry.getKey())
-                    .append(REVOCATION_STATUS_FILE_FIELD_DELIMITER)
-                    .append(entry.getValue())
-                    .append(System.lineSeparator());
+    private File getRevocationListFile() {
+        if (mTestStoredRevocationListFile != null) {
+            return mTestStoredRevocationListFile;
         }
-        synchronized (sFileLock) {
-            try (FileOutputStream fileOutputStream =
-                    new FileOutputStream(getLastRevocationCheckDataFile())) {
-                fileOutputStream.write(dataStringBuilder.toString().getBytes(UTF_8));
-                Slog.d(TAG, "Successfully stored revocation status data.");
-            } catch (IOException ex) {
-                Slog.e(TAG, "Failed to store revocation status data.", ex);
-            }
-        }
+        return new File(Environment.getDataSystemDirectory(), REVOCATION_LIST_FILE_NAME);
     }
 
-    private File getLastRevocationCheckDataFile() {
-        if (mTestRevocationStatusFile != null) {
-            return mTestRevocationStatusFile;
-        }
-        return new File(Environment.getDataSystemDirectory(), REVOCATION_STATUS_FILE_NAME);
-    }
-
-    private void scheduleJobToUpdateStoredDataWithRemoteRevocationList(List<String> serialNumbers) {
+    private void scheduleJobToFetchRemoteRevocationJob() {
         JobScheduler jobScheduler = mContext.getSystemService(JobScheduler.class);
         if (jobScheduler == null) {
             Slog.e(TAG, "Unable to get job scheduler.");
             return;
         }
         Slog.d(TAG, "Scheduling job to fetch remote CRL.");
-        PersistableBundle extras = new PersistableBundle();
-        extras.putStringArray(
-                UpdateCertificateRevocationStatusJobService.EXTRA_KEY_CERTIFICATES_TO_CHECK,
-                serialNumbers.toArray(new String[0]));
         jobScheduler.schedule(
                 new JobInfo.Builder(
                                 JOB_ID,
                                 new ComponentName(
                                         mContext,
                                         UpdateCertificateRevocationStatusJobService.class))
-                        .setExtras(extras)
                         .setRequiredNetwork(
                                 new NetworkRequest.Builder()
                                         .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
@@ -351,13 +227,11 @@
      * Fetches the revocation list from the URL specified in
      * R.string.vendor_required_attestation_revocation_list_url
      *
-     * @return The remote revocation list entries in a JSONObject
+     * @return The remote revocation list entries in a byte[].
      * @throws CertPathValidatorException if the URL is not defined or is malformed.
      * @throws IOException if the URL is valid but the fetch failed.
-     * @throws JSONException if the revocation list content cannot be parsed
      */
-    JSONObject fetchRemoteRevocationList()
-            throws CertPathValidatorException, IOException, JSONException {
+    byte[] fetchRemoteRevocationListBytes() throws CertPathValidatorException, IOException {
         String urlString = getRemoteRevocationListUrl();
         if (urlString == null || urlString.isEmpty()) {
             throw new CertPathValidatorException(
@@ -369,10 +243,13 @@
         } catch (MalformedURLException ex) {
             throw new CertPathValidatorException("Unable to parse the URL " + urlString, ex);
         }
-        byte[] revocationListBytes;
         try (InputStream inputStream = url.openStream()) {
-            revocationListBytes = inputStream.readAllBytes();
+            return inputStream.readAllBytes();
         }
+    }
+
+    private JSONObject parseRevocationList(byte[] revocationListBytes)
+            throws IOException, JSONException {
         JSONObject revocationListJson = new JSONObject(new String(revocationListBytes, UTF_8));
         return revocationListJson.getJSONObject(TOP_LEVEL_JSON_PROPERTY_KEY);
     }
diff --git a/services/core/java/com/android/server/security/UpdateCertificateRevocationStatusJobService.java b/services/core/java/com/android/server/security/UpdateCertificateRevocationStatusJobService.java
index 768c812..7d1a70e 100644
--- a/services/core/java/com/android/server/security/UpdateCertificateRevocationStatusJobService.java
+++ b/services/core/java/com/android/server/security/UpdateCertificateRevocationStatusJobService.java
@@ -20,17 +20,15 @@
 import android.app.job.JobService;
 import android.util.Slog;
 
-import org.json.JSONObject;
-
-import java.util.Arrays;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
-/** A {@link JobService} that fetches the certificate revocation list from a remote location. */
+/**
+ * A {@link JobService} that fetches the certificate revocation list from a remote location and
+ * stores it locally.
+ */
 public class UpdateCertificateRevocationStatusJobService extends JobService {
 
-    static final String EXTRA_KEY_CERTIFICATES_TO_CHECK =
-            "com.android.server.security.extra.CERTIFICATES_TO_CHECK";
     private static final String TAG = "AVF_CRL";
     private ExecutorService mExecutorService;
 
@@ -48,20 +46,12 @@
                         CertificateRevocationStatusManager certificateRevocationStatusManager =
                                 new CertificateRevocationStatusManager(this);
                         Slog.d(TAG, "Starting to fetch remote CRL from job service.");
-                        JSONObject revocationList =
-                                certificateRevocationStatusManager.fetchRemoteRevocationList();
-                        String[] certificatesToCheckFromJobParams =
-                                params.getExtras().getStringArray(EXTRA_KEY_CERTIFICATES_TO_CHECK);
-                        if (certificatesToCheckFromJobParams == null) {
-                            Slog.e(TAG, "Extras not found: " + EXTRA_KEY_CERTIFICATES_TO_CHECK);
-                            return;
-                        }
-                        certificateRevocationStatusManager
-                                .updateLastRevocationCheckDataForAllPreviouslySeenCertificates(
-                                        revocationList,
-                                        Arrays.asList(certificatesToCheckFromJobParams));
+                        byte[] revocationList =
+                                certificateRevocationStatusManager.fetchRemoteRevocationListBytes();
+                        certificateRevocationStatusManager.silentlyStoreRevocationList(
+                                revocationList);
                     } catch (Throwable t) {
-                        Slog.e(TAG, "Unable to update the stored revocation status.", t);
+                        Slog.e(TAG, "Unable to update the stored revocation list.", t);
                     }
                     jobFinished(params, false);
                 });
diff --git a/services/core/java/com/android/server/storage/ImmutableVolumeInfo.java b/services/core/java/com/android/server/storage/ImmutableVolumeInfo.java
index 9d60a57..0f8212e 100644
--- a/services/core/java/com/android/server/storage/ImmutableVolumeInfo.java
+++ b/services/core/java/com/android/server/storage/ImmutableVolumeInfo.java
@@ -136,4 +136,9 @@
     public boolean isVisibleForWrite(int userId) {
         return mVolumeInfo.isVisibleForWrite(userId);
     }
+
+    @Override
+    public String toString() {
+        return mVolumeInfo.toString();
+    }
 }
diff --git a/services/core/java/com/android/server/storage/WatchedVolumeInfo.java b/services/core/java/com/android/server/storage/WatchedVolumeInfo.java
index 4124cfb..94e52cd 100644
--- a/services/core/java/com/android/server/storage/WatchedVolumeInfo.java
+++ b/services/core/java/com/android/server/storage/WatchedVolumeInfo.java
@@ -203,4 +203,9 @@
     public boolean isVisibleForWrite(int userId) {
         return mVolumeInfo.isVisibleForWrite(userId);
     }
+
+    @Override
+    public String toString() {
+        return mVolumeInfo.toString();
+    }
 }
\ No newline at end of file
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperCropper.java b/services/core/java/com/android/server/wallpaper/WallpaperCropper.java
index b3e68a35..8e8455a 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperCropper.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperCropper.java
@@ -16,6 +16,8 @@
 
 package com.android.server.wallpaper;
 
+import static android.app.WallpaperManager.ORIENTATION_LANDSCAPE;
+import static android.app.WallpaperManager.ORIENTATION_SQUARE_LANDSCAPE;
 import static android.app.WallpaperManager.ORIENTATION_UNKNOWN;
 import static android.app.WallpaperManager.getOrientation;
 import static android.app.WallpaperManager.getRotatedOrientation;
@@ -28,6 +30,7 @@
 import static com.android.server.wallpaper.WallpaperUtils.getWallpaperDir;
 import static com.android.window.flags.Flags.multiCrop;
 
+import android.app.WallpaperManager;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.graphics.ImageDecoder;
@@ -821,4 +824,54 @@
             }
         }
     }
+
+    /**
+     * Returns true if a wallpaper is compatible with a given display with ID, {@code displayId}.
+     *
+     * <p>A wallpaper is compatible with a display if any of the following are true
+     * <ol>the display is a default display</o>
+     * <ol>the wallpaper is a stock wallpaper</ol>
+     * <ol>the wallpaper size is at least 3/4 of the display resolution and, in landscape displays,
+     * the wallpaper has an aspect ratio of at least 11:13.</ol>
+     */
+    @VisibleForTesting
+    boolean isWallpaperCompatibleForDisplay(int displayId, WallpaperData wallpaperData) {
+        if (displayId == DEFAULT_DISPLAY) {
+            return true;
+        }
+
+        File wallpaperFile = wallpaperData.getWallpaperFile();
+        if (!wallpaperFile.exists()) {
+            // Assumption: Stock wallpaper is suitable for all display sizes.
+            return true;
+        }
+
+        DisplayInfo displayInfo = mWallpaperDisplayHelper.getDisplayInfo(displayId);
+        Point displaySize = new Point(displayInfo.logicalWidth, displayInfo.logicalHeight);
+        int displayOrientation = WallpaperManager.getOrientation(displaySize);
+
+        Point wallpaperImageSize = new Point(
+                (int) Math.ceil(wallpaperData.cropHint.width() / wallpaperData.mSampleSize),
+                (int) Math.ceil(wallpaperData.cropHint.height() / wallpaperData.mSampleSize));
+        if (wallpaperImageSize.equals(0, 0)) {
+            BitmapFactory.Options options = new BitmapFactory.Options();
+            options.inJustDecodeBounds = true;
+            BitmapFactory.decodeFile(wallpaperFile.getAbsolutePath(), options);
+            wallpaperImageSize.set(options.outWidth, options.outHeight);
+        }
+
+        double maxDisplayToImageRatio = Math.max((double) displaySize.x / wallpaperImageSize.x,
+                (double) displaySize.y / wallpaperImageSize.y);
+        if (maxDisplayToImageRatio > 1.5) {
+            return false;
+        }
+
+        // For displays in landscape, we only support images with an aspect ratio >= 11:13
+        if (displayOrientation == ORIENTATION_LANDSCAPE) {
+            return ((double) wallpaperImageSize.x / wallpaperImageSize.y) >= 11.0 / 13;
+        }
+
+        // For other orientations, we don't enforce any aspect ratio.
+        return true;
+    }
 }
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
index 69b2b9b..d620e98 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
@@ -118,7 +118,6 @@
 import android.system.ErrnoException;
 import android.system.Os;
 import android.text.TextUtils;
-import android.util.ArraySet;
 import android.util.EventLog;
 import android.util.IntArray;
 import android.util.Slog;
@@ -161,7 +160,6 @@
 import java.util.Locale;
 import java.util.Map;
 import java.util.Objects;
-import java.util.Set;
 import java.util.function.Consumer;
 import java.util.function.Predicate;
 
@@ -743,10 +741,8 @@
     final WallpaperDisplayHelper mWallpaperDisplayHelper;
     final WallpaperCropper mWallpaperCropper;
 
-    // TODO(b/384519749): Remove this set after we introduce the aspect ratio check.
-    private final Set<Integer> mWallpaperCompatibleDisplaysForTest = new ArraySet<>();
-
-    private boolean isWallpaperCompatibleForDisplay(int displayId, WallpaperConnection connection) {
+    @VisibleForTesting
+    boolean isWallpaperCompatibleForDisplay(int displayId, WallpaperConnection connection) {
         if (connection == null) {
             return false;
         }
@@ -757,26 +753,14 @@
 
         // Image wallpaper
         if (isDeviceEligibleForDesktopExperienceWallpaper(mContext)) {
-            // TODO(b/384519749): check display's resolution and image wallpaper cropped image
-            //  aspect ratio.
-            return displayId == DEFAULT_DISPLAY
-                    || mWallpaperCompatibleDisplaysForTest.contains(displayId);
+            return mWallpaperCropper.isWallpaperCompatibleForDisplay(displayId,
+                    connection.mWallpaper);
         }
         // When enableConnectedDisplaysWallpaper is off, we assume the image wallpaper supports all
         // usable displays.
         return true;
     }
 
-    @VisibleForTesting
-    void addWallpaperCompatibleDisplayForTest(int displayId) {
-        mWallpaperCompatibleDisplaysForTest.add(displayId);
-    }
-
-    @VisibleForTesting
-    void removeWallpaperCompatibleDisplayForTest(int displayId) {
-        mWallpaperCompatibleDisplaysForTest.remove(displayId);
-    }
-
     private void updateFallbackConnection(int clientUid) {
         if (mLastWallpaper == null || mFallbackWallpaper == null) return;
         final WallpaperConnection systemConnection = mLastWallpaper.connection;
@@ -844,7 +828,7 @@
                     // `which` flag.
                     DisplayConnector fallbackConnector =
                             mFallbackWallpaper.connection.getDisplayConnectorOrCreate(displayId);
-                    if (fallbackConnector != null && fallbackConnector.mEngine != null) {
+                    if (fallbackConnector != null) {
                         fallbackConnector.mWhich = which;
                         fallbackConnector.connectLocked(mFallbackWallpaper.connection,
                                 mFallbackWallpaper);
diff --git a/services/core/java/com/android/server/wm/AppCompatAspectRatioPolicy.java b/services/core/java/com/android/server/wm/AppCompatAspectRatioPolicy.java
index 15c0789..3535a96 100644
--- a/services/core/java/com/android/server/wm/AppCompatAspectRatioPolicy.java
+++ b/services/core/java/com/android/server/wm/AppCompatAspectRatioPolicy.java
@@ -36,8 +36,7 @@
 import android.content.pm.ActivityInfo;
 import android.content.res.Configuration;
 import android.graphics.Rect;
-
-import com.android.window.flags.Flags;
+import android.window.DesktopModeFlags;
 
 /**
  * Encapsulate app compat policy logic related to aspect ratio.
@@ -298,7 +297,8 @@
                 // Camera compat mode is an exception to this, where the activity is letterboxed
                 // to an aspect ratio commonly found on phones, e.g. 16:9, to avoid issues like
                 // stretching of the camera preview.
-                || (Flags.ignoreAspectRatioRestrictionsForResizeableFreeformActivities()
+                || (DesktopModeFlags
+                    .IGNORE_ASPECT_RATIO_RESTRICTIONS_FOR_RESIZEABLE_FREEFORM_ACTIVITIES.isTrue()
                     && task.getWindowingMode() == WINDOWING_MODE_FREEFORM
                     && !mActivityRecord.shouldCreateAppCompatDisplayInsets()
                     && !AppCompatCameraPolicy.shouldCameraCompatControlAspectRatio(
diff --git a/services/core/java/com/android/server/wm/AppCompatCameraOverrides.java b/services/core/java/com/android/server/wm/AppCompatCameraOverrides.java
index 47d30c9..5eed5470 100644
--- a/services/core/java/com/android/server/wm/AppCompatCameraOverrides.java
+++ b/services/core/java/com/android/server/wm/AppCompatCameraOverrides.java
@@ -23,6 +23,7 @@
 import static android.content.pm.ActivityInfo.OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA;
 import static android.content.pm.ActivityInfo.OVERRIDE_ORIENTATION_ONLY_FOR_CAMERA;
 import static android.view.WindowManager.PROPERTY_CAMERA_COMPAT_ALLOW_FORCE_ROTATION;
+import static android.view.WindowManager.PROPERTY_CAMERA_COMPAT_ALLOW_SIMULATE_REQUESTED_ORIENTATION;
 import static android.view.WindowManager.PROPERTY_CAMERA_COMPAT_ALLOW_REFRESH;
 import static android.view.WindowManager.PROPERTY_CAMERA_COMPAT_ENABLE_REFRESH_VIA_PAUSE;
 import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_MIN_ASPECT_RATIO_OVERRIDE;
@@ -32,6 +33,7 @@
 import static com.android.server.wm.AppCompatUtils.isChangeEnabled;
 
 import android.annotation.NonNull;
+import android.annotation.Nullable;
 
 import com.android.server.wm.utils.OptPropFactory;
 import com.android.window.flags.Flags;
@@ -60,6 +62,8 @@
     private final OptPropFactory.OptProp mCameraCompatEnableRefreshViaPauseOptProp;
     @NonNull
     private final OptPropFactory.OptProp mCameraCompatAllowForceRotationOptProp;
+    @Nullable
+    private final OptPropFactory.OptProp mCameraCompatAllowOrientationTreatmentOptProp;
 
     AppCompatCameraOverrides(@NonNull ActivityRecord activityRecord,
             @NonNull AppCompatConfiguration appCompatConfiguration,
@@ -80,6 +84,10 @@
         mCameraCompatAllowForceRotationOptProp = optPropBuilder.create(
                 PROPERTY_CAMERA_COMPAT_ALLOW_FORCE_ROTATION,
                 isCameraCompatTreatmentEnabled);
+        mCameraCompatAllowOrientationTreatmentOptProp =
+                Flags.enableCameraCompatForDesktopWindowingOptOut() ? optPropBuilder.create(
+                PROPERTY_CAMERA_COMPAT_ALLOW_SIMULATE_REQUESTED_ORIENTATION,
+                isCameraCompatTreatmentEnabled) : null;
     }
 
     /**
@@ -168,10 +176,31 @@
      * </ul>
      */
     boolean shouldApplyFreeformTreatmentForCameraCompat() {
-        return Flags.enableCameraCompatForDesktopWindowing() && (isChangeEnabled(mActivityRecord,
-                OVERRIDE_CAMERA_COMPAT_ENABLE_FREEFORM_WINDOWING_TREATMENT)
-                || mActivityRecord.mWmService.mAppCompatConfiguration
-                    .isCameraCompatFreeformWindowingTreatmentEnabled());
+        return Flags.enableCameraCompatForDesktopWindowing()
+                && (shouldEnableCameraCompatFreeformTreatmentForApp()
+                || shouldEnableCameraCompatFreeformTreatmentForAllApps());
+    }
+
+    private boolean shouldEnableCameraCompatFreeformTreatmentForApp() {
+        if (mCameraCompatAllowOrientationTreatmentOptProp != null) {
+            return mCameraCompatAllowOrientationTreatmentOptProp
+                    .shouldEnableWithOptOutOverrideAndProperty(isChangeEnabled(mActivityRecord,
+                            OVERRIDE_CAMERA_COMPAT_ENABLE_FREEFORM_WINDOWING_TREATMENT));
+        } else {
+            return isChangeEnabled(mActivityRecord,
+                    OVERRIDE_CAMERA_COMPAT_ENABLE_FREEFORM_WINDOWING_TREATMENT);
+        }
+    }
+
+    /**
+     * Returns whether camera compat treatment should be enabled for all apps targeted for treatment
+     * (usually fixed-orientation apps).
+     *
+     * <p>This can be enabled via adb only.
+     */
+    private boolean shouldEnableCameraCompatFreeformTreatmentForAllApps() {
+        return mActivityRecord.mWmService.mAppCompatConfiguration
+                .isCameraCompatFreeformWindowingTreatmentEnabled();
     }
 
     boolean isOverrideOrientationOnlyForCameraEnabled() {
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index 9353ced..214a3a1 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -831,20 +831,27 @@
             return false;
         }
 
-        // When switching the app task, we keep the IME window visibility for better
-        // transitioning experiences.
-        // However, in case IME created a child window or the IME selection dialog without
-        // dismissing during the task switching to keep the window focus because IME window has
-        // higher window hierarchy, we don't give it focus if the next IME layering target
-        // doesn't request IME visible.
-        if (w.mIsImWindow && w.isChildWindow() && (mImeLayeringTarget == null
-                || !mImeLayeringTarget.isRequestedVisible(ime()))) {
-            return false;
-        }
-        if (w.mAttrs.type == TYPE_INPUT_METHOD_DIALOG && mImeLayeringTarget != null
-                && !(mImeLayeringTarget.isRequestedVisible(ime())
-                        && mImeLayeringTarget.isVisibleRequested())) {
-            return false;
+        // IME windows remain visibleRequested while switching apps to maintain a smooth animation.
+        // This persists until the new app is focused, so they can be visibleRequested despite not
+        // being visible to the user (i.e. occluded). These rank higher in the window hierarchy than
+        // app windows, so they will always be considered first. To avoid having the focus stuck,
+        // an IME window (child or not) cannot be focused if the IME parent is not visible. However,
+        // child windows also require the IME to be visible in the current app.
+        if (w.mIsImWindow) {
+            final boolean imeParentVisible = mInputMethodSurfaceParentWindow != null
+                    && mInputMethodSurfaceParentWindow.isVisibleRequested();
+            if (!imeParentVisible) {
+                ProtoLog.v(WM_DEBUG_FOCUS, "findFocusedWindow: IME window not focusable as"
+                        + " IME parent is not visible");
+                return false;
+            }
+
+            if (w.isChildWindow()
+                    && !getInsetsStateController().getImeSourceProvider().isImeShowing()) {
+                ProtoLog.v(WM_DEBUG_FOCUS, "findFocusedWindow: IME child window not focusable as"
+                        + " IME is not visible");
+                return false;
+            }
         }
 
         final ActivityRecord activity = w.mActivityRecord;
diff --git a/services/core/java/com/android/server/wm/InsetsPolicy.java b/services/core/java/com/android/server/wm/InsetsPolicy.java
index b4d55a1..5c6695f 100644
--- a/services/core/java/com/android/server/wm/InsetsPolicy.java
+++ b/services/core/java/com/android/server/wm/InsetsPolicy.java
@@ -113,25 +113,33 @@
             abortTransient();
         }
         mFocusedWin = focusedWin;
+        final @InsetsType int[] requestedVisibleTypes =
+                {focusedWin != null ? focusedWin.getRequestedVisibleTypes() : 0};
         final WindowState notificationShade = mPolicy.getNotificationShade();
         final WindowState topApp = mPolicy.getTopFullscreenOpaqueWindow();
         final InsetsControlTarget statusControlTarget =
-                getStatusControlTarget(focusedWin, false /* fake */);
+                getStatusControlTarget(focusedWin, false /* fake */, requestedVisibleTypes);
         mFakeStatusControlTarget = statusControlTarget == mTransientControlTarget
-                ? getStatusControlTarget(focusedWin, true /* fake */)
+                ? getStatusControlTarget(focusedWin, true /* fake */, requestedVisibleTypes)
                 : statusControlTarget == notificationShade
-                        ? getStatusControlTarget(topApp, true /* fake */)
+                        ? getStatusControlTarget(topApp, true /* fake */, requestedVisibleTypes)
                         : null;
         final InsetsControlTarget navControlTarget =
-                getNavControlTarget(focusedWin, false /* fake */);
+                getNavControlTarget(focusedWin, false /* fake */, requestedVisibleTypes);
         mFakeNavControlTarget = navControlTarget == mTransientControlTarget
-                ? getNavControlTarget(focusedWin, true /* fake */)
+                ? getNavControlTarget(focusedWin, true /* fake */, requestedVisibleTypes)
                 : navControlTarget == notificationShade
-                        ? getNavControlTarget(topApp, true /* fake */)
+                        ? getNavControlTarget(topApp, true /* fake */, requestedVisibleTypes)
                         : null;
         mStateController.onBarControlTargetChanged(
                 statusControlTarget, mFakeStatusControlTarget,
                 navControlTarget, mFakeNavControlTarget);
+
+        if (statusControlTarget == mDisplayContent.mRemoteInsetsControlTarget
+                && navControlTarget == mDisplayContent.mRemoteInsetsControlTarget) {
+            notifyRemoteInsetsController(focusedWin, requestedVisibleTypes[0]);
+        }
+
         mStatusBar.updateVisibility(statusControlTarget, Type.statusBars());
         mNavBar.updateVisibility(navControlTarget, Type.navigationBars());
     }
@@ -182,12 +190,12 @@
 
     @VisibleForTesting
     InsetsControlTarget getTransientControlTarget() {
-        return  mTransientControlTarget;
+        return mTransientControlTarget;
     }
 
     @VisibleForTesting
     InsetsControlTarget getPermanentControlTarget() {
-        return  mPermanentControlTarget;
+        return mPermanentControlTarget;
     }
 
     void hideTransient() {
@@ -259,7 +267,7 @@
      * modes.
      *
      * @param target the target on which the policy is applied
-     * @param state the input inset state containing all the sources
+     * @param state  the input inset state containing all the sources
      * @return The state stripped of the necessary information.
      */
     InsetsState enforceInsetsPolicyForTarget(WindowState target, InsetsState state) {
@@ -461,7 +469,7 @@
                 mStateController.getFakeControllingTypes(caller);
         final @InsetsType int abortTypes =
                 (fakeControllingTypes & caller.getRequestedVisibleTypes())
-                | (isImeVisible ? Type.navigationBars() : 0);
+                        | (isImeVisible ? Type.navigationBars() : 0);
         mShowingTransientTypes &= ~abortTypes;
         if (abortTypes != 0) {
             mDisplayContent.setLayoutNeeded();
@@ -496,6 +504,18 @@
     }
 
     private @Nullable InsetsControlTarget getStatusControlTarget(@Nullable WindowState focusedWin,
+            boolean fake, @InsetsType int[] requestedVisibleTypes) {
+        final InsetsControlTarget target = getStatusControlTargetInner(focusedWin, fake);
+        if (remoteInsetsControllerControlsSystemBars(target)) {
+            requestedVisibleTypes[0] = (requestedVisibleTypes[0] & ~Type.statusBars()) | (
+                    target.getRequestedVisibleTypes() & Type.statusBars());
+            return mDisplayContent.mRemoteInsetsControlTarget;
+        }
+        return target;
+    }
+
+    private @Nullable InsetsControlTarget getStatusControlTargetInner(
+            @Nullable WindowState focusedWin,
             boolean fake) {
         if (!fake && isTransient(Type.statusBars())) {
             return mTransientControlTarget;
@@ -521,17 +541,7 @@
                 && (notificationShade == null || !notificationShade.canReceiveKeys())) {
             // Non-fullscreen focused window should not break the state that the top-fullscreen-app
             // window hides status bar, unless the notification shade can receive keys.
-            if (remoteInsetsControllerControlsSystemBars(
-                    mPolicy.getTopFullscreenOpaqueWindow())) {
-                notifyRemoteInsetsController(mPolicy.getTopFullscreenOpaqueWindow());
-                return mDisplayContent.mRemoteInsetsControlTarget;
-            } else {
-                return mPolicy.getTopFullscreenOpaqueWindow();
-            }
-        }
-        if (remoteInsetsControllerControlsSystemBars(focusedWin)) {
-            notifyRemoteInsetsController(focusedWin);
-            return mDisplayContent.mRemoteInsetsControlTarget;
+            return mPolicy.getTopFullscreenOpaqueWindow();
         }
         return focusedWin;
     }
@@ -547,6 +557,17 @@
     }
 
     private @Nullable InsetsControlTarget getNavControlTarget(@Nullable WindowState focusedWin,
+            boolean fake, @InsetsType int[] requestedVisibleTypes) {
+        final InsetsControlTarget target = getNavControlTargetInner(focusedWin, fake);
+        if (remoteInsetsControllerControlsSystemBars(target)) {
+            requestedVisibleTypes[0] = (requestedVisibleTypes[0] & ~Type.navigationBars()) | (
+                    target.getRequestedVisibleTypes() & Type.navigationBars());
+            return mDisplayContent.mRemoteInsetsControlTarget;
+        }
+        return target;
+    }
+
+    private @Nullable InsetsControlTarget getNavControlTargetInner(@Nullable WindowState focusedWin,
             boolean fake) {
         final WindowState imeWin = mDisplayContent.mInputMethodWindow;
         if (imeWin != null && imeWin.isVisible() && !mHideNavBarForKeyboard) {
@@ -585,29 +606,21 @@
                 && (notificationShade == null || !notificationShade.canReceiveKeys())) {
             // Non-fullscreen focused window should not break the state that the top-fullscreen-app
             // window hides navigation bar, unless the notification shade can receive keys.
-            if (remoteInsetsControllerControlsSystemBars(
-                    mPolicy.getTopFullscreenOpaqueWindow())) {
-                notifyRemoteInsetsController(mPolicy.getTopFullscreenOpaqueWindow());
-                return mDisplayContent.mRemoteInsetsControlTarget;
-            } else {
-                return mPolicy.getTopFullscreenOpaqueWindow();
-            }
-        }
-        if (remoteInsetsControllerControlsSystemBars(focusedWin)) {
-            notifyRemoteInsetsController(focusedWin);
-            return mDisplayContent.mRemoteInsetsControlTarget;
+            return mPolicy.getTopFullscreenOpaqueWindow();
         }
         return focusedWin;
     }
 
-    private void notifyRemoteInsetsController(@Nullable WindowState win) {
+    private void notifyRemoteInsetsController(@Nullable WindowState win,
+            @InsetsType int requestVisibleTypes) {
         if (win == null) {
             return;
         }
         ComponentName component = win.mActivityRecord != null
                 ? win.mActivityRecord.mActivityComponent : null;
+
         mDisplayContent.mRemoteInsetsControlTarget.topFocusedWindowChanged(
-                component, win.getRequestedVisibleTypes());
+                component, requestVisibleTypes);
     }
 
     boolean areTypesForciblyShowing(@InsetsType int types) {
@@ -645,8 +658,8 @@
      * Determines whether the remote insets controller should take control of system bars for all
      * windows.
      */
-    boolean remoteInsetsControllerControlsSystemBars(@Nullable WindowState focusedWin) {
-        if (focusedWin == null) {
+    boolean remoteInsetsControllerControlsSystemBars(@Nullable InsetsControlTarget target) {
+        if (!(target instanceof WindowState win)) {
             return false;
         }
 
@@ -660,8 +673,8 @@
         // If necessary, auto can control application windows when
         // config_remoteInsetsControllerControlsSystemBars is set to true. This is useful in cases
         // where we want to dictate system bar inset state for applications.
-        return focusedWin.getAttrs().type >= WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW
-                && focusedWin.getAttrs().type <= WindowManager.LayoutParams.LAST_APPLICATION_WINDOW;
+        return win.getAttrs().type >= WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW
+                && win.getAttrs().type <= WindowManager.LayoutParams.LAST_APPLICATION_WINDOW;
     }
 
     private void dispatchTransientSystemBarsVisibilityChanged(
@@ -708,7 +721,7 @@
     private class BarWindow {
 
         private final int mId;
-        private  @StatusBarManager.WindowVisibleState int mState =
+        private @StatusBarManager.WindowVisibleState int mState =
                 StatusBarManager.WINDOW_STATE_SHOWING;
 
         BarWindow(int id) {
@@ -790,11 +803,13 @@
         }
 
         @Override
-        public void notifyInsetsChanged() { }
+        public void notifyInsetsChanged() {
+        }
 
         @Override
         public void dispatchWindowInsetsAnimationPrepare(
-                @NonNull WindowInsetsAnimation animation) { }
+                @NonNull WindowInsetsAnimation animation) {
+        }
 
         @Override
         public Bounds dispatchWindowInsetsAnimationStart(
@@ -812,7 +827,8 @@
 
         @Override
         public void dispatchWindowInsetsAnimationEnd(
-                @NonNull WindowInsetsAnimation animation) { }
+                @NonNull WindowInsetsAnimation animation) {
+        }
 
         @Override
         public void applySurfaceParams(SyncRtSurfaceTransactionApplier.SurfaceParams... p) {
@@ -834,7 +850,8 @@
         }
 
         @Override
-        public void setSystemBarsAppearance(int appearance, int mask) { }
+        public void setSystemBarsAppearance(int appearance, int mask) {
+        }
 
         @Override
         public int getSystemBarsAppearance() {
@@ -842,7 +859,8 @@
         }
 
         @Override
-        public void setSystemBarsBehavior(int behavior) { }
+        public void setSystemBarsBehavior(int behavior) {
+        }
 
         @Override
         public int getSystemBarsBehavior() {
@@ -855,10 +873,12 @@
         }
 
         @Override
-        public void addOnPreDrawRunnable(Runnable r) { }
+        public void addOnPreDrawRunnable(Runnable r) {
+        }
 
         @Override
-        public void postInsetsAnimationCallback(Runnable r) { }
+        public void postInsetsAnimationCallback(Runnable r) {
+        }
 
         @Override
         public InputMethodManager getInputMethodManager() {
diff --git a/services/core/java/com/android/server/wm/TaskFragment.java b/services/core/java/com/android/server/wm/TaskFragment.java
index 9d18d6c..80095b3 100644
--- a/services/core/java/com/android/server/wm/TaskFragment.java
+++ b/services/core/java/com/android/server/wm/TaskFragment.java
@@ -1889,10 +1889,12 @@
             // Even if the transient activity is occluded, defer pausing (addToStopping will still
             // be called) it until the transient transition is done. So the current resuming
             // activity won't need to wait for additional pause complete.
+            ProtoLog.d(WM_DEBUG_STATES, "startPausing: Skipping pause for transient "
+                            + "resumed activity=%s", mResumedActivity);
             return false;
         }
 
-        ProtoLog.d(WM_DEBUG_STATES, "startPausing: taskFrag =%s " + "mResumedActivity=%s", this,
+        ProtoLog.d(WM_DEBUG_STATES, "startPausing: taskFrag=%s mResumedActivity=%s", this,
                 mResumedActivity);
 
         if (mPausingActivity != null) {
diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java
index 5217a75..fd7d96a 100644
--- a/services/core/java/com/android/server/wm/Transition.java
+++ b/services/core/java/com/android/server/wm/Transition.java
@@ -1640,6 +1640,12 @@
                     mSyncEngine.setSyncMethod(syncId, BLASTSyncEngine.METHOD_BLAST);
                 }
                 mSyncEngine.addToSyncSet(syncId, target);
+            } else {
+                // If there is an existing sync group for the commit-at-end activity,
+                // enforce BLAST sync method for its windows, before resuming config dispatch.
+                target.forAllWindows(windowState -> {
+                    windowState.mSyncMethodOverride = BLASTSyncEngine.METHOD_BLAST;
+                }, true /* traverseTopToBottom */);
             }
             // Reset surface state here (since it was skipped in buildFinishTransaction). Since
             // we are resuming config to the "current" state, we have to calculate the matching
@@ -2026,23 +2032,18 @@
         if (mOverrideOptions == null) {
             return;
         }
-
-        if (!Flags.moveAnimationOptionsToChange()) {
-            info.setAnimationOptions(mOverrideOptions);
-        } else {
-            final List<TransitionInfo.Change> changes = info.getChanges();
-            for (int i = changes.size() - 1; i >= 0; --i) {
-                final WindowContainer<?> container = mTargets.get(i).mContainer;
-                if (container.asActivityRecord() != null
-                        || shouldApplyAnimOptionsToTask(container.asTask())) {
-                    changes.get(i).setAnimationOptions(mOverrideOptions);
-                    // TODO(b/295805497): Extract mBackgroundColor from AnimationOptions.
-                    changes.get(i).setBackgroundColor(mOverrideOptions.getBackgroundColor());
-                } else if (shouldApplyAnimOptionsToEmbeddedTf(container.asTaskFragment())) {
-                    // We only override AnimationOptions because backgroundColor should be from
-                    // TaskFragmentAnimationParams.
-                    changes.get(i).setAnimationOptions(mOverrideOptions);
-                }
+        final List<TransitionInfo.Change> changes = info.getChanges();
+        for (int i = changes.size() - 1; i >= 0; --i) {
+            final WindowContainer<?> container = mTargets.get(i).mContainer;
+            if (container.asActivityRecord() != null
+                    || shouldApplyAnimOptionsToTask(container.asTask())) {
+                changes.get(i).setAnimationOptions(mOverrideOptions);
+                // TODO(b/295805497): Extract mBackgroundColor from AnimationOptions.
+                changes.get(i).setBackgroundColor(mOverrideOptions.getBackgroundColor());
+            } else if (shouldApplyAnimOptionsToEmbeddedTf(container.asTaskFragment())) {
+                // We only override AnimationOptions because backgroundColor should be from
+                // TaskFragmentAnimationParams.
+                changes.get(i).setAnimationOptions(mOverrideOptions);
             }
         }
         updateActivityTargetForCrossProfileAnimation(info);
@@ -2933,9 +2934,6 @@
 
         final AnimationOptions animOptionsForActivityTransition =
                 calculateAnimationOptionsForActivityTransition(type, sortedTargets);
-        if (!Flags.moveAnimationOptionsToChange() && animOptionsForActivityTransition != null) {
-            out.setAnimationOptions(animOptionsForActivityTransition);
-        }
 
         final ArraySet<WindowContainer> occludedAtEndContainers = new ArraySet<>();
         // Convert all the resolved ChangeInfos into TransactionInfo.Change objects in order.
@@ -3059,27 +3057,25 @@
             }
 
             AnimationOptions animOptions = null;
-            if (Flags.moveAnimationOptionsToChange()) {
-                if (activityRecord != null && animOptionsForActivityTransition != null) {
-                    animOptions = animOptionsForActivityTransition;
-                } else if (Flags.activityEmbeddingOverlayPresentationFlag()
-                        && isEmbeddedTaskFragment) {
-                    final TaskFragmentAnimationParams params = taskFragment.getAnimationParams();
-                    if (params.hasOverrideAnimation()) {
-                        // Only set AnimationOptions if there's any animation override.
-                        // We use separated field for backgroundColor, and
-                        // AnimationOptions#backgroundColor will be removed in long term.
-                        animOptions = AnimationOptions.makeCustomAnimOptions(
-                                taskFragment.getTask().getBasePackageName(),
-                                params.getOpenAnimationResId(), params.getChangeAnimationResId(),
-                                params.getCloseAnimationResId(), 0 /* backgroundColor */,
-                                false /* overrideTaskTransition */);
-                        animOptions.setUserId(taskFragment.getTask().mUserId);
-                    }
+            if (activityRecord != null && animOptionsForActivityTransition != null) {
+                animOptions = animOptionsForActivityTransition;
+            } else if (Flags.activityEmbeddingOverlayPresentationFlag()
+                    && isEmbeddedTaskFragment) {
+                final TaskFragmentAnimationParams params = taskFragment.getAnimationParams();
+                if (params.hasOverrideAnimation()) {
+                    // Only set AnimationOptions if there's any animation override.
+                    // We use separated field for backgroundColor, and
+                    // AnimationOptions#backgroundColor will be removed in long term.
+                    animOptions = AnimationOptions.makeCustomAnimOptions(
+                            taskFragment.getTask().getBasePackageName(),
+                            params.getOpenAnimationResId(), params.getChangeAnimationResId(),
+                            params.getCloseAnimationResId(), 0 /* backgroundColor */,
+                            false /* overrideTaskTransition */);
+                    animOptions.setUserId(taskFragment.getTask().mUserId);
                 }
-                if (animOptions != null) {
-                    change.setAnimationOptions(animOptions);
-                }
+            }
+            if (animOptions != null) {
+                change.setAnimationOptions(animOptions);
             }
 
             if (activityRecord != null) {
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java
index 5b7e7f1..e3b9fdb 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyEngine.java
@@ -1454,11 +1454,12 @@
             }
 
             for (int i = 0; i < mLocalPolicies.size(); i++) {
-                Set<PolicyKey> localPolicies = new HashSet<>(
-                        mLocalPolicies.get(mLocalPolicies.keyAt(i)).keySet());
+                // New users are potentially added to mLocalPolicies during the loop body
+                // (see b/374511959).
+                int userId = mLocalPolicies.keyAt(i);
+                Set<PolicyKey> localPolicies = new HashSet<>(mLocalPolicies.get(userId).keySet());
                 for (PolicyKey policy : localPolicies) {
-                    PolicyState<?> policyState = mLocalPolicies.get(
-                            mLocalPolicies.keyAt(i)).get(policy);
+                    PolicyState<?> policyState = mLocalPolicies.get(userId).get(policy);
                     if (policyState.getPoliciesSetByAdmins().containsKey(admin)) {
                         removeLocalPolicy(
                                 policyState.getPolicyDefinition(), admin, mLocalPolicies.keyAt(i));
diff --git a/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/AndroidManifest.xml b/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/AndroidManifest.xml
index 4552326..79dd129 100644
--- a/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/AndroidManifest.xml
+++ b/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/AndroidManifest.xml
@@ -16,7 +16,7 @@
   -->
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          package="com.android.inputmethod.imetests">
+          package="com.android.inputmethodservice">
 
     <!-- Permissions required for granting and logging -->
     <uses-permission android:name="android.permission.LOG_COMPAT_CHANGE"/>
@@ -33,7 +33,7 @@
     </application>
 
     <!-- The "targetPackage" reference the instruments APK package, which is the SimpleTestIme.apk,
-    while the test package is "com.android.inputmethod.imetests" (FrameworksImeTests.apk).-->
+    while the test package is "com.android.inputmethodservice" (FrameworksImeTests.apk).-->
     <instrumentation
         android:name="androidx.test.runner.AndroidJUnitRunner"
         android:targetPackage="com.android.apps.inputmethod.simpleime"
diff --git a/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/AndroidTest.xml b/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/AndroidTest.xml
index 8e6954b..5fe5b23 100644
--- a/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/AndroidTest.xml
+++ b/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/AndroidTest.xml
@@ -34,14 +34,15 @@
     <option name="test-tag" value="FrameworksImeTests" />
 
     <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
-        <option name="package" value="com.android.inputmethod.imetests" />
+        <option name="package" value="com.android.inputmethodservice" />
         <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
         <option name="hidden-api-checks" value="false"/>
     </test>
 
-    <!-- Collect the files in the dump directory for debugging -->
+    <!-- Collect output of DumpOnFailure -->
     <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector">
-        <option name="directory-keys" value="/sdcard/FrameworksImeTests/" />
+        <option name="directory-keys" value="/data/user/0/com.android.apps.inputmethod.simpleime/files" />
         <option name="collect-on-run-ended-only" value="true" />
+        <option name="clean-up" value="true" />
     </metrics_collector>
 </configuration>
diff --git a/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/InputMethodServiceTest.java b/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/InputMethodServiceTest.java
index 8564666..6e16d29 100644
--- a/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/InputMethodServiceTest.java
+++ b/services/tests/InputMethodSystemServerTests/src/com/android/inputmethodservice/InputMethodServiceTest.java
@@ -43,6 +43,7 @@
 import android.platform.test.annotations.RequiresFlagsEnabled;
 import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 import android.provider.Settings;
+import android.server.wm.DumpOnFailure;
 import android.server.wm.WindowManagerStateHelper;
 import android.util.Log;
 import android.view.View;
@@ -123,6 +124,9 @@
     @Rule
     public final TestName mName = new TestName();
 
+    @Rule
+    public final DumpOnFailure mDumpOnFailure = new DumpOnFailure();
+
     private Instrumentation mInstrumentation;
     private UiDevice mUiDevice;
     private InputMethodManager mImm;
@@ -267,8 +271,8 @@
 
         final var window = mInputMethodService.getWindow().getWindow();
         assertWithMessage("IME window exists").that(window).isNotNull();
-        assertWithMessage("IME window showing").that(
-                window.getDecorView().getVisibility()).isEqualTo(View.VISIBLE);
+        eventually(() -> assertWithMessage("IME window showing").that(
+                window.getDecorView().getVisibility()).isEqualTo(View.VISIBLE));
 
         mActivity.getWindow().getDecorView().setWindowInsetsAnimationCallback(
                 new WindowInsetsAnimation.Callback(
@@ -1284,8 +1288,13 @@
 
     @NonNull
     private UiObject2 getUiObject(@NonNull BySelector bySelector) {
+        final var preScreenshot = mInstrumentation.getUiAutomation().takeScreenshot();
+        mDumpOnFailure.dumpOnFailure("pre-getUiObject", preScreenshot);
         final var uiObject = mUiDevice.wait(Until.findObject(bySelector), TIMEOUT_MS);
-        assertWithMessage("UiObject with " + bySelector + " was found").that(uiObject).isNotNull();
+        mInstrumentation.waitForIdleSync();
+        final var postScreenshot = mInstrumentation.getUiAutomation().takeScreenshot();
+        mDumpOnFailure.dumpOnFailure("post-getUiObject", postScreenshot);
+        assertWithMessage("UiObject with " + bySelector + " was found").that(uiObject).isNull();
         return uiObject;
     }
 
diff --git a/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/ClientControllerTest.java b/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/ClientControllerTest.java
index 9e3d9ec..d98a0d1 100644
--- a/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/ClientControllerTest.java
+++ b/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/ClientControllerTest.java
@@ -28,6 +28,7 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.annotation.NonNull;
 import android.content.pm.PackageManagerInternal;
 import android.os.Handler;
 import android.os.IBinder;
@@ -55,8 +56,7 @@
     private static final String SOME_PACKAGE_NAME = "some.package";
 
     @Rule
-    public final RavenwoodRule mRavenwood = new RavenwoodRule.Builder()
-            .setProvideMainThread(true).build();
+    public final RavenwoodRule mRavenwood = new RavenwoodRule();
 
     @Mock
     private PackageManagerInternal mMockPackageManagerInternal;
@@ -65,7 +65,7 @@
     private IInputMethodClient mClient;
 
     @Mock
-    private IRemoteInputConnection mConnection;
+    private IRemoteInputConnection mFallbackConnection;
 
     private Handler mHandler;
 
@@ -81,23 +81,25 @@
     }
 
     // TODO(b/322895594): No need to directly invoke create$ravenwood once b/322895594 is fixed.
-    private IInputMethodClientInvoker createInvoker(IInputMethodClient client, Handler handler) {
+    @NonNull
+    private IInputMethodClientInvoker createInvoker(@NonNull IInputMethodClient client,
+            @NonNull Handler handler) {
         return RavenwoodRule.isOnRavenwood()
-                ? IInputMethodClientInvoker.create$ravenwood(client, handler) :
-                IInputMethodClientInvoker.create(client, handler);
+                ? IInputMethodClientInvoker.create$ravenwood(client, handler)
+                : IInputMethodClientInvoker.create(client, handler);
     }
 
     @Test
     public void testAddClient_cannotAddTheSameClientTwice() {
         final var invoker = createInvoker(mClient, mHandler);
         synchronized (ImfLock.class) {
-            mController.addClient(invoker, mConnection, ANY_DISPLAY_ID, ANY_CALLER_UID,
+            mController.addClient(invoker, mFallbackConnection, ANY_DISPLAY_ID, ANY_CALLER_UID,
                     ANY_CALLER_PID);
 
             SecurityException thrown = assertThrows(SecurityException.class,
                     () -> {
                         synchronized (ImfLock.class) {
-                            mController.addClient(invoker, mConnection, ANY_DISPLAY_ID,
+                            mController.addClient(invoker, mFallbackConnection, ANY_DISPLAY_ID,
                                     ANY_CALLER_UID, ANY_CALLER_PID);
                         }
                     });
@@ -111,9 +113,8 @@
     public void testAddClient() throws Exception {
         final var invoker = createInvoker(mClient, mHandler);
         synchronized (ImfLock.class) {
-            final var added = mController.addClient(invoker, mConnection, ANY_DISPLAY_ID,
-                    ANY_CALLER_UID,
-                    ANY_CALLER_PID);
+            final var added = mController.addClient(invoker, mFallbackConnection, ANY_DISPLAY_ID,
+                    ANY_CALLER_UID, ANY_CALLER_PID);
 
             verify(invoker.asBinder()).linkToDeath(any(IBinder.DeathRecipient.class), eq(0));
             assertThat(mController.getClient(invoker.asBinder())).isSameInstanceAs(added);
@@ -127,8 +128,8 @@
         ClientState added;
         synchronized (ImfLock.class) {
             mController.addClientControllerCallback(callback);
-            added = mController.addClient(invoker, mConnection, ANY_DISPLAY_ID, ANY_CALLER_UID,
-                    ANY_CALLER_PID);
+            added = mController.addClient(invoker, mFallbackConnection, ANY_DISPLAY_ID,
+                    ANY_CALLER_UID, ANY_CALLER_PID);
             assertThat(mController.getClient(invoker.asBinder())).isSameInstanceAs(added);
             assertThat(mController.removeClient(mClient)).isTrue();
         }
@@ -141,14 +142,14 @@
     @Test
     public void testVerifyClientAndPackageMatch() {
         final var invoker = createInvoker(mClient, mHandler);
-        when(mMockPackageManagerInternal.isSameApp(eq(SOME_PACKAGE_NAME),  /* flags= */
-                anyLong(), eq(ANY_CALLER_UID), /* userId= */ anyInt())).thenReturn(true);
+        when(mMockPackageManagerInternal.isSameApp(eq(SOME_PACKAGE_NAME), anyLong() /* flags */,
+                eq(ANY_CALLER_UID), anyInt() /* userId */)).thenReturn(true);
 
         synchronized (ImfLock.class) {
-            mController.addClient(invoker, mConnection, ANY_DISPLAY_ID, ANY_CALLER_UID,
+            mController.addClient(invoker, mFallbackConnection, ANY_DISPLAY_ID, ANY_CALLER_UID,
                     ANY_CALLER_PID);
-            assertThat(
-                    mController.verifyClientAndPackageMatch(mClient, SOME_PACKAGE_NAME)).isTrue();
+            assertThat(mController.verifyClientAndPackageMatch(mClient, SOME_PACKAGE_NAME))
+                    .isTrue();
         }
     }
 
@@ -171,7 +172,7 @@
         private ClientState mRemoved;
 
         @Override
-        public void onClientRemoved(ClientState removed) {
+        public void onClientRemoved(@NonNull ClientState removed) {
             mRemoved = removed;
             mLatch.countDown();
         }
diff --git a/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/DefaultImeVisibilityApplierTest.java b/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/DefaultImeVisibilityApplierTest.java
index 3aeab09..05615f6 100644
--- a/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/DefaultImeVisibilityApplierTest.java
+++ b/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/DefaultImeVisibilityApplierTest.java
@@ -196,7 +196,7 @@
     @RequiresFlagsDisabled(Flags.FLAG_REFACTOR_INSETS_CONTROLLER)
     public void testApplyImeVisibility_hideImeFromTargetOnSecondaryDisplay() {
         // Init a IME target client on the secondary display to show IME.
-        mInputMethodManagerService.addClient(mMockInputMethodClient, mMockRemoteInputConnection,
+        mInputMethodManagerService.addClient(mMockInputMethodClient, mMockFallbackInputConnection,
                 10 /* selfReportedDisplayId */);
         synchronized (ImfLock.class) {
             setAttachedClientLocked(null);
@@ -283,7 +283,7 @@
                 softInputMode /* softInputMode */,
                 0 /* windowFlags */,
                 mEditorInfo /* editorInfo */,
-                mMockRemoteInputConnection /* inputConnection */,
+                mMockFallbackInputConnection /* fallbackInputConnection */,
                 mMockRemoteAccessibilityInputConnection /* remoteAccessibilityInputConnection */,
                 mTargetSdkVersion /* unverifiedTargetSdkVersion */,
                 mUserId /* userId */,
diff --git a/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/InputMethodManagerServiceTestBase.java b/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/InputMethodManagerServiceTestBase.java
index 6af4064..9ce86ca 100644
--- a/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/InputMethodManagerServiceTestBase.java
+++ b/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/InputMethodManagerServiceTestBase.java
@@ -116,7 +116,7 @@
     @Mock protected IInputMethodClient mMockInputMethodClient;
     @Mock protected IInputMethodSession mMockInputMethodSession;
     @Mock protected IBinder mWindowToken;
-    @Mock protected IRemoteInputConnection mMockRemoteInputConnection;
+    @Mock protected IRemoteInputConnection mMockFallbackInputConnection;
     @Mock protected IRemoteAccessibilityInputConnection mMockRemoteAccessibilityInputConnection;
     @Mock protected ImeOnBackInvokedDispatcher mMockImeOnBackInvokedDispatcher;
     @Mock protected IInputMethodManager.Stub mMockIInputMethodManager;
@@ -300,7 +300,8 @@
         lifecycle.onBootPhase(SystemService.PHASE_ACTIVITY_MANAGER_READY);
 
         // Call InputMethodManagerService#addClient() as a preparation to start interacting with it.
-        mInputMethodManagerService.addClient(mMockInputMethodClient, mMockRemoteInputConnection, 0);
+        mInputMethodManagerService.addClient(mMockInputMethodClient, mMockFallbackInputConnection,
+                0 /* selfReportedDisplayId */);
         createSessionForClient(mMockInputMethodClient);
     }
 
diff --git a/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/InputMethodManagerServiceWindowGainedFocusTest.java b/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/InputMethodManagerServiceWindowGainedFocusTest.java
index c958bd3..11abc94 100644
--- a/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/InputMethodManagerServiceWindowGainedFocusTest.java
+++ b/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/InputMethodManagerServiceWindowGainedFocusTest.java
@@ -316,7 +316,7 @@
                 softInputMode /* softInputMode */,
                 0 /* windowFlags */,
                 mEditorInfo /* editorInfo */,
-                mMockRemoteInputConnection /* inputConnection */,
+                mMockFallbackInputConnection /* fallbackInputConnection */,
                 mMockRemoteAccessibilityInputConnection /* remoteAccessibilityInputConnection */,
                 mTargetSdkVersion /* unverifiedTargetSdkVersion */,
                 mUserId /* userId */,
diff --git a/services/tests/mockingservicestests/res/xml/expectedUserWakeupList_1.xml b/services/tests/mockingservicestests/res/xml/expectedUserWakeupList_1.xml
new file mode 100644
index 0000000..21e6dab
--- /dev/null
+++ b/services/tests/mockingservicestests/res/xml/expectedUserWakeupList_1.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2025 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<users version="1">
+    <user user_id="10" />
+    <user user_id="11" />
+</users>
\ No newline at end of file
diff --git a/services/tests/mockingservicestests/res/xml/expectedUserWakeupList_2.xml b/services/tests/mockingservicestests/res/xml/expectedUserWakeupList_2.xml
new file mode 100644
index 0000000..d0b371f
--- /dev/null
+++ b/services/tests/mockingservicestests/res/xml/expectedUserWakeupList_2.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright 2025 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<users version="1">
+    <user user_id="10" />
+</users>
\ No newline at end of file
diff --git a/services/tests/mockingservicestests/src/com/android/server/alarm/UserWakeupStoreTest.java b/services/tests/mockingservicestests/src/com/android/server/alarm/UserWakeupStoreTest.java
index 72883e2..240284a 100644
--- a/services/tests/mockingservicestests/src/com/android/server/alarm/UserWakeupStoreTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/alarm/UserWakeupStoreTest.java
@@ -23,15 +23,21 @@
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
+import android.content.res.AssetManager;
+import android.content.res.XmlResourceParser;
 import android.os.Environment;
 import android.os.FileUtils;
 import android.os.SystemClock;
+import android.util.Xml;
 
 import androidx.test.platform.app.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
 
 import com.android.internal.os.BackgroundThread;
+import com.android.internal.util.XmlUtils;
+import com.android.modules.utils.TypedXmlPullParser;
 import com.android.modules.utils.testing.ExtendedMockitoRule;
 
 import org.junit.After;
@@ -40,8 +46,11 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mockito;
+import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.concurrent.ExecutorService;
@@ -55,6 +64,7 @@
     private static final File TEST_SYSTEM_DIR = new File(InstrumentationRegistry
             .getInstrumentation().getContext().getDataDir(), "alarmsTestDir");
     private static final File ROOT_DIR = new File(TEST_SYSTEM_DIR, UserWakeupStore.ROOT_DIR_NAME);
+    private static final String USERS_FILE_NAME = "usersWithAlarmClocks.xml";
     private ExecutorService mMockExecutorService = null;
     UserWakeupStore mUserWakeupStore;
 
@@ -105,7 +115,7 @@
         Collections.sort(userWakeups);
         assertEquals(userIds, userWakeups);
 
-        final File file = new File(ROOT_DIR , "usersWithAlarmClocks.xml");
+        final File file = new File(ROOT_DIR, USERS_FILE_NAME);
         assertTrue(file.exists());
     }
 
@@ -178,5 +188,47 @@
         assertTrue(mUserWakeupStore.getWakeupTimeForUser(USER_ID_2) - realtime
                 < 3 * BUFFER_TIME_MS + USER_START_TIME_DEVIATION_LIMIT_MS);
     }
-    //TODO: b/330264023 - Add tests for I/O in usersWithAlarmClocks.xml.
+
+    @Test
+    public void testWriteWakeups_xmlIsOrdered() {
+        mUserWakeupStore.addUserWakeup(USER_ID_1, TEST_TIMESTAMP - 19_000);
+        mUserWakeupStore.addUserWakeup(USER_ID_2, TEST_TIMESTAMP - 7_000);
+        assertFileContentsMatchExpectedXml("res/xml/expectedUserWakeupList_1.xml");
+    }
+
+    @Test
+    public void testWriteWakeups_containsOneEntryPerUser() {
+        mUserWakeupStore.addUserWakeup(USER_ID_1, TEST_TIMESTAMP - 19_000);
+        mUserWakeupStore.addUserWakeup(USER_ID_1, TEST_TIMESTAMP - 7_000);
+        assertFileContentsMatchExpectedXml("res/xml/expectedUserWakeupList_2.xml");
+    }
+
+    private static void assertFileContentsMatchExpectedXml(String expectedContentsFile) {
+        final File actual = new File(ROOT_DIR, USERS_FILE_NAME);
+        AssetManager assetManager =
+                InstrumentationRegistry.getInstrumentation().getContext().getAssets();
+        try (FileInputStream actualFis = new FileInputStream(actual)) {
+            final TypedXmlPullParser actualParser = Xml.resolvePullParser(actualFis);
+            final XmlResourceParser expectedParser = assetManager.openXmlResourceParser(
+                    expectedContentsFile);
+            for (XmlUtils.nextElement(expectedParser), XmlUtils.nextElement(actualParser);
+                    actualParser.getEventType() != XmlResourceParser.END_DOCUMENT
+                            && expectedParser.getEventType() != XmlResourceParser.END_DOCUMENT;
+                    XmlUtils.nextElement(actualParser), XmlUtils.nextElement(expectedParser)) {
+                assertEquals("Event types differ ", expectedParser.getEventType(),
+                        actualParser.getEventType());
+                for (int i = 0; i < expectedParser.getAttributeCount(); i++) {
+                    assertEquals("Attribute names differ at index " + i,
+                            expectedParser.getAttributeName(i), actualParser.getAttributeName(i));
+                    assertEquals("Attribute values differ at index " + i,
+                            expectedParser.getAttributeValue(i), actualParser.getAttributeValue(i));
+                }
+            }
+            // Ensure they are both at the end of document
+            assertEquals("One of the parsers has not reached the EOF",
+                    expectedParser.getEventType(), actualParser.getEventType());
+        } catch (IOException | XmlPullParserException e) {
+            fail(e.getLocalizedMessage());
+        }
+    }
 }
diff --git a/services/tests/mockingservicestests/src/com/android/server/crashrecovery/AndroidTest.xml b/services/tests/mockingservicestests/src/com/android/server/crashrecovery/AndroidTest.xml
index 7b06ebe..5043c47 100644
--- a/services/tests/mockingservicestests/src/com/android/server/crashrecovery/AndroidTest.xml
+++ b/services/tests/mockingservicestests/src/com/android/server/crashrecovery/AndroidTest.xml
@@ -31,4 +31,9 @@
         <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
         <option name="hidden-api-checks" value="false"/>
     </test>
+
+    <!-- Only run this Tests if the Crashrecovery Mainline module is installed. -->
+    <object type="module_controller" class="com.android.tradefed.testtype.suite.module.MainlineTestModuleController">
+        <option name="mainline-module-package-name" value="com.google.android.crashrecovery" />
+    </object>
 </configuration>
diff --git a/services/tests/mockingservicestests/src/com/android/server/pm/MockSystem.kt b/services/tests/mockingservicestests/src/com/android/server/pm/MockSystem.kt
index b53dbc8..1b2ab27 100644
--- a/services/tests/mockingservicestests/src/com/android/server/pm/MockSystem.kt
+++ b/services/tests/mockingservicestests/src/com/android/server/pm/MockSystem.kt
@@ -16,6 +16,7 @@
 package com.android.server.pm
 
 import android.app.AppOpsManager
+import android.app.AppOpsManagerInternal
 import android.app.PropertyInvalidatedCache
 import android.content.Context
 import android.content.Intent
@@ -195,6 +196,7 @@
         val componentResolver: ComponentResolver = mock()
         val permissionManagerInternal: PermissionManagerServiceInternal = mock()
         val appOpsManager: AppOpsManager = mock()
+        val appOpsManagerInternal: AppOpsManagerInternal = mock()
         val incrementalManager: IncrementalManager = mock()
         val platformCompat: PlatformCompat = mock()
         val settings: Settings = mock()
@@ -286,6 +288,9 @@
         whenever(mocks.injector.permissionManagerServiceInternal) {
             mocks.permissionManagerInternal
         }
+        whenever(mocks.injector.appOpsManagerInternal) {
+            mocks.appOpsManagerInternal
+        }
         whenever(mocks.injector.incrementalManager).thenReturn(mocks.incrementalManager)
         whenever(mocks.injector.compatibility).thenReturn(mocks.platformCompat)
         whenever(mocks.injector.settings).thenReturn(mocks.settings)
diff --git a/services/tests/mockingservicestests/src/com/android/server/pm/UserManagerServiceTest.java b/services/tests/mockingservicestests/src/com/android/server/pm/UserManagerServiceTest.java
index 360d6eb..6ad3df1 100644
--- a/services/tests/mockingservicestests/src/com/android/server/pm/UserManagerServiceTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/pm/UserManagerServiceTest.java
@@ -206,7 +206,7 @@
         doNothing().when(mSpiedContext).sendBroadcastAsUser(any(), any(), any());
         mockIsLowRamDevice(false);
 
-        // Called when getting boot user. config_bootToHeadlessSystemUser is 0 by default.
+        // Called when getting boot user. config_hsumBootStrategy is 0 by default.
         mSpyResources = spy(mSpiedContext.getResources());
         when(mSpiedContext.getResources()).thenReturn(mSpyResources);
         doReturn(0)
diff --git a/services/tests/mockingservicestests/src/com/android/server/rollback/AndroidTest.xml b/services/tests/mockingservicestests/src/com/android/server/rollback/AndroidTest.xml
index 635183c..6f6b017 100644
--- a/services/tests/mockingservicestests/src/com/android/server/rollback/AndroidTest.xml
+++ b/services/tests/mockingservicestests/src/com/android/server/rollback/AndroidTest.xml
@@ -31,4 +31,9 @@
         <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
         <option name="hidden-api-checks" value="false"/>
     </test>
+
+    <!-- Only run this Tests if the Crashrecovery Mainline module is installed. -->
+    <object type="module_controller" class="com.android.tradefed.testtype.suite.module.MainlineTestModuleController">
+        <option name="mainline-module-package-name" value="com.google.android.crashrecovery" />
+    </object>
 </configuration>
diff --git a/services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperCropperTest.java b/services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperCropperTest.java
index b53f6fb..49c37f1 100644
--- a/services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperCropperTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperCropperTest.java
@@ -16,6 +16,7 @@
 
 package com.android.server.wallpaper;
 
+import static android.app.WallpaperManager.FLAG_SYSTEM;
 import static android.app.WallpaperManager.ORIENTATION_LANDSCAPE;
 import static android.app.WallpaperManager.ORIENTATION_UNKNOWN;
 import static android.app.WallpaperManager.ORIENTATION_PORTRAIT;
@@ -23,13 +24,20 @@
 import static android.app.WallpaperManager.ORIENTATION_SQUARE_PORTRAIT;
 import static android.app.WallpaperManager.getOrientation;
 import static android.app.WallpaperManager.getRotatedOrientation;
+import static android.os.UserHandle.USER_SYSTEM;
+import static android.view.Display.DEFAULT_DISPLAY;
 
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession;
 import static com.android.window.flags.Flags.FLAG_MULTI_CROP;
 
 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.doAnswer;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 import static org.mockito.MockitoAnnotations.initMocks;
 
@@ -37,15 +45,29 @@
 import android.graphics.Rect;
 import android.platform.test.annotations.Presubmit;
 import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.util.Log;
 import android.util.SparseArray;
+import android.view.Display;
+import android.view.DisplayInfo;
 
 import androidx.test.runner.AndroidJUnit4;
 
+import com.android.dx.mockito.inline.extended.ExtendedMockito;
+import com.android.dx.mockito.inline.extended.StaticMockitoSession;
+
+import org.junit.AfterClass;
 import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.RuleChain;
+import org.junit.rules.TemporaryFolder;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
+import org.mockito.quality.Strictness;
 
+import java.io.File;
+import java.io.IOException;
 import java.util.Comparator;
 import java.util.List;
 
@@ -57,6 +79,7 @@
 @RunWith(AndroidJUnit4.class)
 @RequiresFlagsEnabled(FLAG_MULTI_CROP)
 public class WallpaperCropperTest {
+    private static final String TAG = "WallpaperCropperTest";
 
     @Mock
     private WallpaperDisplayHelper mWallpaperDisplayHelper;
@@ -94,6 +117,8 @@
     private static final List<List<Point>> ALL_FOLDABLE_DISPLAYS = List.of(
             FOLDABLE_ONE, FOLDABLE_TWO, FOLDABLE_THREE, FOLDABLE_FOUR);
 
+    private static StaticMockitoSession sMockitoSession;
+
     private SparseArray<Point> mDisplaySizes = new SparseArray<>();
     private int mFolded = ORIENTATION_UNKNOWN;
     private int mFoldedRotated = ORIENTATION_UNKNOWN;
@@ -103,12 +128,53 @@
     private static final List<Integer> ALL_MODES = List.of(
             WallpaperCropper.ADD, WallpaperCropper.REMOVE, WallpaperCropper.BALANCE);
 
+    private final SparseArray<File> mTempDirs = new SparseArray<>();
+
+    private final TemporaryFolder mFolder = new TemporaryFolder();
+
+    @Rule
+    public RuleChain rules = RuleChain.outerRule(mFolder);
+
+    @BeforeClass
+    public static void setUpClass() {
+        sMockitoSession = mockitoSession()
+                .strictness(Strictness.LENIENT)
+                .spyStatic(WallpaperUtils.class)
+                .startMocking();
+    }
+
+    @AfterClass
+    public static void tearDownClass() {
+        if (sMockitoSession != null) {
+            sMockitoSession.finishMocking();
+            sMockitoSession = null;
+        }
+    }
+
     @Before
     public void setUp() {
         initMocks(this);
+        ExtendedMockito.doAnswer(invocation -> {
+            int userId = (invocation.getArgument(0));
+            return getWallpaperTestDir(userId);
+        }).when(() -> WallpaperUtils.getWallpaperDir(anyInt()));
+
         mWallpaperCropper = new WallpaperCropper(mWallpaperDisplayHelper);
     }
 
+    private File getWallpaperTestDir(int userId) {
+        File tempDir = mTempDirs.get(userId);
+        if (tempDir == null) {
+            try {
+                tempDir = mFolder.newFolder(String.valueOf(userId));
+                mTempDirs.append(userId, tempDir);
+            } catch (IOException e) {
+                Log.e(TAG, "getWallpaperTestDir failed at userId= " + userId);
+            }
+        }
+        return tempDir;
+    }
+
     private void setUpWithDisplays(List<Point> displaySizes) {
         mDisplaySizes = new SparseArray<>();
         displaySizes.forEach(size -> {
@@ -632,6 +698,134 @@
         }
     }
 
+    // Test isWallpaperCompatibleForDisplay always return true for the default display.
+    @Test
+    public void isWallpaperCompatibleForDisplay_defaultDisplay_returnTrue()
+            throws Exception {
+        DisplayInfo displayInfo = new DisplayInfo();
+        displayInfo.logicalWidth = 2560;
+        displayInfo.logicalHeight = 1044;
+        doReturn(displayInfo).when(mWallpaperDisplayHelper).getDisplayInfo(eq(DEFAULT_DISPLAY));
+        WallpaperData wallpaperData = createWallpaperData(/* isStockWallpaper = */ false,
+                new Point(100, 100));
+
+        assertThat(
+                mWallpaperCropper.isWallpaperCompatibleForDisplay(DEFAULT_DISPLAY,
+                        wallpaperData)).isTrue();
+    }
+
+    // Test isWallpaperCompatibleForDisplay always return true for the stock wallpaper.
+    @Test
+    public void isWallpaperCompatibleForDisplay_stockWallpaper_returnTrue()
+            throws Exception {
+        final int displayId = 2;
+        DisplayInfo displayInfo = new DisplayInfo();
+        displayInfo.logicalWidth = 2560;
+        displayInfo.logicalHeight = 1044;
+        doReturn(displayInfo).when(mWallpaperDisplayHelper).getDisplayInfo(eq(displayId));
+        WallpaperData wallpaperData = createWallpaperData(/* isStockWallpaper = */ true,
+                new Point(100, 100));
+
+        assertThat(
+                mWallpaperCropper.isWallpaperCompatibleForDisplay(displayId,
+                        wallpaperData)).isTrue();
+    }
+
+    // Test isWallpaperCompatibleForDisplay wallpaper is suitable for the display and wallpaper
+    // aspect ratio meets the hard-coded aspect ratio.
+    @Test
+    public void isWallpaperCompatibleForDisplay_wallpaperSizeSuitableForDisplayAndMeetAspectRatio_returnTrue()
+            throws Exception {
+        final int displayId = 2;
+        DisplayInfo displayInfo = new DisplayInfo();
+        displayInfo.logicalWidth = 2560;
+        displayInfo.logicalHeight = 1044;
+        doReturn(displayInfo).when(mWallpaperDisplayHelper).getDisplayInfo(eq(displayId));
+        WallpaperData wallpaperData = createWallpaperData(/* isStockWallpaper = */ false,
+                new Point(4000, 3000));
+
+        assertThat(
+                mWallpaperCropper.isWallpaperCompatibleForDisplay(displayId,
+                        wallpaperData)).isTrue();
+    }
+
+    // Test isWallpaperCompatibleForDisplay wallpaper is not suitable for the display and wallpaper
+    // aspect ratio meets the hard-coded aspect ratio.
+    @Test
+    public void isWallpaperCompatibleForDisplay_wallpaperSizeNotSuitableForDisplayAndMeetAspectRatio_returnFalse()
+            throws Exception {
+        final int displayId = 2;
+        DisplayInfo displayInfo = new DisplayInfo();
+        displayInfo.logicalWidth = 2560;
+        displayInfo.logicalHeight = 1044;
+        doReturn(displayInfo).when(mWallpaperDisplayHelper).getDisplayInfo(eq(displayId));
+        WallpaperData wallpaperData = createWallpaperData(/* isStockWallpaper = */ false,
+                new Point(1000, 500));
+
+        assertThat(
+                mWallpaperCropper.isWallpaperCompatibleForDisplay(displayId,
+                        wallpaperData)).isFalse();
+    }
+
+    // Test isWallpaperCompatibleForDisplay wallpaper is suitable for the display and wallpaper
+    // aspect ratio doesn't meet the hard-coded aspect ratio.
+    @Test
+    public void isWallpaperCompatibleForDisplay_wallpaperSizeSuitableForDisplayAndDoNotMeetAspectRatio_returnFalse()
+            throws Exception {
+        final int displayId = 2;
+        DisplayInfo displayInfo = new DisplayInfo();
+        displayInfo.logicalWidth = 2560;
+        displayInfo.logicalHeight = 1044;
+        doReturn(displayInfo).when(mWallpaperDisplayHelper).getDisplayInfo(eq(displayId));
+        WallpaperData wallpaperData = createWallpaperData(/* isStockWallpaper = */ false,
+                new Point(2000, 4000));
+
+        assertThat(
+                mWallpaperCropper.isWallpaperCompatibleForDisplay(displayId,
+                        wallpaperData)).isFalse();
+    }
+
+    // Test isWallpaperCompatibleForDisplay, portrait display, wallpaper is suitable for the display
+    // and wallpaper aspect ratio doesn't meet the hard-coded aspect ratio.
+    @Test
+    public void isWallpaperCompatibleForDisplay_portraitDisplay_wallpaperSizeSuitableForDisplayAndMeetAspectRatio_returnTrue()
+            throws Exception {
+        final int displayId = 2;
+        DisplayInfo displayInfo = new DisplayInfo();
+        displayInfo.logicalWidth = 1044;
+        displayInfo.logicalHeight = 2560;
+        doReturn(displayInfo).when(mWallpaperDisplayHelper).getDisplayInfo(eq(displayId));
+        WallpaperData wallpaperData = createWallpaperData(/* isStockWallpaper = */ false,
+                new Point(2000, 4000));
+
+        assertThat(
+                mWallpaperCropper.isWallpaperCompatibleForDisplay(displayId,
+                        wallpaperData)).isTrue();
+    }
+
+    private void mockDisplay(int displayId, Point displayResolution) {
+        final Display mockDisplay = mock(Display.class);
+        when(mockDisplay.getDisplayInfo(any(DisplayInfo.class))).thenAnswer(invocation -> {
+            DisplayInfo displayInfo = invocation.getArgument(0);
+            displayInfo.displayId = displayId;
+            displayInfo.logicalWidth = displayResolution.x;
+            displayInfo.logicalHeight = displayResolution.y;
+            return true;
+        });
+    }
+
+    private WallpaperData createWallpaperData(boolean isStockWallpaper, Point wallpaperSize)
+            throws Exception {
+        WallpaperData wallpaperData = new WallpaperData(USER_SYSTEM, FLAG_SYSTEM);
+        File wallpaperFile = wallpaperData.getWallpaperFile();
+        if (!isStockWallpaper) {
+            wallpaperFile.getParentFile().mkdirs();
+            wallpaperFile.createNewFile();
+        }
+        wallpaperData.cropHint.set(0, 0, wallpaperSize.x, wallpaperSize.y);
+        return wallpaperData;
+    }
+
     private static Rect centerOf(Rect container, Point point) {
         checkSubset(container, point);
         int diffWidth = container.width() - point.x;
diff --git a/services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperManagerServiceTests.java b/services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperManagerServiceTests.java
index 49f2e9d..bada337 100644
--- a/services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperManagerServiceTests.java
+++ b/services/tests/mockingservicestests/src/com/android/server/wallpaper/WallpaperManagerServiceTests.java
@@ -123,6 +123,7 @@
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 import java.util.List;
+import java.util.Map;
 
 /**
  * Tests for the {@link WallpaperManagerService} class.
@@ -744,7 +745,9 @@
         wallpaper.connection.mService = mockIWallpaperService;
         // GIVEN there are two displays: DEFAULT_DISPLAY, 2
         final int testDisplayId = 2;
-        setUpDisplays(List.of(DEFAULT_DISPLAY, testDisplayId));
+        setUpDisplays(Map.of(
+                DEFAULT_DISPLAY, true,
+                testDisplayId, true));
 
         // WHEN display ID, 2, is ready.
         WallpaperManagerInternal wallpaperManagerInternal = LocalServices.getService(
@@ -784,7 +787,9 @@
         lockWallpaper.connection.mService = mockIWallpaperService;
         // GIVEN there are two displays: DEFAULT_DISPLAY, 2
         final int testDisplayId = 2;
-        setUpDisplays(List.of(DEFAULT_DISPLAY, testDisplayId));
+        setUpDisplays(Map.of(
+                DEFAULT_DISPLAY, true,
+                testDisplayId, true));
 
         // WHEN display ID, 2, is ready.
         WallpaperManagerInternal wallpaperManagerInternal = LocalServices.getService(
@@ -825,13 +830,15 @@
             throws Exception {
         final int testUserId = USER_SYSTEM;
         mService.switchUser(testUserId, null);
+        mService.mLastWallpaper.connection.mWallpaper.cropHint.set(0, 0, 4000, 2250);
         IWallpaperService mockIWallpaperService = mock(IWallpaperService.class);
         mService.mFallbackWallpaper.connection.mService = mockIWallpaperService;
         // GIVEN there are two displays: DEFAULT_DISPLAY, 2
         final int testDisplayId = 2;
-        setUpDisplays(List.of(DEFAULT_DISPLAY, testDisplayId));
-        // GIVEN the wallpaper isn't compatible with display ID, 2
-        mService.removeWallpaperCompatibleDisplayForTest(testDisplayId);
+        setUpDisplays(Map.of(
+                DEFAULT_DISPLAY, true,
+                // Given the wallpaper is smaller thn the display resolution.
+                testDisplayId, false));
 
         // WHEN display ID, 2, is ready.
         WallpaperManagerInternal wallpaperManagerInternal = LocalServices.getService(
@@ -870,7 +877,10 @@
         wallpaper.connection.mService = mockIWallpaperService;
         // GIVEN there are two displays: DEFAULT_DISPLAY, 2
         final int testDisplayId = 2;
-        setUpDisplays(List.of(DEFAULT_DISPLAY, testDisplayId));
+        mService.mLastWallpaper.connection.mWallpaper.cropHint.set(0, 0, 4000, 2250);
+        setUpDisplays(Map.of(
+                DEFAULT_DISPLAY, true,
+                testDisplayId, true));
         // GIVEN wallpaper connections have been established for display ID, 2.
         WallpaperManagerInternal wallpaperManagerInternal = LocalServices.getService(
                 WallpaperManagerInternal.class);
@@ -908,7 +918,9 @@
         lockWallpaper.connection.mService = mockIWallpaperService;
         // GIVEN there are two displays: DEFAULT_DISPLAY, 2
         final int testDisplayId = 2;
-        setUpDisplays(List.of(DEFAULT_DISPLAY, testDisplayId));
+        setUpDisplays(Map.of(
+                DEFAULT_DISPLAY, true,
+                testDisplayId, true));
         // GIVEN wallpaper connections have been established for display ID, 2.
         WallpaperManagerInternal wallpaperManagerInternal = LocalServices.getService(
                 WallpaperManagerInternal.class);
@@ -942,9 +954,9 @@
         mService.mFallbackWallpaper.connection.mService = mockIWallpaperService;
         // GIVEN there are two displays: DEFAULT_DISPLAY, 2
         final int testDisplayId = 2;
-        setUpDisplays(List.of(DEFAULT_DISPLAY, testDisplayId));
-        // GIVEN display ID, 2, is incompatible with the wallpaper.
-        mService.removeWallpaperCompatibleDisplayForTest(testDisplayId);
+        setUpDisplays(Map.of(
+                DEFAULT_DISPLAY, true,
+                testDisplayId, false));
         // GIVEN wallpaper connections have been established for display ID, 2.
         WallpaperManagerInternal wallpaperManagerInternal = LocalServices.getService(
                 WallpaperManagerInternal.class);
@@ -991,7 +1003,9 @@
         wallpaper.connection.mService = mockIWallpaperService;
         // GIVEN there are two displays: DEFAULT_DISPLAY, 2
         final int testDisplayId = 2;
-        setUpDisplays(List.of(DEFAULT_DISPLAY, testDisplayId));
+        setUpDisplays(Map.of(
+                DEFAULT_DISPLAY, true,
+                testDisplayId, true));
         // GIVEN wallpaper connections have been established for displayID, 2.
         WallpaperManagerInternal wallpaperManagerInternal = LocalServices.getService(
                 WallpaperManagerInternal.class);
@@ -1025,7 +1039,9 @@
         lockWallpaper.connection.mService = mockIWallpaperService;
         // GIVEN there are two displays: DEFAULT_DISPLAY, 2
         final int testDisplayId = 2;
-        setUpDisplays(List.of(DEFAULT_DISPLAY, testDisplayId));
+        setUpDisplays(Map.of(
+                DEFAULT_DISPLAY, true,
+                testDisplayId, true));
         // GIVEN wallpaper connections have been established for displayID, 2.
         WallpaperManagerInternal wallpaperManagerInternal = LocalServices.getService(
                 WallpaperManagerInternal.class);
@@ -1053,12 +1069,14 @@
     @Test
     @EnableFlags(Flags.FLAG_ENABLE_CONNECTED_DISPLAYS_WALLPAPER)
     public void deviceBooted_multiDisplays_shouldHaveExpectedConnections() {
+        final int testUserId = USER_SYSTEM;
         final int incompatibleDisplayId = 2;
         final int compatibleDisplayId = 3;
-        setUpDisplays(List.of(DEFAULT_DISPLAY, incompatibleDisplayId, compatibleDisplayId));
-        mService.removeWallpaperCompatibleDisplayForTest(incompatibleDisplayId);
+        setUpDisplays(Map.of(
+                DEFAULT_DISPLAY, true,
+                compatibleDisplayId, true,
+                incompatibleDisplayId, false));
 
-        final int testUserId = USER_SYSTEM;
         // After reboot, a switch user triggers the wallpapers initialization.
         mService.switchUser(testUserId, null);
 
@@ -1089,15 +1107,18 @@
     public void setWallpaperComponent_multiDisplays_displayBecomeCompatible_shouldHaveExpectedConnections() {
         final int display2 = 2;
         final int display3 = 3;
-        setUpDisplays(List.of(DEFAULT_DISPLAY, display2, display3));
-        mService.removeWallpaperCompatibleDisplayForTest(display2);
         final int testUserId = USER_SYSTEM;
+        setUpDisplays(Map.of(
+                DEFAULT_DISPLAY, true,
+                display2, false,
+                display3, true));
+
         mService.switchUser(testUserId, null);
+        doReturn(true).when(mService.mWallpaperCropper).isWallpaperCompatibleForDisplay(
+                eq(display2), any());
         // Switch to a test wallpaper and then image wallpaper later to simulate a wallpaper change.
         mService.setWallpaperComponent(TEST_WALLPAPER_COMPONENT, sContext.getOpPackageName(),
                 FLAG_SYSTEM | FLAG_LOCK, testUserId);
-        mService.addWallpaperCompatibleDisplayForTest(display2);
-
         mService.setWallpaperComponent(sImageWallpaperComponentName, sContext.getOpPackageName(),
                 FLAG_SYSTEM | FLAG_LOCK, testUserId);
 
@@ -1126,15 +1147,19 @@
     public void setWallpaperComponent_multiDisplays_displayBecomeIncompatible_shouldHaveExpectedConnections() {
         final int display2 = 2;
         final int display3 = 3;
-        setUpDisplays(List.of(DEFAULT_DISPLAY, display2, display3));
-        mService.removeWallpaperCompatibleDisplayForTest(display2);
         final int testUserId = USER_SYSTEM;
+        setUpDisplays(Map.of(
+                DEFAULT_DISPLAY, true,
+                display2, true,
+                display3, true));
         mService.switchUser(testUserId, null);
+        doReturn(false).when(mService.mWallpaperCropper).isWallpaperCompatibleForDisplay(
+                eq(display2), any());
+        doReturn(false).when(mService.mWallpaperCropper).isWallpaperCompatibleForDisplay(
+                eq(display3), any());
         // Switch to a test wallpaper and then image wallpaper later to simulate a wallpaper change.
         mService.setWallpaperComponent(TEST_WALLPAPER_COMPONENT, sContext.getOpPackageName(),
                 FLAG_SYSTEM | FLAG_LOCK, testUserId);
-        mService.removeWallpaperCompatibleDisplayForTest(display3);
-
         mService.setWallpaperComponent(sImageWallpaperComponentName, sContext.getOpPackageName(),
                 FLAG_SYSTEM | FLAG_LOCK, testUserId);
 
@@ -1161,14 +1186,15 @@
     public void setWallpaperComponent_systemAndLockWallpapers_multiDisplays_shouldHaveExpectedConnections() {
         final int incompatibleDisplayId = 2;
         final int compatibleDisplayId = 3;
-        setUpDisplays(List.of(DEFAULT_DISPLAY, incompatibleDisplayId, compatibleDisplayId));
+        setUpDisplays(Map.of(
+                DEFAULT_DISPLAY, true,
+                incompatibleDisplayId, false,
+                compatibleDisplayId, true));
         final int testUserId = USER_SYSTEM;
         mService.switchUser(testUserId, null);
         // Switch to a test wallpaper and then image wallpaper later to simulate a wallpaper change.
         mService.setWallpaperComponent(TEST_WALLPAPER_COMPONENT, sContext.getOpPackageName(),
                 FLAG_SYSTEM | FLAG_LOCK, testUserId);
-        mService.removeWallpaperCompatibleDisplayForTest(incompatibleDisplayId);
-
         mService.setWallpaperComponent(sImageWallpaperComponentName, sContext.getOpPackageName(),
                 FLAG_SYSTEM, testUserId);
 
@@ -1260,21 +1286,27 @@
      * to return them. It also sets up the {@link WindowManagerInternal} to indicate that all
      * displays support home.
      *
-     * @param displayIds A list of display IDs to create mock displays for.
+     * @param displayIdsToWallpaperCompatibility A map of display IDs to wallpaper compatibility.
      */
-    private void setUpDisplays(List<Integer> displayIds) {
+    private void setUpDisplays(Map<Integer, Boolean> displayIdsToWallpaperCompatibility) {
+        spyOn(mService.mWallpaperCropper);
         doReturn(true).when(sWindowManagerInternal).isHomeSupportedOnDisplay(anyInt());
 
-        Display[] mockDisplays = new Display[displayIds.size()];
-        for (int i = 0; i < displayIds.size(); i++) {
-            final int displayId = displayIds.get(i);
+        Display[] mockDisplays = new Display[displayIdsToWallpaperCompatibility.size()];
+        int counter = 0;
+        for (Map.Entry<Integer, Boolean> entry : displayIdsToWallpaperCompatibility.entrySet()) {
+            final int displayId = entry.getKey();
+            final boolean compatibleWithWallpaper = entry.getValue();
             final Display mockDisplay = mock(Display.class);
-            mockDisplays[i] = mockDisplay;
+            mockDisplays[counter] = mockDisplay;
             doReturn(DISPLAY_SIZE_DIMENSION).when(mockDisplay).getMaximumSizeDimension();
             doReturn(mockDisplay).when(mDisplayManager).getDisplay(eq(displayId));
             doReturn(displayId).when(mockDisplay).getDisplayId();
             doReturn(true).when(mockDisplay).hasAccess(anyInt());
-            mService.addWallpaperCompatibleDisplayForTest(displayId);
+            doReturn(compatibleWithWallpaper).when(
+                    mService.mWallpaperCropper).isWallpaperCompatibleForDisplay(eq(displayId),
+                    any());
+            counter++;
         }
 
         doReturn(mockDisplays).when(mDisplayManager).getDisplays();
@@ -1297,6 +1329,4 @@
             assertEquals(pfdContents, fileContents);
         }
     }
-
-
 }
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/AggregatedPowerStatsTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/AggregatedPowerStatsTest.java
index 0e73329..978fd1a 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/AggregatedPowerStatsTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/AggregatedPowerStatsTest.java
@@ -18,6 +18,7 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import android.annotation.SuppressLint;
 import android.os.BatteryConsumer;
 import android.os.PersistableBundle;
 import android.util.SparseArray;
@@ -280,6 +281,7 @@
                 .isEqualTo(new long[]{250, 300});
     }
 
+    @SuppressLint("CheckResult")
     private static long[] getDeviceStats(
             AggregatedPowerStats stats, int powerComponentId,
             int... states) {
@@ -290,6 +292,7 @@
         return out;
     }
 
+    @SuppressLint("CheckResult")
     private static long[] getStateStats(
             AggregatedPowerStats stats, int key, int... states) {
         PowerComponentAggregatedPowerStats powerComponentStats =
@@ -299,6 +302,7 @@
         return out;
     }
 
+    @SuppressLint("CheckResult")
     private static long[] getUidDeviceStats(
             AggregatedPowerStats stats, int powerComponentId,
             int uid, int... states) {
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/AmbientDisplayPowerStatsProcessorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/AmbientDisplayPowerStatsProcessorTest.java
index 21e615f..58e9d1e 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/AmbientDisplayPowerStatsProcessorTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/AmbientDisplayPowerStatsProcessorTest.java
@@ -27,6 +27,7 @@
 
 import static org.mockito.Mockito.when;
 
+import android.annotation.SuppressLint;
 import android.hardware.power.stats.EnergyConsumerType;
 import android.os.BatteryConsumer;
 import android.os.Handler;
@@ -166,6 +167,7 @@
         return stats.getPowerComponentStats(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY);
     }
 
+    @SuppressLint("CheckResult")
     private void assertPowerEstimate(
             PowerComponentAggregatedPowerStats aggregatedStats,
             int powerState, int screenState, double expectedPowerEstimate) {
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BasePowerStatsProcessorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BasePowerStatsProcessorTest.java
index cca6033..58784d7 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BasePowerStatsProcessorTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BasePowerStatsProcessorTest.java
@@ -34,6 +34,7 @@
 
 import static org.mockito.Mockito.mock;
 
+import android.annotation.SuppressLint;
 import android.os.BatteryConsumer;
 import android.os.BatteryUsageStats;
 import android.os.Process;
@@ -68,6 +69,7 @@
                 .setProcessorSupplier(() -> new BasePowerStatsProcessor(() -> 4000));
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void processPowerStats() {
         AggregatedPowerStats aggregatedPowerStats = prepareAggregatedPowerStats(true);
@@ -95,9 +97,11 @@
         stats.getUidStats(uidStats, APP_UID1,
                 states(POWER_STATE_BATTERY, SCREEN_STATE_OTHER, PROCESS_STATE_FOREGROUND_SERVICE));
         assertThat(statsLayout.getUidUsageDuration(uidStats)).isEqualTo(5000);
-        stats.getUidStats(uidStats, APP_UID1,
+        boolean nonZero = stats.getUidStats(uidStats, APP_UID1,
                 states(POWER_STATE_BATTERY, SCREEN_STATE_OTHER, PROCESS_STATE_UNSPECIFIED));
-        assertThat(statsLayout.getUidUsageDuration(uidStats)).isEqualTo(0);
+        if (nonZero) {
+            assertThat(statsLayout.getUidUsageDuration(uidStats)).isEqualTo(0);
+        }
 
         stats.getUidStats(uidStats, APP_UID2,
                 states(POWER_STATE_BATTERY, SCREEN_STATE_ON, PROCESS_STATE_CACHED));
@@ -105,11 +109,14 @@
         stats.getUidStats(uidStats, APP_UID2,
                 states(POWER_STATE_BATTERY, SCREEN_STATE_OTHER, PROCESS_STATE_CACHED));
         assertThat(statsLayout.getUidUsageDuration(uidStats)).isEqualTo(8500);
-        stats.getUidStats(uidStats, APP_UID2,
+        nonZero = stats.getUidStats(uidStats, APP_UID2,
                 states(POWER_STATE_BATTERY, SCREEN_STATE_OTHER, PROCESS_STATE_UNSPECIFIED));
-        assertThat(statsLayout.getUidUsageDuration(uidStats)).isEqualTo(0);
+        if (nonZero) {
+            assertThat(statsLayout.getUidUsageDuration(uidStats)).isEqualTo(0);
+        }
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void fuelgaugeAvailable() {
         AggregatedPowerStats aggregatedPowerStats = prepareAggregatedPowerStats(true);
@@ -138,6 +145,7 @@
         assertThat(dischargeDuration).isWithin(5).of(6000);
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void fuelgaugeUnavailable() {
         AggregatedPowerStats aggregatedPowerStats = prepareAggregatedPowerStats(false);
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BinaryStatePowerStatsProcessorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BinaryStatePowerStatsProcessorTest.java
index 2ff7dde..e6e7f6e 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BinaryStatePowerStatsProcessorTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BinaryStatePowerStatsProcessorTest.java
@@ -30,6 +30,7 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import android.annotation.SuppressLint;
 import android.os.BatteryConsumer;
 import android.os.BatteryStats;
 import android.os.PersistableBundle;
@@ -74,6 +75,7 @@
         }
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void powerProfileModel() {
         BinaryStatePowerStatsLayout statsLayout = new BinaryStatePowerStatsLayout();
@@ -138,12 +140,14 @@
         assertThat(statsLayout.getUidPowerEstimate(uidStats))
                 .isWithin(PRECISION).of(expectedPower2);
 
-        stats.getUidStats(uidStats, APP_UID2,
-                states(POWER_STATE_OTHER, SCREEN_STATE_ON, PROCESS_STATE_CACHED));
-        assertThat(statsLayout.getUidPowerEstimate(uidStats))
-                .isWithin(PRECISION).of(0);
+        if (stats.getUidStats(uidStats, APP_UID2,
+                states(POWER_STATE_OTHER, SCREEN_STATE_ON, PROCESS_STATE_CACHED))) {
+            assertThat(statsLayout.getUidPowerEstimate(uidStats))
+                    .isWithin(PRECISION).of(0);
+        }
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void energyConsumerModel() {
         BinaryStatePowerStatsLayout
@@ -232,10 +236,11 @@
         assertThat(statsLayout.getUidPowerEstimate(uidStats))
                 .isWithin(PRECISION).of(expectedPower2);
 
-        stats.getUidStats(uidStats, APP_UID2,
-                states(POWER_STATE_OTHER, SCREEN_STATE_ON, PROCESS_STATE_CACHED));
-        assertThat(statsLayout.getUidPowerEstimate(uidStats))
-                .isWithin(PRECISION).of(0);
+        if (stats.getUidStats(uidStats, APP_UID2,
+                states(POWER_STATE_OTHER, SCREEN_STATE_ON, PROCESS_STATE_CACHED))) {
+            assertThat(statsLayout.getUidPowerEstimate(uidStats))
+                    .isWithin(PRECISION).of(0);
+        }
     }
 
 
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BluetoothPowerStatsProcessorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BluetoothPowerStatsProcessorTest.java
index 6013186..6d7119d 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BluetoothPowerStatsProcessorTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BluetoothPowerStatsProcessorTest.java
@@ -33,6 +33,7 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import android.annotation.SuppressLint;
 import android.bluetooth.BluetoothActivityEnergyInfo;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.UidTraffic;
@@ -161,6 +162,7 @@
         when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)).thenReturn(true);
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void powerProfileModel_mostlyDataTransfer() {
         // No power monitoring hardware
@@ -262,6 +264,7 @@
                 .isWithin(PRECISION).of(expectedPower2 * 0.75);
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void powerProfileModel_mostlyScan() {
         // No power monitoring hardware
@@ -361,6 +364,7 @@
                 .isWithin(PRECISION).of(expectedPower2 * 0.75);
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void consumedEnergyModel() {
         when(mConsumedEnergyRetriever.getVoltageMv()).thenReturn(VOLTAGE_MV);
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/CameraPowerStatsTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/CameraPowerStatsTest.java
index 23642de..a959632 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/CameraPowerStatsTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/CameraPowerStatsTest.java
@@ -33,6 +33,7 @@
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.when;
 
+import android.annotation.SuppressLint;
 import android.hardware.power.stats.EnergyConsumerResult;
 import android.hardware.power.stats.EnergyConsumerType;
 import android.os.BatteryConsumer;
@@ -117,6 +118,7 @@
         mMonotonicClock = new MonotonicClock(0, mStatsRule.getMockClock());
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void energyConsumerModel() {
         when(mConsumedEnergyRetriever.getVoltageMv()).thenReturn(VOLTAGE_MV);
@@ -211,10 +213,11 @@
         assertThat(statsLayout.getUidPowerEstimate(uidStats))
                 .isWithin(PRECISION).of(expectedPower2);
 
-        stats.getUidStats(uidStats, APP_UID2,
-                states(POWER_STATE_OTHER, SCREEN_STATE_ON, PROCESS_STATE_CACHED));
-        assertThat(statsLayout.getUidPowerEstimate(uidStats))
-                .isWithin(PRECISION).of(0);
+        if (stats.getUidStats(uidStats, APP_UID2,
+                states(POWER_STATE_OTHER, SCREEN_STATE_ON, PROCESS_STATE_CACHED))) {
+            assertThat(statsLayout.getUidPowerEstimate(uidStats))
+                    .isWithin(PRECISION).of(0);
+        }
     }
 
     private BatteryStats.HistoryItem buildHistoryItem(int timestamp, boolean stateOn,
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/CustomEnergyConsumerPowerStatsTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/CustomEnergyConsumerPowerStatsTest.java
index 42baba7..a421675 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/CustomEnergyConsumerPowerStatsTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/CustomEnergyConsumerPowerStatsTest.java
@@ -33,6 +33,7 @@
 
 import static org.mockito.Mockito.when;
 
+import android.annotation.SuppressLint;
 import android.hardware.power.stats.EnergyConsumerAttribution;
 import android.hardware.power.stats.EnergyConsumerResult;
 import android.hardware.power.stats.EnergyConsumerType;
@@ -154,6 +155,7 @@
                 .isEqualTo(6000);
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void processStats() throws Exception {
         AggregatedPowerStats aggregatedPowerStats = createAggregatedPowerStats();
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/GnssPowerStatsTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/GnssPowerStatsTest.java
index c63267e..b4f2113 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/GnssPowerStatsTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/GnssPowerStatsTest.java
@@ -33,6 +33,7 @@
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.when;
 
+import android.annotation.SuppressLint;
 import android.hardware.power.stats.EnergyConsumerResult;
 import android.hardware.power.stats.EnergyConsumerType;
 import android.location.GnssSignalQuality;
@@ -122,6 +123,7 @@
         mHistoryItem.clear();
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void powerProfileModel() {
         // ODPM unsupported
@@ -206,12 +208,14 @@
         assertThat(statsLayout.getUidPowerEstimate(uidStats))
                 .isWithin(PRECISION).of(0.51111);
 
-        stats.getUidStats(uidStats, APP_UID2,
-                states(POWER_STATE_OTHER, SCREEN_STATE_ON, PROCESS_STATE_CACHED));
-        assertThat(statsLayout.getUidPowerEstimate(uidStats))
-                .isWithin(PRECISION).of(0);
+        if (stats.getUidStats(uidStats, APP_UID2,
+                states(POWER_STATE_OTHER, SCREEN_STATE_ON, PROCESS_STATE_CACHED))) {
+            assertThat(statsLayout.getUidPowerEstimate(uidStats))
+                    .isWithin(PRECISION).of(0);
+        }
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void initialStateGnssOn() {
         // ODPM unsupported
@@ -285,12 +289,14 @@
         assertThat(statsLayout.getUidPowerEstimate(uidStats))
                 .isWithin(PRECISION).of(0.51111);
 
-        stats.getUidStats(uidStats, APP_UID2,
-                states(POWER_STATE_OTHER, SCREEN_STATE_ON, PROCESS_STATE_CACHED));
-        assertThat(statsLayout.getUidPowerEstimate(uidStats))
-                .isWithin(PRECISION).of(0);
+        if (stats.getUidStats(uidStats, APP_UID2,
+                states(POWER_STATE_OTHER, SCREEN_STATE_ON, PROCESS_STATE_CACHED))) {
+            assertThat(statsLayout.getUidPowerEstimate(uidStats))
+                    .isWithin(PRECISION).of(0);
+        }
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void energyConsumerModel() {
         when(mConsumedEnergyRetriever.getVoltageMv()).thenReturn(VOLTAGE_MV);
@@ -386,10 +392,11 @@
         assertThat(statsLayout.getUidPowerEstimate(uidStats))
                 .isWithin(PRECISION).of(expectedPower2);
 
-        stats.getUidStats(uidStats, APP_UID2,
-                states(POWER_STATE_OTHER, SCREEN_STATE_ON, PROCESS_STATE_CACHED));
-        assertThat(statsLayout.getUidPowerEstimate(uidStats))
-                .isWithin(PRECISION).of(0);
+        if (stats.getUidStats(uidStats, APP_UID2,
+                states(POWER_STATE_OTHER, SCREEN_STATE_ON, PROCESS_STATE_CACHED))) {
+            assertThat(statsLayout.getUidPowerEstimate(uidStats))
+                    .isWithin(PRECISION).of(0);
+        }
     }
 
     private BatteryStats.HistoryItem buildHistoryItemInitialStateGpsOn(long timestamp) {
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/MobileRadioPowerStatsProcessorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/MobileRadioPowerStatsProcessorTest.java
index 6acd368..3dc4017 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/MobileRadioPowerStatsProcessorTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/MobileRadioPowerStatsProcessorTest.java
@@ -39,6 +39,7 @@
 import static org.mockito.Mockito.when;
 
 import android.annotation.Nullable;
+import android.annotation.SuppressLint;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.hardware.power.stats.EnergyConsumerResult;
@@ -170,6 +171,7 @@
                 .thenAnswer(invocation -> invocation.getArgument(0));
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void powerProfileModel() {
         // No power monitoring hardware
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/MultiStateStatsTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/MultiStateStatsTest.java
index 3b614bd..9abb06f 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/MultiStateStatsTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/MultiStateStatsTest.java
@@ -21,6 +21,7 @@
 
 import static org.junit.Assert.assertThrows;
 
+import android.annotation.SuppressLint;
 import android.os.BatteryConsumer;
 
 import androidx.test.filters.SmallTest;
@@ -124,6 +125,7 @@
         assertThat(e.getMessage()).contains("40");
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void multiStateStats_aggregation() {
         MultiStateStats.Factory factory = makeFactory(true, true, false);
@@ -159,9 +161,9 @@
         // (400 - 100) * 0 + (600 - 400) * 0.5
         assertThat(stats).isEqualTo(new long[]{100, 100});
 
-        multiStateStats.getStats(stats, new int[]{1, BatteryConsumer.PROCESS_STATE_BACKGROUND, 0});
         // Never been in this composite state
-        assertThat(stats).isEqualTo(new long[]{0, 0});
+        assertThat(multiStateStats.getStats(stats,
+                new int[]{1, BatteryConsumer.PROCESS_STATE_BACKGROUND, 0})).isFalse();
     }
 
     @Test
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/PhoneCallPowerStatsProcessorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/PhoneCallPowerStatsProcessorTest.java
index a20274f..2f742d7 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/PhoneCallPowerStatsProcessorTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/PhoneCallPowerStatsProcessorTest.java
@@ -29,6 +29,7 @@
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.when;
 
+import android.annotation.SuppressLint;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.hardware.power.stats.EnergyConsumerType;
@@ -159,6 +160,7 @@
         mStatsRule.setTestPowerProfile("power_profile_test_legacy_modem");
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void copyEstimatesFromMobileRadioPowerStats() {
         AggregatedPowerStatsConfig config = new AggregatedPowerStatsConfig();
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/ScreenPowerStatsProcessorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/ScreenPowerStatsProcessorTest.java
index 1852165..31456a15 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/ScreenPowerStatsProcessorTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/ScreenPowerStatsProcessorTest.java
@@ -29,6 +29,7 @@
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.when;
 
+import android.annotation.SuppressLint;
 import android.hardware.power.stats.EnergyConsumerResult;
 import android.hardware.power.stats.EnergyConsumerType;
 import android.os.BatteryConsumer;
@@ -278,6 +279,7 @@
                 .of(expectedDozePowerEstimate);
     }
 
+    @SuppressLint("CheckResult")
     private void assertUidPowerEstimate(
             PowerComponentAggregatedPowerStats aggregatedStats, int uid,
             int powerState, int screenState, double expectedScreenPowerEstimate) {
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/SensorPowerStatsProcessorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/SensorPowerStatsProcessorTest.java
index d972604..c2f01d1 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/SensorPowerStatsProcessorTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/SensorPowerStatsProcessorTest.java
@@ -33,6 +33,7 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+import android.annotation.SuppressLint;
 import android.hardware.Sensor;
 import android.hardware.SensorManager;
 import android.hardware.input.InputSensorInfo;
@@ -91,6 +92,7 @@
                 List.of(sensor1, sensor2, sensor3));
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void testPowerEstimation() {
         PowerComponentAggregatedPowerStats stats = createAggregatedPowerStats(
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/WakelockPowerStatsProcessorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/WakelockPowerStatsProcessorTest.java
index 8257d71..5ac7216 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/WakelockPowerStatsProcessorTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/WakelockPowerStatsProcessorTest.java
@@ -31,6 +31,7 @@
 
 import static org.mockito.Mockito.mock;
 
+import android.annotation.SuppressLint;
 import android.os.BatteryConsumer;
 import android.os.PersistableBundle;
 import android.os.Process;
@@ -123,6 +124,7 @@
         return history;
     }
 
+    @SuppressLint("CheckResult")
     private void assertAggregatedPowerStats(AggregatedPowerStats aggregatedPowerStats) {
         PowerComponentAggregatedPowerStats stats =
                 aggregatedPowerStats.getPowerComponentStats(POWER_COMPONENT_WAKELOCK);
diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/WifiPowerStatsProcessorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/WifiPowerStatsProcessorTest.java
index bd92a84..e36056a 100644
--- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/WifiPowerStatsProcessorTest.java
+++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/WifiPowerStatsProcessorTest.java
@@ -39,6 +39,7 @@
 import static org.mockito.Mockito.when;
 
 import android.annotation.Nullable;
+import android.annotation.SuppressLint;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.hardware.power.stats.EnergyConsumerResult;
@@ -198,6 +199,7 @@
         mBatteryStats = mStatsRule.getBatteryStats();
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void powerProfileModel_powerController() {
         when(mWifiManager.isEnhancedPowerReportingSupported()).thenReturn(true);
@@ -310,6 +312,7 @@
                 .isWithin(PRECISION).of(expectedPower2 * 0.75);
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void consumedEnergyModel_powerController() {
         when(mWifiManager.isEnhancedPowerReportingSupported()).thenReturn(true);
@@ -424,6 +427,7 @@
                 .isWithin(PRECISION).of(expectedPower2 * 0.75);
     }
 
+    @SuppressLint("CheckResult")
     @Test
     public void powerProfileModel_noPowerController() {
         when(mWifiManager.isEnhancedPowerReportingSupported()).thenReturn(false);
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/autoclick/AutoclickTypePanelTest.java b/services/tests/servicestests/src/com/android/server/accessibility/autoclick/AutoclickTypePanelTest.java
index ba672dc..c60c4b6 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/autoclick/AutoclickTypePanelTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/autoclick/AutoclickTypePanelTest.java
@@ -21,6 +21,9 @@
 import static com.android.server.accessibility.autoclick.AutoclickTypePanel.AUTOCLICK_TYPE_LEFT_CLICK;
 import static com.android.server.accessibility.autoclick.AutoclickTypePanel.AUTOCLICK_TYPE_SCROLL;
 import static com.android.server.accessibility.autoclick.AutoclickTypePanel.AutoclickType;
+import static com.android.server.accessibility.autoclick.AutoclickTypePanel.CORNER_BOTTOM_LEFT;
+import static com.android.server.accessibility.autoclick.AutoclickTypePanel.CORNER_BOTTOM_RIGHT;
+import static com.android.server.accessibility.autoclick.AutoclickTypePanel.CORNER_TOP_RIGHT;
 import static com.android.server.accessibility.autoclick.AutoclickTypePanel.ClickPanelControllerInterface;
 
 import static com.google.common.truth.Truth.assertThat;
@@ -31,6 +34,7 @@
 import android.testing.TestableContext;
 import android.testing.TestableLooper;
 import android.view.Gravity;
+import android.view.MotionEvent;
 import android.view.View;
 import android.view.WindowManager;
 import android.widget.LinearLayout;
@@ -213,6 +217,105 @@
         assertThat(mAutoclickTypePanel.isPaused()).isFalse();
     }
 
+    @Test
+    public void onTouch_dragMove_updatesPosition() {
+        View contentView = mAutoclickTypePanel.getContentViewForTesting();
+        WindowManager.LayoutParams params = mAutoclickTypePanel.getLayoutParamsForTesting();
+        int[] panelLocation = new int[2];
+        contentView.getLocationOnScreen(panelLocation);
+
+        // Define movement delta for both x and y directions.
+        int delta = 15;
+
+        // Dispatch initial down event.
+        float touchX = panelLocation[0] + 10;
+        float touchY = panelLocation[1] + 10;
+        MotionEvent downEvent = MotionEvent.obtain(
+                0, 0,
+                MotionEvent.ACTION_DOWN, touchX, touchY, 0);
+        contentView.dispatchTouchEvent(downEvent);
+
+        // Create move event with delta, move from (x, y) to (x + delta, y + delta)
+        MotionEvent moveEvent = MotionEvent.obtain(
+                0, 0,
+                MotionEvent.ACTION_MOVE, touchX + delta, touchY + delta, 0);
+        contentView.dispatchTouchEvent(moveEvent);
+
+        // Verify position update.
+        assertThat(mAutoclickTypePanel.getIsDraggingForTesting()).isTrue();
+        assertThat(params.gravity).isEqualTo(Gravity.LEFT | Gravity.TOP);
+        assertThat(params.x).isEqualTo(panelLocation[0] + delta);
+        assertThat(params.y).isEqualTo(panelLocation[1] + delta);
+    }
+
+    @Test
+    public void dragAndEndAtRight_snapsToRightSide() {
+        View contentView = mAutoclickTypePanel.getContentViewForTesting();
+        WindowManager.LayoutParams params = mAutoclickTypePanel.getLayoutParamsForTesting();
+        int[] panelLocation = new int[2];
+        contentView.getLocationOnScreen(panelLocation);
+
+        int screenWidth = mTestableContext.getResources().getDisplayMetrics().widthPixels;
+
+        // Verify initial corner is bottom-right.
+        assertThat(mAutoclickTypePanel.getCurrentCornerIndexForTesting())
+                .isEqualTo(CORNER_BOTTOM_RIGHT);
+
+        dispatchDragSequence(contentView,
+                /* startX =*/ panelLocation[0] + 10, /* startY =*/ panelLocation[1] + 10,
+                /* endX =*/ (float) (screenWidth * 3) / 4, /* endY =*/ panelLocation[1] + 10);
+
+        // Verify snapping to the right.
+        assertThat(params.gravity).isEqualTo(Gravity.END | Gravity.TOP);
+        assertThat(mAutoclickTypePanel.getCurrentCornerIndexForTesting())
+                .isEqualTo(CORNER_TOP_RIGHT);
+    }
+
+    @Test
+    public void dragAndEndAtLeft_snapsToLeftSide() {
+        View contentView = mAutoclickTypePanel.getContentViewForTesting();
+        WindowManager.LayoutParams params = mAutoclickTypePanel.getLayoutParamsForTesting();
+        int[] panelLocation = new int[2];
+        contentView.getLocationOnScreen(panelLocation);
+
+        int screenWidth = mTestableContext.getResources().getDisplayMetrics().widthPixels;
+
+        // Verify initial corner is bottom-right.
+        assertThat(mAutoclickTypePanel.getCurrentCornerIndexForTesting())
+                .isEqualTo(CORNER_BOTTOM_RIGHT);
+
+        dispatchDragSequence(contentView,
+                /* startX =*/ panelLocation[0] + 10, /* startY =*/ panelLocation[1] + 10,
+                /* endX =*/ (float) screenWidth / 4, /* endY =*/ panelLocation[1] + 10);
+
+        // Verify snapping to the left.
+        assertThat(params.gravity).isEqualTo(Gravity.START | Gravity.TOP);
+        assertThat(mAutoclickTypePanel.getCurrentCornerIndexForTesting())
+                .isEqualTo(CORNER_BOTTOM_LEFT);
+    }
+
+    // Helper method to handle drag event sequences
+    private void dispatchDragSequence(View view, float startX, float startY, float endX,
+            float endY) {
+        // Down event
+        MotionEvent downEvent = MotionEvent.obtain(0, 0, MotionEvent.ACTION_DOWN, startX, startY,
+                0);
+        view.dispatchTouchEvent(downEvent);
+
+        // Move event
+        MotionEvent moveEvent = MotionEvent.obtain(0, 0, MotionEvent.ACTION_MOVE, endX, endY, 0);
+        view.dispatchTouchEvent(moveEvent);
+
+        // Up event
+        MotionEvent upEvent = MotionEvent.obtain(0, 0, MotionEvent.ACTION_UP, endX, endY, 0);
+        view.dispatchTouchEvent(upEvent);
+
+        // Clean up
+        downEvent.recycle();
+        moveEvent.recycle();
+        upEvent.recycle();
+    }
+
     private void verifyButtonHasSelectedStyle(@NonNull LinearLayout button) {
         GradientDrawable gradientDrawable = (GradientDrawable) button.getBackground();
         assertThat(gradientDrawable.getColor().getDefaultColor())
@@ -220,7 +323,7 @@
     }
 
     private void verifyPanelPosition(int[] expectedPosition) {
-        WindowManager.LayoutParams params = mAutoclickTypePanel.getLayoutParams();
+        WindowManager.LayoutParams params = mAutoclickTypePanel.getLayoutParamsForTesting();
         assertThat(mAutoclickTypePanel.getCurrentCornerIndexForTesting()).isEqualTo(
                 expectedPosition[0]);
         assertThat(params.gravity).isEqualTo(expectedPosition[1]);
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandlerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandlerTest.java
index 9f5dd93..5c126d1 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandlerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandlerTest.java
@@ -311,8 +311,7 @@
                         mMockFullScreenMagnificationVibrationHelper,
                         mMockMagnificationLogger,
                         ViewConfiguration.get(mContext),
-                        mMockOneFingerPanningSettingsProvider,
-                        new MouseEventHandler(mFullScreenMagnificationController));
+                        mMockOneFingerPanningSettingsProvider);
         // OverscrollHandler is only supported on watches.
         // @See config_enable_a11y_fullscreen_magnification_overscroll_handler
         if (isWatch()) {
@@ -482,8 +481,8 @@
     @Test
     @RequiresFlagsDisabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
     public void testDisablingTripleTap_removesInputLag() {
-        mMgh = newInstance(/* detectSingleFingerTripleTap */ false,
-                /* detectTwoFingerTripleTap */ true, /* detectShortcut */ true);
+        mMgh = newInstance(/* detectSingleFingerTripleTap= */ false,
+                /* detectTwoFingerTripleTap= */ true, /* detectShortcutTrigger= */ true);
         goFromStateIdleTo(STATE_IDLE);
         allowEventDelegation();
         tap();
@@ -494,8 +493,8 @@
     @Test
     @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
     public void testDisablingSingleFingerTripleTapAndTwoFingerTripleTap_removesInputLag() {
-        mMgh = newInstance(/* detectSingleFingerTripleTap */ false,
-                /* detectTwoFingerTripleTap */ false, /* detectShortcut */ true);
+        mMgh = newInstance(/* detectSingleFingerTripleTap= */ false,
+                /* detectTwoFingerTripleTap= */ false, /* detectShortcutTrigger= */ true);
         goFromStateIdleTo(STATE_IDLE);
         allowEventDelegation();
         tap();
@@ -1420,12 +1419,6 @@
     }
 
     @Test
-    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_MAGNIFICATION_FOLLOWS_MOUSE_BUGFIX)
-    public void testMouseMoveEventsDoNotMoveMagnifierViewport() {
-        runMoveEventsDoNotMoveMagnifierViewport(InputDevice.SOURCE_MOUSE);
-    }
-
-    @Test
     public void testStylusMoveEventsDoNotMoveMagnifierViewport() {
         runMoveEventsDoNotMoveMagnifierViewport(InputDevice.SOURCE_STYLUS);
     }
@@ -1441,7 +1434,7 @@
                 (INITIAL_MAGNIFICATION_BOUNDS.top + INITIAL_MAGNIFICATION_BOUNDS.height()) / 2.0f;
         float scale = 5.6f; // value is unimportant but unique among tests to increase coverage.
         mFullScreenMagnificationController.setScaleAndCenter(
-                DISPLAY_0, centerX, centerY, scale, true, /* animate= */ false, 1);
+                DISPLAY_0, scale, centerX, centerY, true, /* animate= */ false, 1);
         centerX = mFullScreenMagnificationController.getCenterX(DISPLAY_0);
         centerY = mFullScreenMagnificationController.getCenterY(DISPLAY_0);
 
@@ -1474,55 +1467,36 @@
     }
 
     @Test
-    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_MAGNIFICATION_FOLLOWS_MOUSE_BUGFIX)
-    public void testMouseHoverMoveEventsDoNotMoveMagnifierViewport() {
-        runHoverMoveEventsDoNotMoveMagnifierViewport(InputDevice.SOURCE_MOUSE);
-    }
-
-    @Test
-    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_MAGNIFICATION_FOLLOWS_MOUSE_BUGFIX)
-    public void testStylusHoverMoveEventsDoNotMoveMagnifierViewport() {
-        runHoverMoveEventsDoNotMoveMagnifierViewport(InputDevice.SOURCE_STYLUS);
-    }
-
-    @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_FOLLOWS_MOUSE_BUGFIX)
     public void testMouseHoverMoveEventsMoveMagnifierViewport() {
         runHoverMovesViewportTest(InputDevice.SOURCE_MOUSE);
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_FOLLOWS_MOUSE_BUGFIX)
     public void testStylusHoverMoveEventsMoveMagnifierViewport() {
         runHoverMovesViewportTest(InputDevice.SOURCE_STYLUS);
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_FOLLOWS_MOUSE_BUGFIX)
     public void testMouseDownEventsDoNotMoveMagnifierViewport() {
         runDownDoesNotMoveViewportTest(InputDevice.SOURCE_MOUSE);
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_FOLLOWS_MOUSE_BUGFIX)
     public void testStylusDownEventsDoNotMoveMagnifierViewport() {
         runDownDoesNotMoveViewportTest(InputDevice.SOURCE_STYLUS);
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_FOLLOWS_MOUSE_BUGFIX)
     public void testMouseUpEventsDoNotMoveMagnifierViewport() {
         runUpDoesNotMoveViewportTest(InputDevice.SOURCE_MOUSE);
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_FOLLOWS_MOUSE_BUGFIX)
     public void testStylusUpEventsDoNotMoveMagnifierViewport() {
         runUpDoesNotMoveViewportTest(InputDevice.SOURCE_STYLUS);
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_FOLLOWS_MOUSE_BUGFIX)
     public void testMouseMoveEventsMoveMagnifierViewport() {
         final EventCaptor eventCaptor = new EventCaptor();
         mMgh.setNext(eventCaptor);
@@ -1533,7 +1507,7 @@
                 (INITIAL_MAGNIFICATION_BOUNDS.top + INITIAL_MAGNIFICATION_BOUNDS.height()) / 2.0f;
         float scale = 6.2f; // value is unimportant but unique among tests to increase coverage.
         mFullScreenMagnificationController.setScaleAndCenter(
-                DISPLAY_0, centerX, centerY, scale, true, /* animate= */ false, 1);
+                DISPLAY_0, scale, centerX, centerY, true, /* animate= */ false, 1);
         MotionEvent event = mouseEvent(centerX, centerY, ACTION_HOVER_MOVE);
         send(event, InputDevice.SOURCE_MOUSE);
         fastForward(20);
@@ -1574,7 +1548,7 @@
                 (INITIAL_MAGNIFICATION_BOUNDS.top + INITIAL_MAGNIFICATION_BOUNDS.height()) / 2.0f;
         float scale = 4.0f; // value is unimportant but unique among tests to increase coverage.
         mFullScreenMagnificationController.setScaleAndCenter(
-                DISPLAY_0, centerX, centerY, scale, true, /* animate= */ false, 1);
+                DISPLAY_0, scale, centerX, centerY, true, /* animate= */ false, 1);
 
         // HOVER_MOVE should change magnifier viewport.
         MotionEvent event = motionEvent(centerX + 20, centerY, ACTION_HOVER_MOVE);
@@ -1618,7 +1592,7 @@
                 (INITIAL_MAGNIFICATION_BOUNDS.top + INITIAL_MAGNIFICATION_BOUNDS.height()) / 2.0f;
         float scale = 5.3f; // value is unimportant but unique among tests to increase coverage.
         mFullScreenMagnificationController.setScaleAndCenter(
-                DISPLAY_0, centerX, centerY, scale, true, /* animate= */ false, 1);
+                DISPLAY_0, scale, centerX, centerY, true, /* animate= */ false, 1);
         MotionEvent event = motionEvent(centerX, centerY, ACTION_HOVER_MOVE);
         send(event, source);
         fastForward(20);
@@ -1652,7 +1626,7 @@
                 (INITIAL_MAGNIFICATION_BOUNDS.top + INITIAL_MAGNIFICATION_BOUNDS.height()) / 2.0f;
         float scale = 2.7f; // value is unimportant but unique among tests to increase coverage.
         mFullScreenMagnificationController.setScaleAndCenter(
-                DISPLAY_0, centerX, centerY, scale, true, /* animate= */ false, 1);
+                DISPLAY_0, scale, centerX, centerY, true, /* animate= */ false, 1);
         MotionEvent event = motionEvent(centerX, centerY, ACTION_HOVER_MOVE);
         send(event, source);
         fastForward(20);
@@ -1688,7 +1662,7 @@
                 (INITIAL_MAGNIFICATION_BOUNDS.top + INITIAL_MAGNIFICATION_BOUNDS.height()) / 2.0f;
         float scale = 3.8f; // value is unimportant but unique among tests to increase coverage.
         mFullScreenMagnificationController.setScaleAndCenter(
-                DISPLAY_0, centerX, centerY, scale, true, /* animate= */ false, 1);
+                DISPLAY_0, scale, centerX, centerY, true, /* animate= */ false, 1);
         centerX = mFullScreenMagnificationController.getCenterX(DISPLAY_0);
         centerY = mFullScreenMagnificationController.getCenterY(DISPLAY_0);
 
@@ -1725,7 +1699,7 @@
                 (INITIAL_MAGNIFICATION_BOUNDS.top + INITIAL_MAGNIFICATION_BOUNDS.height()) / 2.0f;
         float scale = 4.0f; // value is unimportant but unique among tests to increase coverage.
         mFullScreenMagnificationController.setScaleAndCenter(
-                DISPLAY_0, centerX, centerY, scale, true, /* animate= */ false, 1);
+                DISPLAY_0, scale, centerX, centerY, true, /* animate= */ false, 1);
         centerX = mFullScreenMagnificationController.getCenterX(DISPLAY_0);
         centerY = mFullScreenMagnificationController.getCenterY(DISPLAY_0);
 
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationGestureHandlerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationGestureHandlerTest.java
index 45c157d..203e655 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationGestureHandlerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/magnification/MagnificationGestureHandlerTest.java
@@ -21,15 +21,11 @@
 import static android.view.MotionEvent.ACTION_HOVER_MOVE;
 import static android.view.MotionEvent.ACTION_UP;
 
-import static junit.framework.Assert.assertFalse;
-
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.verify;
 import static org.testng.AssertJUnit.assertTrue;
 
 import android.annotation.NonNull;
-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;
@@ -39,7 +35,6 @@
 import androidx.test.runner.AndroidJUnit4;
 
 import com.android.server.accessibility.AccessibilityTraceManager;
-import com.android.server.accessibility.Flags;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -93,7 +88,6 @@
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_FOLLOWS_MOUSE_BUGFIX)
     public void onMotionEvent_isFromMouse_handleMouseOrStylusEvent() {
         final MotionEvent mouseEvent = MotionEvent.obtain(0, 0, ACTION_HOVER_MOVE, 0, 0, 0);
         mouseEvent.setSource(InputDevice.SOURCE_MOUSE);
@@ -108,7 +102,6 @@
     }
 
     @Test
-    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_FOLLOWS_MOUSE_BUGFIX)
     public void onMotionEvent_isFromStylus_handleMouseOrStylusEvent() {
         final MotionEvent stylusEvent = MotionEvent.obtain(0, 0, ACTION_HOVER_MOVE, 0, 0, 0);
         stylusEvent.setSource(InputDevice.SOURCE_STYLUS);
@@ -123,36 +116,6 @@
     }
 
     @Test
-    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_MAGNIFICATION_FOLLOWS_MOUSE_BUGFIX)
-    public void onMotionEvent_isFromMouse_handleMouseOrStylusEventNotCalled() {
-        final MotionEvent mouseEvent = MotionEvent.obtain(0, 0, ACTION_HOVER_MOVE, 0, 0, 0);
-        mouseEvent.setSource(InputDevice.SOURCE_MOUSE);
-
-        mMgh.onMotionEvent(mouseEvent, mouseEvent, /* policyFlags= */ 0);
-
-        try {
-            assertFalse(mMgh.mIsHandleMouseOrStylusEventCalled);
-        } finally {
-            mouseEvent.recycle();
-        }
-    }
-
-    @Test
-    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_MAGNIFICATION_FOLLOWS_MOUSE_BUGFIX)
-    public void onMotionEvent_isFromStylus_handleMouseOrStylusEventNotCalled() {
-        final MotionEvent stylusEvent = MotionEvent.obtain(0, 0, ACTION_HOVER_MOVE, 0, 0, 0);
-        stylusEvent.setSource(InputDevice.SOURCE_STYLUS);
-
-        mMgh.onMotionEvent(stylusEvent, stylusEvent, /* policyFlags= */ 0);
-
-        try {
-            assertFalse(mMgh.mIsHandleMouseOrStylusEventCalled);
-        } finally {
-            stylusEvent.recycle();
-        }
-    }
-
-    @Test
     public void onMotionEvent_downEvent_handleInteractionStart() {
         final MotionEvent downEvent = MotionEvent.obtain(0, 0, ACTION_DOWN, 0, 0, 0);
         downEvent.setSource(InputDevice.SOURCE_TOUCHSCREEN);
diff --git a/services/tests/servicestests/src/com/android/server/audio/AudioServiceTest.java b/services/tests/servicestests/src/com/android/server/audio/AudioServiceTest.java
index aa9d205..9e8c34e 100644
--- a/services/tests/servicestests/src/com/android/server/audio/AudioServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/audio/AudioServiceTest.java
@@ -259,4 +259,16 @@
                 inputGainIndex,
                 mAudioService.getInputGainIndex(ada));
     }
+
+    @Test
+    public void testRttEnabled() throws Exception {
+        Log.i(TAG, "running testRttEnabled");
+        Assert.assertNotNull(mAudioService);
+
+        mAudioService.setRttEnabled(true);
+        Assert.assertTrue(mAudioService.isRttEnabled());
+
+        mAudioService.setRttEnabled(false);
+        Assert.assertFalse(mAudioService.isRttEnabled());
+    }
 }
diff --git a/services/tests/servicestests/src/com/android/server/om/OverlayManagerSettingsTests.java b/services/tests/servicestests/src/com/android/server/om/OverlayManagerSettingsTests.java
index ad3855f..b1cf905 100644
--- a/services/tests/servicestests/src/com/android/server/om/OverlayManagerSettingsTests.java
+++ b/services/tests/servicestests/src/com/android/server/om/OverlayManagerSettingsTests.java
@@ -37,10 +37,12 @@
 import android.util.Xml;
 
 import androidx.annotation.NonNull;
-import androidx.test.runner.AndroidJUnit4;
 
 import com.android.modules.utils.TypedXmlPullParser;
 
+import junitparams.JUnitParamsRunner;
+import junitparams.Parameters;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -56,7 +58,7 @@
 
 import javax.annotation.Nullable;
 
-@RunWith(AndroidJUnit4.class)
+@RunWith(JUnitParamsRunner.class)
 public class OverlayManagerSettingsTests {
     private OverlayManagerSettings mSettings;
     private static final int USER_0 = 0;
@@ -439,6 +441,39 @@
     }
 
     @Test
+    @Parameters(method = "getPreviousVersions")
+    public void testRestoreWithPreviousVersion(int version) throws Exception {
+        final String xml =
+                "<?xml version='1.0' encoding='utf-8' standalone='yes'?>\n"
+                        + "<overlays version='" + version + "'>\n"
+                        + "<item packageName='com.test.overlay'\n"
+                        + "      overlayName='test'\n"
+                        + "      userId='1234'\n"
+                        + "      targetPackageName='com.test.target'\n"
+                        + "      baseCodePath='/data/app/com.test.overlay-1/base.apk'\n"
+                        + "      state='" + STATE_DISABLED + "'\n"
+                        + "      isEnabled='false'\n"
+                        + "      category='test-category'\n"
+                        + "      isStatic='false'\n"
+                        + "      priority='0' />\n"
+                        + "</overlays>\n";
+        ByteArrayInputStream is = new ByteArrayInputStream(xml.getBytes(UTF_8));
+
+        mSettings.restore(is);
+        final OverlayIdentifier identifier = new OverlayIdentifier("com.test.overlay", "test");
+        OverlayInfo oi = mSettings.getOverlayInfo(identifier, 1234);
+        assertNotNull(oi);
+        assertEquals("com.test.overlay", oi.packageName);
+        assertEquals("test", oi.overlayName);
+        assertEquals("com.test.target", oi.targetPackageName);
+        assertEquals("/data/app/com.test.overlay-1/base.apk", oi.baseCodePath);
+        assertEquals(1234, oi.userId);
+        assertEquals(STATE_DISABLED, oi.state);
+        assertFalse(mSettings.getEnabled(identifier, 1234));
+        assertTrue(oi.constraints.isEmpty());
+    }
+
+    @Test
     public void testPersistAndRestore() throws Exception {
         insertSetting(OVERLAY_A_USER0);
         insertSetting(OVERLAY_B_USER1);
@@ -585,4 +620,11 @@
                         TextUtils.join(",", expected), TextUtils.join(",", actual)));
         }
     }
+
+    private static Integer[] getPreviousVersions() {
+        return new Integer[]{
+                3,
+                4,
+        };
+    }
 }
diff --git a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java
index 58f7622..d6de314 100644
--- a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java
+++ b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest1.java
@@ -159,7 +159,7 @@
     /**
      * Test for the first launch path, no settings file available.
      */
-    public void testFirstInitialize() {
+    public void disabled_testFirstInitialize() {
         assertResetTimes(START_TIME, START_TIME + INTERVAL);
     }
 
@@ -261,12 +261,12 @@
     // === Test for app side APIs ===
 
     /** Test for {@link android.content.pm.ShortcutManager#getMaxShortcutCountForActivity()} */
-    public void testGetMaxDynamicShortcutCount() {
+    public void disabled_testGetMaxDynamicShortcutCount() {
         assertEquals(MAX_SHORTCUTS, mManager.getMaxShortcutCountForActivity());
     }
 
     /** Test for {@link android.content.pm.ShortcutManager#getRemainingCallCount()} */
-    public void testGetRemainingCallCount() {
+    public void disabled_testGetRemainingCallCount() {
         assertEquals(MAX_UPDATES_PER_INTERVAL, mManager.getRemainingCallCount());
     }
 
@@ -793,7 +793,7 @@
         assertEquals(2, mManager.getRemainingCallCount());
     }
 
-    public void testDeleteAllDynamicShortcuts() {
+    public void disabled_testDeleteAllDynamicShortcuts() {
         final ShortcutInfo si1 = makeShortcut("shortcut1");
         final ShortcutInfo si2 = makeShortcut("shortcut2");
         final ShortcutInfo si3 = makeShortcut("shortcut3");
@@ -1036,7 +1036,7 @@
 */
     }
 
-    public void testCleanupDanglingBitmaps() throws Exception {
+    public void disabled_testCleanupDanglingBitmaps() throws Exception {
         assertBitmapDirectories(USER_10, EMPTY_STRINGS);
         assertBitmapDirectories(USER_11, EMPTY_STRINGS);
 
@@ -1702,7 +1702,7 @@
                 "s2");
     }
 
-    public void testCachedShortcuts_accessShortcutsPermission() {
+    public void disabled_testCachedShortcuts_accessShortcutsPermission() {
         runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
             assertTrue(mManager.setDynamicShortcuts(list(makeShortcut("s1"),
                     makeLongLivedShortcut("s2"), makeLongLivedShortcut("s3"),
@@ -1744,7 +1744,7 @@
         assertShortcutIds(mManager.getShortcuts(ShortcutManager.FLAG_MATCH_CACHED), "s3");
     }
 
-    public void testCachedShortcuts_canPassShortcutLimit() {
+    public void disabled_testCachedShortcuts_canPassShortcutLimit() {
         // Change the max number of shortcuts.
         mService.updateConfigurationLocked(ConfigConstants.KEY_MAX_SHORTCUTS + "=4");
 
@@ -1782,7 +1782,7 @@
 
     // === Test for launcher side APIs ===
 
-    public void testGetShortcuts() {
+    public void disabled_testGetShortcuts() {
 
         // Set up shortcuts.
 
@@ -2158,7 +2158,7 @@
         });
     }
 
-    public void testGetShortcuts_personsFlag() {
+    public void disabled_testGetShortcuts_personsFlag() {
         ShortcutInfo s = new ShortcutInfo.Builder(mClientContext, "id")
                 .setShortLabel("label")
                 .setActivity(new ComponentName(mClientContext, ShortcutActivity2.class))
@@ -2206,7 +2206,7 @@
     }
 
     // TODO resource
-    public void testGetShortcutInfo() {
+    public void disabled_testGetShortcutInfo() {
         // Create shortcuts.
         setCaller(CALLING_PACKAGE_1);
         final ShortcutInfo s1_1 = makeShortcut(
@@ -2362,7 +2362,7 @@
      * This is similar to the above test, except it used "disable" instead of "remove".  It also
      * does "enable".
      */
-    public void testDisableAndEnableShortcuts() {
+    public void disabled_testDisableAndEnableShortcuts() {
         runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
             final ShortcutInfo s1_1 = makeShortcutWithTimestamp("s1", 1000);
             final ShortcutInfo s1_2 = makeShortcutWithTimestamp("s2", 2000);
@@ -2487,7 +2487,7 @@
         });
     }
 
-    public void testDisableShortcuts_thenRepublish() {
+    public void disabled_testDisableShortcuts_thenRepublish() {
         runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
             assertTrue(mManager.setDynamicShortcuts(list(
                     makeShortcut("s1"), makeShortcut("s2"), makeShortcut("s3"))));
@@ -4230,7 +4230,7 @@
         // TODO Check all other fields
     }
 
-    public void testCleanupPackage() {
+    public void disabled_testCleanupPackage() {
         runWithCaller(CALLING_PACKAGE_1, USER_10, () -> {
             assertTrue(mManager.setDynamicShortcuts(list(
                     makeShortcut("s0_1"))));
@@ -4507,7 +4507,7 @@
         mService.saveDirtyInfo();
     }
 
-    public void testCleanupPackage_republishManifests() {
+    public void disabled_testCleanupPackage_republishManifests() {
         addManifestShortcutResource(
                 new ComponentName(CALLING_PACKAGE_1, ShortcutActivity.class.getName()),
                 R.xml.shortcut_2);
@@ -4847,7 +4847,7 @@
         assertEquals(expected, spi.canRestoreTo(mService, pi, true));
     }
 
-    public void testCanRestoreTo() {
+    public void disabled_testCanRestoreTo() {
         addPackage(CALLING_PACKAGE_1, CALLING_UID_1, 10, "sig1");
         addPackage(CALLING_PACKAGE_2, CALLING_UID_2, 10, "sig1", "sig2");
         addPackage(CALLING_PACKAGE_3, CALLING_UID_3, 10, "sig1");
@@ -5785,7 +5785,7 @@
         checkBackupAndRestore_success(/*firstRestore=*/ true);
     }
 
-    public void testBackupAndRestore_restoreToSuperSetSignatures() {
+    public void disabled_testBackupAndRestore_restoreToSuperSetSignatures() {
         prepareForBackupTest();
 
         // Change package signatures.
@@ -6913,12 +6913,12 @@
         mManager.hasShareTargets(CALLING_PACKAGE_1);
     }
 
-    public void testDumpsys_crossProfile() {
+    public void disabled_testDumpsys_crossProfile() {
         prepareCrossProfileDataSet();
         dumpsysOnLogcat("test1", /* force= */ true);
     }
 
-    public void testDumpsys_withIcons() throws IOException {
+    public void disabled_testDumpsys_withIcons() throws IOException {
         testIcons();
         // Dump after having some icons.
         dumpsysOnLogcat("test1", /* force= */ true);
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java
index 0ab11e0..f8387a4 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java
@@ -300,7 +300,7 @@
 
     @Parameters(name = "{0}")
     public static List<FlagsParameterization> getParams() {
-        return FlagsParameterization.allCombinationsOf(FLAG_MODES_UI, FLAG_BACKUP_RESTORE_LOGGING,
+        return FlagsParameterization.allCombinationsOf(FLAG_BACKUP_RESTORE_LOGGING,
                 com.android.server.notification.Flags.FLAG_FIX_CALLING_UID_FROM_CPS);
     }
 
diff --git a/services/tests/vibrator/src/com/android/server/vibrator/VibrationThreadTest.java b/services/tests/vibrator/src/com/android/server/vibrator/VibrationThreadTest.java
index 42279e4..04335df 100644
--- a/services/tests/vibrator/src/com/android/server/vibrator/VibrationThreadTest.java
+++ b/services/tests/vibrator/src/com/android/server/vibrator/VibrationThreadTest.java
@@ -20,14 +20,14 @@
 import static android.os.VibrationEffect.Composition.PRIMITIVE_CLICK;
 import static android.os.VibrationEffect.Composition.PRIMITIVE_SPIN;
 import static android.os.VibrationEffect.Composition.PRIMITIVE_TICK;
+import static android.os.VibrationEffect.EFFECT_CLICK;
+import static android.os.VibrationEffect.EFFECT_TICK;
 import static android.os.VibrationEffect.VibrationParameter.targetAmplitude;
 import static android.os.VibrationEffect.VibrationParameter.targetFrequency;
 
 import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyLong;
@@ -189,7 +189,7 @@
     public void vibrate_noVibrator_ignoresVibration() {
         mVibratorProviders.clear();
         CombinedVibration effect = CombinedVibration.createParallel(
-                VibrationEffect.get(VibrationEffect.EFFECT_CLICK));
+                VibrationEffect.get(EFFECT_CLICK));
         HalVibration vibration = startThreadAndDispatcher(effect);
         waitForCompletion();
 
@@ -200,8 +200,8 @@
     @Test
     public void vibrate_missingVibrators_ignoresVibration() {
         CombinedVibration effect = CombinedVibration.startSequential()
-                .addNext(2, VibrationEffect.get(VibrationEffect.EFFECT_CLICK))
-                .addNext(3, VibrationEffect.get(VibrationEffect.EFFECT_TICK))
+                .addNext(2, VibrationEffect.get(EFFECT_CLICK))
+                .addNext(3, VibrationEffect.get(EFFECT_TICK))
                 .combine();
         HalVibration vibration = startThreadAndDispatcher(effect);
         waitForCompletion();
@@ -222,11 +222,12 @@
         verify(mManagerHooks).noteVibratorOff(eq(UID));
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
 
-        assertEquals(Arrays.asList(expectedOneShot(10)),
-                mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id));
-        assertEquals(expectedAmplitudes(100), mVibratorProviders.get(VIBRATOR_ID).getAmplitudes());
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(10)).inOrder();
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getAmplitudes())
+                .containsExactlyElementsIn(expectedAmplitudes(100)).inOrder();
     }
 
     @Test
@@ -239,11 +240,11 @@
         verify(mManagerHooks).noteVibratorOff(eq(UID));
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
 
-        assertEquals(Arrays.asList(expectedOneShot(10)),
-                mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id));
-        assertTrue(mVibratorProviders.get(VIBRATOR_ID).getAmplitudes().isEmpty());
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(10)).inOrder();
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getAmplitudes()).isEmpty();
     }
 
     @Test
@@ -259,12 +260,12 @@
         verify(mManagerHooks).noteVibratorOff(eq(UID));
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
 
-        assertEquals(Arrays.asList(expectedOneShot(15)),
-                mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id));
-        assertEquals(expectedAmplitudes(1, 2, 3),
-                mVibratorProviders.get(VIBRATOR_ID).getAmplitudes());
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(15)).inOrder();
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getAmplitudes())
+                .containsExactlyElementsIn(expectedAmplitudes(1, 2, 3)).inOrder();
     }
 
     @Test
@@ -285,11 +286,12 @@
         waitForCompletion();
 
         verify(mStatsLoggerMock, never()).logVibrationParamRequestTimeout(UID);
-        assertEquals(Arrays.asList(expectedOneShot(15)),
-                mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id));
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(15)).inOrder();
         List<Float> amplitudes = mVibratorProviders.get(VIBRATOR_ID).getAmplitudes();
         for (int i = 0; i < amplitudes.size(); i++) {
-            assertTrue(amplitudes.get(i) < 1 / 255f);
+            assertWithMessage("For amplitude index %s", i)
+                    .that(amplitudes.get(i)).isLessThan(1 / 255f);
         }
     }
 
@@ -309,10 +311,10 @@
         waitForCompletion();
 
         verify(mStatsLoggerMock).logVibrationParamRequestTimeout(UID);
-        assertEquals(Arrays.asList(expectedOneShot(15)),
-                mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id));
-        assertEquals(expectedAmplitudes(1, 1, 1),
-                mVibratorProviders.get(VIBRATOR_ID).getAmplitudes());
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(15)).inOrder();
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getAmplitudes())
+                .containsExactlyElementsIn(expectedAmplitudes(1, 1, 1)).inOrder();
     }
 
     @Test
@@ -325,31 +327,33 @@
         VibrationEffect effect = VibrationEffect.createWaveform(new long[]{5, 5, 5}, amplitudes, 0);
         HalVibration vibration = startThreadAndDispatcher(effect);
 
-        assertTrue(
+        assertThat(
                 waitUntil(() -> fakeVibrator.getAmplitudes().size() > 2 * amplitudes.length,
-                        TEST_TIMEOUT_MILLIS));
+                        TEST_TIMEOUT_MILLIS)).isTrue();
         // Vibration still running after 2 cycles.
-        assertTrue(mThread.isRunningVibrationId(vibration.id));
-        assertTrue(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mThread.isRunningVibrationId(vibration.id)).isTrue();
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isTrue();
 
         Vibration.EndInfo cancelVibrationInfo = new Vibration.EndInfo(Status.CANCELLED_SUPERSEDED,
                 new CallerInfo(VibrationAttributes.createForUsage(VibrationAttributes.USAGE_ALARM),
                         /* uid= */ 1, /* deviceId= */ -1, /* opPkg= */ null, /* reason= */ null));
         mVibrationConductor.notifyCancelled(cancelVibrationInfo, /* immediate= */ false);
         waitForCompletion();
-        assertFalse(mThread.isRunningVibrationId(vibration.id));
+        assertThat(mThread.isRunningVibrationId(vibration.id)).isFalse();
 
         verify(mManagerHooks).noteVibratorOn(eq(UID), anyLong());
         verify(mManagerHooks).noteVibratorOff(eq(UID));
         verifyCallbacksTriggered(vibration, Status.CANCELLED_SUPERSEDED);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
 
         List<Float> playedAmplitudes = fakeVibrator.getAmplitudes();
-        assertFalse(fakeVibrator.getEffectSegments(vibration.id).isEmpty());
-        assertFalse(playedAmplitudes.isEmpty());
+        assertThat(fakeVibrator.getEffectSegments(vibration.id)).isNotEmpty();
+        assertThat(playedAmplitudes).isNotEmpty();
 
         for (int i = 0; i < playedAmplitudes.size(); i++) {
-            assertEquals(amplitudes[i % amplitudes.length] / 255f, playedAmplitudes.get(i), 1e-5);
+            assertWithMessage("For amplitude index %s", i)
+                    .that(amplitudes[i % amplitudes.length] / 255f)
+                    .isWithin(1e-5f).of(playedAmplitudes.get(i));
         }
     }
 
@@ -364,15 +368,16 @@
                 new long[]{1, 10, 100}, amplitudes, 0);
         HalVibration vibration = startThreadAndDispatcher(effect);
 
-        assertTrue(waitUntil(() -> !fakeVibrator.getAmplitudes().isEmpty(), TEST_TIMEOUT_MILLIS));
+        assertThat(waitUntil(() -> !fakeVibrator.getAmplitudes().isEmpty(), TEST_TIMEOUT_MILLIS))
+                .isTrue();
         mVibrationConductor.notifyCancelled(
                 new Vibration.EndInfo(Status.CANCELLED_BY_USER), /* immediate= */ false);
         waitForCompletion();
 
         verifyCallbacksTriggered(vibration, Status.CANCELLED_BY_USER);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
-        assertEquals(Arrays.asList(expectedOneShot(5000)),
-                fakeVibrator.getEffectSegments(vibration.id));
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
+        assertThat(fakeVibrator.getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(5000)).inOrder();
     }
 
     @Test
@@ -391,7 +396,7 @@
         assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
 
         assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
-                .isEqualTo(expectedOneShots(100L, 150L));
+                .containsExactlyElementsIn(expectedOneShots(100L, 150L)).inOrder();
     }
 
     @Test
@@ -412,7 +417,7 @@
         assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
 
         assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
-                .isEqualTo(expectedOneShots(200L, 50L));
+                .containsExactlyElementsIn(expectedOneShots(200L, 50L)).inOrder();
     }
 
     @EnableFlags(Flags.FLAG_FIX_VIBRATION_THREAD_CALLBACK_HANDLING)
@@ -433,8 +438,8 @@
         // 300ms ON (100ms + 200ms looping to the start and skipping first 0ms)
         // 150ms ON (100ms + 50ms, skips 0ms)
         // 300ms ON (100ms + 200ms looping to the start and skipping first 0ms)
-        assertTrue(waitUntil(() -> fakeVibrator.getEffectSegments(vibration.id).size() >= 5,
-                5000L + TEST_TIMEOUT_MILLIS));
+        assertThat(waitUntil(() -> fakeVibrator.getEffectSegments(vibration.id).size() >= 5,
+                5000L + TEST_TIMEOUT_MILLIS)).isTrue();
         mVibrationConductor.notifyCancelled(
                 new Vibration.EndInfo(Status.CANCELLED_BY_USER), /* immediate= */ false);
         waitForCompletion();
@@ -444,7 +449,8 @@
 
         assertThat(
                 mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id).subList(0, 5))
-                .isEqualTo(expectedOneShots(200L, 150L, 300L, 150L, 300L));
+                .containsExactlyElementsIn(expectedOneShots(200L, 150L, 300L, 150L, 300L))
+                .inOrder();
     }
 
     @EnableFlags(Flags.FLAG_FIX_VIBRATION_THREAD_CALLBACK_HANDLING)
@@ -468,7 +474,7 @@
 
         // First callback ignored, did not cause the vibrator to turn back on during the 400ms step.
         assertThat(fakeVibrator.getEffectSegments(vibration.id))
-                .isEqualTo(expectedOneShots(200L, 400L));
+                .containsExactlyElementsIn(expectedOneShots(200L, 400L)).inOrder();
     }
 
     @Test
@@ -490,16 +496,16 @@
                 .compose();
         HalVibration vibration = startThreadAndDispatcher(repeatingEffect);
 
-        assertTrue(waitUntil(() -> !fakeVibrator.getEffectSegments(vibration.id).isEmpty(),
-                TEST_TIMEOUT_MILLIS));
+        assertThat(waitUntil(() -> !fakeVibrator.getEffectSegments(vibration.id).isEmpty(),
+                TEST_TIMEOUT_MILLIS)).isTrue();
         mVibrationConductor.notifyCancelled(
                 new Vibration.EndInfo(Status.CANCELLED_BY_USER), /* immediate= */ false);
         waitForCompletion();
 
         // PWLE size max was used to generate a single vibrate call with 10 segments.
         verifyCallbacksTriggered(vibration, Status.CANCELLED_BY_USER);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
-        assertEquals(10, fakeVibrator.getEffectSegments(vibration.id).size());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
+        assertThat(fakeVibrator.getEffectSegments(vibration.id)).hasSize(10);
     }
 
     @Test
@@ -519,16 +525,16 @@
                 .compose();
         HalVibration vibration = startThreadAndDispatcher(repeatingEffect);
 
-        assertTrue(waitUntil(() -> !fakeVibrator.getEffectSegments(vibration.id).isEmpty(),
-                TEST_TIMEOUT_MILLIS));
+        assertThat(waitUntil(() -> !fakeVibrator.getEffectSegments(vibration.id).isEmpty(),
+                TEST_TIMEOUT_MILLIS)).isTrue();
         mVibrationConductor.notifyCancelled(
                 new Vibration.EndInfo(Status.CANCELLED_BY_SCREEN_OFF), /* immediate= */ false);
         waitForCompletion();
 
         // Composition size max was used to generate a single vibrate call with 10 primitives.
         verifyCallbacksTriggered(vibration, Status.CANCELLED_BY_SCREEN_OFF);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
-        assertEquals(10, fakeVibrator.getEffectSegments(vibration.id).size());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
+        assertThat(fakeVibrator.getEffectSegments(vibration.id)).hasSize(10);
     }
 
     @Test
@@ -542,15 +548,16 @@
                 new long[]{5000, 500, 50}, amplitudes, 0);
         HalVibration vibration = startThreadAndDispatcher(effect);
 
-        assertTrue(waitUntil(() -> !fakeVibrator.getAmplitudes().isEmpty(), TEST_TIMEOUT_MILLIS));
+        assertThat(waitUntil(() -> !fakeVibrator.getAmplitudes().isEmpty(), TEST_TIMEOUT_MILLIS))
+                .isTrue();
         mVibrationConductor.notifyCancelled(
                 new Vibration.EndInfo(Status.CANCELLED_BY_USER), /* immediate= */ false);
         waitForCompletion();
 
         verifyCallbacksTriggered(vibration, Status.CANCELLED_BY_USER);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
-        assertEquals(Arrays.asList(expectedOneShot(5550)),
-                fakeVibrator.getEffectSegments(vibration.id));
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
+        assertThat(fakeVibrator.getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(5550)).inOrder();
     }
 
     @LargeTest
@@ -566,23 +573,24 @@
                 /* amplitudes= */ new int[]{1, 2}, /* repeat= */ 0);
         HalVibration vibration = startThreadAndDispatcher(effect);
 
-        assertTrue(waitUntil(() -> fakeVibrator.getEffectSegments(vibration.id).size() > 1,
-                expectedOnDuration + TEST_TIMEOUT_MILLIS));
+        assertThat(waitUntil(() -> fakeVibrator.getEffectSegments(vibration.id).size() > 1,
+                expectedOnDuration + TEST_TIMEOUT_MILLIS)).isTrue();
         mVibrationConductor.notifyCancelled(
                 new Vibration.EndInfo(Status.CANCELLED_BY_USER), /* immediate= */ false);
         waitForCompletion();
 
         verifyCallbacksTriggered(vibration, Status.CANCELLED_BY_USER);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
         List<VibrationEffectSegment> effectSegments = fakeVibrator.getEffectSegments(vibration.id);
         // First time, turn vibrator ON for the expected fixed duration.
-        assertEquals(expectedOnDuration, effectSegments.get(0).getDuration());
+        assertThat(effectSegments.get(0).getDuration()).isEqualTo(expectedOnDuration);
         // Vibrator turns off in the middle of the second execution of the first step. Expect it to
         // be turned back ON at least for the fixed duration + the remaining duration of the step.
-        assertTrue(expectedOnDuration < effectSegments.get(1).getDuration());
+        assertThat(effectSegments.get(1).getDuration()).isGreaterThan(expectedOnDuration);
         // Set amplitudes for a cycle {1, 2}, start second loop then turn it back on to same value.
-        assertEquals(expectedAmplitudes(1, 2, 1, 1),
-                mVibratorProviders.get(VIBRATOR_ID).getAmplitudes().subList(0, 4));
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getAmplitudes().subList(0, 4))
+                .containsExactlyElementsIn(expectedAmplitudes(1, 2, 1, 1))
+                .inOrder();
     }
 
     @Test
@@ -598,9 +606,9 @@
                 .compose();
         HalVibration vibration = startThreadAndDispatcher(effect);
 
-        assertTrue(waitUntil(() -> mControllers.get(VIBRATOR_ID).isVibrating(),
-                TEST_TIMEOUT_MILLIS));
-        assertTrue(mThread.isRunningVibrationId(vibration.id));
+        assertThat(waitUntil(() -> mControllers.get(VIBRATOR_ID).isVibrating(),
+                TEST_TIMEOUT_MILLIS)).isTrue();
+        assertThat(mThread.isRunningVibrationId(vibration.id)).isTrue();
 
         // Run cancel in a separate thread so if VibrationThread.cancel blocks then this test should
         // fail at waitForCompletion(vibrationThread) if the vibration not cancelled immediately.
@@ -614,7 +622,7 @@
         cancellingThread.join();
 
         verifyCallbacksTriggered(vibration, Status.CANCELLED_BY_SETTINGS_UPDATE);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
     }
 
     @Test
@@ -628,9 +636,9 @@
         VibrationEffect effect = VibrationEffect.createVendorEffect(createTestVendorData());
         HalVibration vibration = startThreadAndDispatcher(effect);
 
-        assertTrue(waitUntil(() -> mControllers.get(VIBRATOR_ID).isVibrating(),
-                TEST_TIMEOUT_MILLIS));
-        assertTrue(mThread.isRunningVibrationId(vibration.id));
+        assertThat(waitUntil(() -> mControllers.get(VIBRATOR_ID).isVibrating(),
+                TEST_TIMEOUT_MILLIS)).isTrue();
+        assertThat(mThread.isRunningVibrationId(vibration.id)).isTrue();
 
         // Run cancel in a separate thread so if VibrationThread.cancel blocks then this test should
         // fail at waitForCompletion(vibrationThread) if the vibration not cancelled immediately.
@@ -644,7 +652,7 @@
         cancellingThread.join();
 
         verifyCallbacksTriggered(vibration, Status.CANCELLED_BY_SETTINGS_UPDATE);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
     }
 
     @Test
@@ -655,9 +663,9 @@
         VibrationEffect effect = VibrationEffect.createWaveform(new long[]{100}, new int[]{100}, 0);
         HalVibration vibration = startThreadAndDispatcher(effect);
 
-        assertTrue(waitUntil(() -> mControllers.get(VIBRATOR_ID).isVibrating(),
-                TEST_TIMEOUT_MILLIS));
-        assertTrue(mThread.isRunningVibrationId(vibration.id));
+        assertThat(waitUntil(() -> mControllers.get(VIBRATOR_ID).isVibrating(),
+                TEST_TIMEOUT_MILLIS)).isTrue();
+        assertThat(mThread.isRunningVibrationId(vibration.id)).isTrue();
 
         // Run cancel in a separate thread so if VibrationThread.cancel blocks then this test should
         // fail at waitForCompletion(vibrationThread) if the vibration not cancelled immediately.
@@ -671,7 +679,7 @@
         cancellingThread.join();
 
         verifyCallbacksTriggered(vibration, Status.CANCELLED_BY_SCREEN_OFF);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
     }
 
     @Test
@@ -686,10 +694,10 @@
         verify(mManagerHooks).noteVibratorOff(eq(UID));
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
 
-        assertEquals(Arrays.asList(expectedPrebaked(VibrationEffect.EFFECT_THUD)),
-                mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id));
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
+                .containsExactly(expectedPrebaked(VibrationEffect.EFFECT_THUD)).inOrder();
     }
 
     @Test
@@ -698,7 +706,7 @@
 
         VibrationEffect fallback = VibrationEffect.createOneShot(10, 100);
         HalVibration vibration = createVibration(CombinedVibration.createParallel(
-                VibrationEffect.get(VibrationEffect.EFFECT_CLICK)));
+                VibrationEffect.get(EFFECT_CLICK)));
         vibration.fillFallbacks(unused -> fallback);
         startThreadAndDispatcher(vibration);
         waitForCompletion();
@@ -707,16 +715,17 @@
         verify(mManagerHooks).noteVibratorOff(eq(UID));
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
 
-        assertEquals(Arrays.asList(expectedOneShot(10)),
-                mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id));
-        assertEquals(expectedAmplitudes(100), mVibratorProviders.get(VIBRATOR_ID).getAmplitudes());
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(10)).inOrder();
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getAmplitudes())
+                .containsExactlyElementsIn(expectedAmplitudes(100)).inOrder();
     }
 
     @Test
     public void vibrate_singleVibratorPrebakedAndUnsupportedEffect_ignoresVibration() {
-        VibrationEffect effect = VibrationEffect.get(VibrationEffect.EFFECT_CLICK);
+        VibrationEffect effect = VibrationEffect.get(EFFECT_CLICK);
         HalVibration vibration = startThreadAndDispatcher(effect);
         waitForCompletion();
 
@@ -725,7 +734,7 @@
         verify(mControllerCallbacks, never())
                 .onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.IGNORED_UNSUPPORTED);
-        assertTrue(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id).isEmpty());
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id)).isEmpty();
     }
 
     @Test
@@ -745,8 +754,7 @@
         assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
 
         assertThat(mVibratorProviders.get(VIBRATOR_ID).getVendorEffects(vibration.id))
-                .containsExactly(effect)
-                .inOrder();
+                .containsExactly(effect).inOrder();
     }
 
     @Test
@@ -766,11 +774,12 @@
         verify(mManagerHooks).noteVibratorOff(eq(UID));
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
-        assertEquals(Arrays.asList(
-                expectedPrimitive(PRIMITIVE_CLICK, 1, 0),
-                expectedPrimitive(PRIMITIVE_TICK, 0.5f, 0)),
-                fakeVibrator.getEffectSegments(vibration.id));
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
+        assertThat(fakeVibrator.getEffectSegments(vibration.id))
+                .containsExactly(
+                        expectedPrimitive(PRIMITIVE_CLICK, 1, 0),
+                        expectedPrimitive(PRIMITIVE_TICK, 0.5f, 0))
+                .inOrder();
     }
 
     @Test
@@ -787,7 +796,7 @@
         verify(mControllerCallbacks, never())
                 .onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.IGNORED_UNSUPPORTED);
-        assertTrue(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id).isEmpty());
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id)).isEmpty();
     }
 
     @Test
@@ -804,7 +813,7 @@
         verify(mControllerCallbacks, never())
                 .onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.IGNORED_UNSUPPORTED);
-        assertTrue(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id).isEmpty());
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id)).isEmpty();
     }
 
     @Test
@@ -826,14 +835,14 @@
         // Vibrator compose called twice.
         verify(mControllerCallbacks, times(2))
                 .onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
-        assertEquals(3, fakeVibrator.getEffectSegments(vibration.id).size());
+        assertThat(fakeVibrator.getEffectSegments(vibration.id)).hasSize(3);
     }
 
     @Test
     @DisableFlags(Flags.FLAG_NORMALIZED_PWLE_EFFECTS)
     public void vibrate_singleVibratorComposedEffects_runsDifferentVibrations() {
         FakeVibratorControllerProvider fakeVibrator = mVibratorProviders.get(VIBRATOR_ID);
-        fakeVibrator.setSupportedEffects(VibrationEffect.EFFECT_CLICK);
+        fakeVibrator.setSupportedEffects(EFFECT_CLICK);
         fakeVibrator.setSupportedPrimitives(PRIMITIVE_CLICK, PRIMITIVE_TICK);
         fakeVibrator.setCapabilities(IVibrator.CAP_COMPOSE_EFFECTS,
                 IVibrator.CAP_COMPOSE_PWLE_EFFECTS, IVibrator.CAP_AMPLITUDE_CONTROL);
@@ -847,13 +856,13 @@
                 .addEffect(VibrationEffect.createOneShot(10, 100))
                 .addPrimitive(PRIMITIVE_CLICK, 1f)
                 .addPrimitive(PRIMITIVE_TICK, 0.5f)
-                .addEffect(VibrationEffect.get(VibrationEffect.EFFECT_CLICK))
+                .addEffect(VibrationEffect.get(EFFECT_CLICK))
                 .addEffect(VibrationEffect.startWaveform()
                         .addTransition(Duration.ofMillis(10),
                                 targetAmplitude(1), targetFrequency(100))
                         .addTransition(Duration.ofMillis(20), targetFrequency(120))
                         .build())
-                .addEffect(VibrationEffect.get(VibrationEffect.EFFECT_CLICK))
+                .addEffect(VibrationEffect.get(EFFECT_CLICK))
                 .compose();
         HalVibration vibration = startThreadAndDispatcher(effect);
         waitForCompletion();
@@ -864,33 +873,37 @@
         verify(mControllerCallbacks, times(5))
                 .onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
-        assertEquals(Arrays.asList(
-                expectedOneShot(10),
-                expectedPrimitive(PRIMITIVE_CLICK, 1, 0),
-                expectedPrimitive(PRIMITIVE_TICK, 0.5f, 0),
-                expectedPrebaked(VibrationEffect.EFFECT_CLICK),
-                expectedRamp(/* startAmplitude= */ 0, /* endAmplitude= */ 0.5f,
-                        /* startFrequencyHz= */ 150, /* endFrequencyHz= */ 100, /* duration= */ 10),
-                expectedRamp(/* startAmplitude= */ 0.5f, /* endAmplitude= */ 0.7f,
-                        /* startFrequencyHz= */ 100, /* endFrequencyHz= */ 120, /* duration= */ 20),
-                expectedPrebaked(VibrationEffect.EFFECT_CLICK)),
-                mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id));
-        assertEquals(expectedAmplitudes(100), mVibratorProviders.get(VIBRATOR_ID).getAmplitudes());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
+                .containsExactly(
+                        expectedOneShot(10),
+                        expectedPrimitive(PRIMITIVE_CLICK, 1, 0),
+                        expectedPrimitive(PRIMITIVE_TICK, 0.5f, 0),
+                        expectedPrebaked(EFFECT_CLICK),
+                        expectedRamp(/* startAmplitude= */ 0, /* endAmplitude= */ 0.5f,
+                                /* startFrequencyHz= */ 150, /* endFrequencyHz= */ 100,
+                                /* duration= */ 10),
+                        expectedRamp(/* startAmplitude= */ 0.5f, /* endAmplitude= */ 0.7f,
+                                /* startFrequencyHz= */ 100, /* endFrequencyHz= */ 120,
+                                /* duration= */ 20),
+                        expectedPrebaked(EFFECT_CLICK))
+                .inOrder();
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getAmplitudes())
+                .containsExactlyElementsIn(expectedAmplitudes(100)).inOrder();
     }
 
     @Test
     public void vibrate_singleVibratorComposedWithFallback_replacedInTheMiddleOfComposition() {
         FakeVibratorControllerProvider fakeVibrator = mVibratorProviders.get(VIBRATOR_ID);
-        fakeVibrator.setSupportedEffects(VibrationEffect.EFFECT_CLICK);
+        fakeVibrator.setSupportedEffects(EFFECT_CLICK);
         fakeVibrator.setSupportedPrimitives(PRIMITIVE_CLICK, PRIMITIVE_TICK);
         fakeVibrator.setCapabilities(IVibrator.CAP_COMPOSE_EFFECTS);
 
         VibrationEffect fallback = VibrationEffect.createOneShot(10, 100);
         VibrationEffect effect = VibrationEffect.startComposition()
-                .addEffect(VibrationEffect.get(VibrationEffect.EFFECT_CLICK))
+                .addEffect(VibrationEffect.get(EFFECT_CLICK))
                 .addPrimitive(PRIMITIVE_CLICK, 1f)
-                .addEffect(VibrationEffect.get(VibrationEffect.EFFECT_TICK))
+                .addEffect(VibrationEffect.get(EFFECT_TICK))
                 .addPrimitive(PRIMITIVE_TICK, 0.5f)
                 .compose();
         HalVibration vibration = createVibration(CombinedVibration.createParallel(effect));
@@ -904,18 +917,19 @@
         verify(mControllerCallbacks, times(4))
                 .onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
 
         List<VibrationEffectSegment> segments =
                 mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id);
-        assertTrue("Wrong segments: " + segments, segments.size() >= 4);
-        assertTrue(segments.get(0) instanceof PrebakedSegment);
-        assertTrue(segments.get(1) instanceof PrimitiveSegment);
+        assertWithMessage("Wrong segments: %s", segments).that(segments.size()).isGreaterThan(3);
+        assertThat(segments.get(0)).isInstanceOf(PrebakedSegment.class);
+        assertThat(segments.get(1)).isInstanceOf(PrimitiveSegment.class);
         for (int i = 2; i < segments.size() - 1; i++) {
             // One or more step segments as fallback for the EFFECT_TICK.
-            assertTrue(segments.get(i) instanceof StepSegment);
+            assertWithMessage("For segment index %s", i)
+                    .that(segments.get(i)).isInstanceOf(StepSegment.class);
         }
-        assertTrue(segments.get(segments.size() - 1) instanceof PrimitiveSegment);
+        assertThat(segments.get(segments.size() - 1)).isInstanceOf(PrimitiveSegment.class);
     }
 
     @Test
@@ -942,14 +956,15 @@
         verify(mManagerHooks).noteVibratorOff(eq(UID));
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
-        assertEquals(Arrays.asList(
-                expectedPwle(/*amplitude=*/ 0.0f, /*frequencyHz=*/ 60f, /*timeMillis=*/ 0),
-                expectedPwle(/*amplitude=*/ 0.1f, /*frequencyHz=*/ 60f, /*timeMillis=*/ 20),
-                expectedPwle(/*amplitude=*/ 0.3f, /*frequencyHz=*/ 100f, /*timeMillis=*/ 30),
-                expectedPwle(/*amplitude=*/ 0.4f, /*frequencyHz=*/ 120f, /*timeMillis=*/ 20),
-                expectedPwle(/*amplitude=*/ 0.0f, /*frequencyHz=*/ 120f, /*timeMillis=*/ 30)
-        ), fakeVibrator.getEffectPwlePoints(vibration.id));
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
+        assertThat(fakeVibrator.getEffectPwlePoints(vibration.id))
+                .containsExactly(
+                        expectedPwle(0.0f, 60f, 0),
+                        expectedPwle(0.1f, 60f, 20),
+                        expectedPwle(0.3f, 100f, 30),
+                        expectedPwle(0.4f, 120f, 20),
+                        expectedPwle(0.0f, 120f, 30))
+                .inOrder();
 
     }
 
@@ -978,13 +993,14 @@
         verify(mManagerHooks).noteVibratorOff(eq(UID));
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
-        assertEquals(Arrays.asList(
-                expectedPwle(/*amplitude=*/ 0.0f, /*frequencyHz=*/ 150f, /*timeMillis=*/ 0),
-                expectedPwle(/*amplitude=*/ 1.0f, /*frequencyHz=*/ 150f, /*timeMillis=*/ 20),
-                expectedPwle(/*amplitude=*/ 1.0f, /*frequencyHz=*/ 150f, /*timeMillis=*/ 100),
-                expectedPwle(/*amplitude=*/ 0.0f, /*frequencyHz=*/ 150f, /*timeMillis=*/ 100)
-        ), fakeVibrator.getEffectPwlePoints(vibration.id));
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
+        assertThat(fakeVibrator.getEffectPwlePoints(vibration.id))
+                .containsExactly(
+                        expectedPwle(0.0f, 150f, 0),
+                        expectedPwle(1.0f, 150f, 20),
+                        expectedPwle(1.0f, 150f, 100),
+                        expectedPwle(0.0f, 150f, 100))
+                .inOrder();
 
     }
 
@@ -1014,15 +1030,15 @@
         verify(mManagerHooks).noteVibratorOff(eq(UID));
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
-        assertEquals(Arrays.asList(
-                expectedPwle(/*amplitude=*/ 0.0f, /*frequencyHz=*/ 30f, /*timeMillis=*/ 0),
-                expectedPwle(/*amplitude=*/ 0.1f, /*frequencyHz=*/ 60f, /*timeMillis=*/ 20),
-                expectedPwle(/*amplitude=*/ 0.3f, /*frequencyHz=*/ 100f, /*timeMillis=*/ 30),
-                expectedPwle(/*amplitude=*/ 0.4f, /*frequencyHz=*/ 120f, /*timeMillis=*/ 20),
-                expectedPwle(/*amplitude=*/ 0.0f, /*frequencyHz=*/ 120f, /*timeMillis=*/ 30)
-        ), fakeVibrator.getEffectPwlePoints(vibration.id));
-
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
+        assertThat(fakeVibrator.getEffectPwlePoints(vibration.id))
+                .containsExactly(
+                        expectedPwle(0.0f, 30f, 0),
+                        expectedPwle(0.1f, 60f, 20),
+                        expectedPwle(0.3f, 100f, 30),
+                        expectedPwle(0.4f, 120f, 20),
+                        expectedPwle(0.0f, 120f, 30))
+                .inOrder();
     }
 
     @Test
@@ -1054,18 +1070,17 @@
         // Using best split points instead of max-packing PWLEs.
         verify(mControllerCallbacks, times(3))
                 .onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
-
-        assertEquals(Arrays.asList(
-                expectedPwle(/*amplitude=*/ 0.0f, /*frequencyHz=*/ 100f, /*timeMillis=*/ 0),
-                expectedPwle(/*amplitude=*/ 0.8f, /*frequencyHz=*/ 100f, /*timeMillis=*/ 30),
-                expectedPwle(/*amplitude=*/ 0.0f, /*frequencyHz=*/ 100f, /*timeMillis=*/ 30),
-                expectedPwle(/*amplitude=*/ 0.9f, /*frequencyHz=*/ 100f, /*timeMillis=*/ 0),
-                expectedPwle(/*amplitude=*/ 0.4f, /*frequencyHz=*/ 100f, /*timeMillis=*/ 30),
-                expectedPwle(/*amplitude=*/ 0.6f, /*frequencyHz=*/ 100f, /*timeMillis=*/ 0),
-                expectedPwle(/*amplitude=*/ 0.7f, /*frequencyHz=*/ 100f, /*timeMillis=*/ 30)
-        ), fakeVibrator.getEffectPwlePoints(vibration.id));
-
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
+        assertThat(fakeVibrator.getEffectPwlePoints(vibration.id))
+                .containsExactly(
+                        expectedPwle(0.0f, 100f, 0),
+                        expectedPwle(0.8f, 100f, 30),
+                        expectedPwle(0.0f, 100f, 30),
+                        expectedPwle(0.9f, 100f, 0),
+                        expectedPwle(0.4f, 100f, 30),
+                        expectedPwle(0.6f, 100f, 0),
+                        expectedPwle(0.7f, 100f, 30))
+                .inOrder();
     }
 
     @Test
@@ -1094,17 +1109,21 @@
         verify(mManagerHooks).noteVibratorOff(eq(UID));
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
-        assertEquals(Arrays.asList(
-                expectedRamp(/* amplitude= */ 1, /* frequencyHz= */ 150, /* duration= */ 10),
-                expectedRamp(/* startAmplitude= */ 1, /* endAmplitude= */ 0,
-                        /* startFrequencyHz= */ 150, /* endFrequencyHz= */ 150, /* duration= */ 20),
-                expectedRamp(/* amplitude= */ 0.5f, /* frequencyHz= */ 100, /* duration= */ 30),
-                expectedRamp(/* startAmplitude= */ 0.5f, /* endAmplitude= */ 0.6f,
-                        /* startFrequencyHz= */ 100, /* endFrequencyHz= */ 200,
-                        /* duration= */ 40)),
-                fakeVibrator.getEffectSegments(vibration.id));
-        assertEquals(Arrays.asList(Braking.CLAB), fakeVibrator.getBraking(vibration.id));
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
+        assertThat(fakeVibrator.getEffectSegments(vibration.id))
+                .containsExactly(
+                        expectedRamp(/* amplitude= */ 1, /* frequencyHz= */ 150,
+                                /* duration= */ 10),
+                        expectedRamp(/* startAmplitude= */ 1, /* endAmplitude= */ 0,
+                                /* startFrequencyHz= */ 150, /* endFrequencyHz= */ 150,
+                                /* duration= */ 20),
+                        expectedRamp(/* amplitude= */ 0.5f, /* frequencyHz= */ 100,
+                                /* duration= */ 30),
+                        expectedRamp(/* startAmplitude= */ 0.5f, /* endAmplitude= */ 0.6f,
+                                /* startFrequencyHz= */ 100, /* endFrequencyHz= */ 200,
+                                /* duration= */ 40))
+                .inOrder();
+        assertThat(fakeVibrator.getBraking(vibration.id)).containsExactly(Braking.CLAB).inOrder();
     }
 
     @Test
@@ -1137,7 +1156,7 @@
         // Using best split points instead of max-packing PWLEs.
         verify(mControllerCallbacks, times(3))
                 .onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
-        assertEquals(6, fakeVibrator.getEffectSegments(vibration.id).size());
+        assertThat(fakeVibrator.getEffectSegments(vibration.id)).hasSize(6);
     }
 
     @Test
@@ -1148,15 +1167,16 @@
         VibrationEffect effect = VibrationEffect.createWaveform(new long[]{5}, new int[]{100}, 0);
         HalVibration vibration = startThreadAndDispatcher(effect);
 
-        assertTrue(waitUntil(() -> fakeVibrator.getAmplitudes().size() > 2, TEST_TIMEOUT_MILLIS));
+        assertThat(waitUntil(() -> fakeVibrator.getAmplitudes().size() > 2, TEST_TIMEOUT_MILLIS))
+                .isTrue();
         // Vibration still running after 2 cycles.
-        assertTrue(mThread.isRunningVibrationId(vibration.id));
-        assertTrue(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mThread.isRunningVibrationId(vibration.id)).isTrue();
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isTrue();
 
         mVibrationConductor.notifyCancelled(
                 new Vibration.EndInfo(Status.CANCELLED_BINDER_DIED), /* immediate= */ false);
         waitForCompletion();
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
 
         verifyCallbacksTriggered(vibration, Status.CANCELLED_BINDER_DIED);
     }
@@ -1176,11 +1196,11 @@
 
     @Test
     public void vibrate_multipleExistingAndMissingVibrators_vibratesOnlyExistingOnes() {
-        mVibratorProviders.get(1).setSupportedEffects(VibrationEffect.EFFECT_TICK);
+        mVibratorProviders.get(1).setSupportedEffects(EFFECT_TICK);
 
         CombinedVibration effect = CombinedVibration.startParallel()
-                .addVibrator(VIBRATOR_ID, VibrationEffect.get(VibrationEffect.EFFECT_TICK))
-                .addVibrator(2, VibrationEffect.get(VibrationEffect.EFFECT_TICK))
+                .addVibrator(VIBRATOR_ID, VibrationEffect.get(EFFECT_TICK))
+                .addVibrator(2, VibrationEffect.get(EFFECT_TICK))
                 .combine();
         HalVibration vibration = startThreadAndDispatcher(effect);
         waitForCompletion();
@@ -1190,21 +1210,21 @@
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verify(mControllerCallbacks, never()).onComplete(eq(2), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
 
-        assertEquals(Arrays.asList(expectedPrebaked(VibrationEffect.EFFECT_TICK)),
-                mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id));
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
+                .containsExactly(expectedPrebaked(EFFECT_TICK)).inOrder();
     }
 
     @Test
     public void vibrate_multipleMono_runsSameEffectInAllVibrators() {
         mockVibrators(1, 2, 3);
-        mVibratorProviders.get(1).setSupportedEffects(VibrationEffect.EFFECT_CLICK);
-        mVibratorProviders.get(2).setSupportedEffects(VibrationEffect.EFFECT_CLICK);
-        mVibratorProviders.get(3).setSupportedEffects(VibrationEffect.EFFECT_CLICK);
+        mVibratorProviders.get(1).setSupportedEffects(EFFECT_CLICK);
+        mVibratorProviders.get(2).setSupportedEffects(EFFECT_CLICK);
+        mVibratorProviders.get(3).setSupportedEffects(EFFECT_CLICK);
 
         CombinedVibration effect = CombinedVibration.createParallel(
-                VibrationEffect.get(VibrationEffect.EFFECT_CLICK));
+                VibrationEffect.get(EFFECT_CLICK));
         HalVibration vibration = startThreadAndDispatcher(effect);
         waitForCompletion();
 
@@ -1214,23 +1234,23 @@
         verify(mControllerCallbacks).onComplete(eq(2), eq(vibration.id), anyLong());
         verify(mControllerCallbacks).onComplete(eq(3), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(1).isVibrating());
-        assertFalse(mControllers.get(2).isVibrating());
-        assertFalse(mControllers.get(3).isVibrating());
+        assertThat(mControllers.get(1).isVibrating()).isFalse();
+        assertThat(mControllers.get(2).isVibrating()).isFalse();
+        assertThat(mControllers.get(3).isVibrating()).isFalse();
 
-        VibrationEffectSegment expected = expectedPrebaked(VibrationEffect.EFFECT_CLICK);
-        assertEquals(Arrays.asList(expected),
-                mVibratorProviders.get(1).getEffectSegments(vibration.id));
-        assertEquals(Arrays.asList(expected),
-                mVibratorProviders.get(2).getEffectSegments(vibration.id));
-        assertEquals(Arrays.asList(expected),
-                mVibratorProviders.get(3).getEffectSegments(vibration.id));
+        VibrationEffectSegment expected = expectedPrebaked(EFFECT_CLICK);
+        assertThat(mVibratorProviders.get(1).getEffectSegments(vibration.id))
+                .containsExactly(expected).inOrder();
+        assertThat(mVibratorProviders.get(2).getEffectSegments(vibration.id))
+                .containsExactly(expected).inOrder();
+        assertThat(mVibratorProviders.get(3).getEffectSegments(vibration.id))
+                .containsExactly(expected).inOrder();
     }
 
     @Test
     public void vibrate_multipleStereo_runsVibrationOnRightVibrators() {
         mockVibrators(1, 2, 3, 4);
-        mVibratorProviders.get(1).setSupportedEffects(VibrationEffect.EFFECT_CLICK);
+        mVibratorProviders.get(1).setSupportedEffects(EFFECT_CLICK);
         mVibratorProviders.get(2).setCapabilities(IVibrator.CAP_AMPLITUDE_CONTROL);
         mVibratorProviders.get(3).setCapabilities(IVibrator.CAP_AMPLITUDE_CONTROL);
         mVibratorProviders.get(4).setCapabilities(IVibrator.CAP_COMPOSE_EFFECTS);
@@ -1240,7 +1260,7 @@
                 .addPrimitive(PRIMITIVE_CLICK)
                 .compose();
         CombinedVibration effect = CombinedVibration.startParallel()
-                .addVibrator(1, VibrationEffect.get(VibrationEffect.EFFECT_CLICK))
+                .addVibrator(1, VibrationEffect.get(EFFECT_CLICK))
                 .addVibrator(2, VibrationEffect.createOneShot(10, 100))
                 .addVibrator(3, VibrationEffect.createWaveform(
                         new long[]{10, 10}, new int[]{1, 2}, -1))
@@ -1256,21 +1276,23 @@
         verify(mControllerCallbacks).onComplete(eq(3), eq(vibration.id), anyLong());
         verify(mControllerCallbacks).onComplete(eq(4), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(1).isVibrating());
-        assertFalse(mControllers.get(2).isVibrating());
-        assertFalse(mControllers.get(3).isVibrating());
-        assertFalse(mControllers.get(4).isVibrating());
+        assertThat(mControllers.get(1).isVibrating()).isFalse();
+        assertThat(mControllers.get(2).isVibrating()).isFalse();
+        assertThat(mControllers.get(3).isVibrating()).isFalse();
+        assertThat(mControllers.get(4).isVibrating()).isFalse();
 
-        assertEquals(Arrays.asList(expectedPrebaked(VibrationEffect.EFFECT_CLICK)),
-                mVibratorProviders.get(1).getEffectSegments(vibration.id));
-        assertEquals(Arrays.asList(expectedOneShot(10)),
-                mVibratorProviders.get(2).getEffectSegments(vibration.id));
-        assertEquals(expectedAmplitudes(100), mVibratorProviders.get(2).getAmplitudes());
-        assertEquals(Arrays.asList(expectedOneShot(20)),
-                mVibratorProviders.get(3).getEffectSegments(vibration.id));
-        assertEquals(expectedAmplitudes(1, 2), mVibratorProviders.get(3).getAmplitudes());
-        assertEquals(Arrays.asList(expectedPrimitive(PRIMITIVE_CLICK, 1, 0)),
-                mVibratorProviders.get(4).getEffectSegments(vibration.id));
+        assertThat(mVibratorProviders.get(1).getEffectSegments(vibration.id))
+                .containsExactly(expectedPrebaked(EFFECT_CLICK)).inOrder();
+        assertThat(mVibratorProviders.get(2).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(10)).inOrder();
+        assertThat(mVibratorProviders.get(2).getAmplitudes())
+                .containsExactlyElementsIn(expectedAmplitudes(100)).inOrder();
+        assertThat(mVibratorProviders.get(3).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(20)).inOrder();
+        assertThat(mVibratorProviders.get(3).getAmplitudes())
+                .containsExactlyElementsIn(expectedAmplitudes(1, 2)).inOrder();
+        assertThat(mVibratorProviders.get(4).getEffectSegments(vibration.id))
+                .containsExactly(expectedPrimitive(PRIMITIVE_CLICK, 1, 0)).inOrder();
     }
 
     @Test
@@ -1279,13 +1301,13 @@
         mVibratorProviders.get(1).setCapabilities(IVibrator.CAP_AMPLITUDE_CONTROL);
         mVibratorProviders.get(2).setCapabilities(IVibrator.CAP_COMPOSE_EFFECTS);
         mVibratorProviders.get(2).setSupportedPrimitives(PRIMITIVE_CLICK);
-        mVibratorProviders.get(3).setSupportedEffects(VibrationEffect.EFFECT_CLICK);
+        mVibratorProviders.get(3).setSupportedEffects(EFFECT_CLICK);
 
         VibrationEffect composed = VibrationEffect.startComposition()
                 .addPrimitive(PRIMITIVE_CLICK)
                 .compose();
         CombinedVibration effect = CombinedVibration.startSequential()
-                .addNext(3, VibrationEffect.get(VibrationEffect.EFFECT_CLICK), /* delay= */ 50)
+                .addNext(3, VibrationEffect.get(EFFECT_CLICK), /* delay= */ 50)
                 .addNext(1, VibrationEffect.createOneShot(10, 100), /* delay= */ 50)
                 .addNext(2, composed, /* delay= */ 50)
                 .combine();
@@ -1306,17 +1328,18 @@
         batteryVerifier.verify(mManagerHooks).noteVibratorOff(eq(UID));
 
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(1).isVibrating());
-        assertFalse(mControllers.get(2).isVibrating());
-        assertFalse(mControllers.get(3).isVibrating());
+        assertThat(mControllers.get(1).isVibrating()).isFalse();
+        assertThat(mControllers.get(2).isVibrating()).isFalse();
+        assertThat(mControllers.get(3).isVibrating()).isFalse();
 
-        assertEquals(Arrays.asList(expectedOneShot(10)),
-                mVibratorProviders.get(1).getEffectSegments(vibration.id));
-        assertEquals(expectedAmplitudes(100), mVibratorProviders.get(1).getAmplitudes());
-        assertEquals(Arrays.asList(expectedPrimitive(PRIMITIVE_CLICK, 1, 0)),
-                mVibratorProviders.get(2).getEffectSegments(vibration.id));
-        assertEquals(Arrays.asList(expectedPrebaked(VibrationEffect.EFFECT_CLICK)),
-                mVibratorProviders.get(3).getEffectSegments(vibration.id));
+        assertThat(mVibratorProviders.get(1).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(10)).inOrder();
+        assertThat(mVibratorProviders.get(1).getAmplitudes())
+                .containsExactlyElementsIn(expectedAmplitudes(100)).inOrder();
+        assertThat(mVibratorProviders.get(2).getEffectSegments(vibration.id))
+                .containsExactly(expectedPrimitive(PRIMITIVE_CLICK, 1, 0)).inOrder();
+        assertThat(mVibratorProviders.get(3).getEffectSegments(vibration.id))
+                .containsExactly(expectedPrebaked(EFFECT_CLICK)).inOrder();
     }
 
     @Test
@@ -1339,10 +1362,10 @@
         when(mManagerHooks.triggerSyncedVibration(eq(vibration.id))).thenReturn(true);
         startThreadAndDispatcher(vibration);
 
-        assertTrue(waitUntil(
+        assertThat(waitUntil(
                 () -> !mVibratorProviders.get(1).getEffectSegments(vibration.id).isEmpty()
                         && !mVibratorProviders.get(2).getEffectSegments(vibration.id).isEmpty(),
-                TEST_TIMEOUT_MILLIS));
+                TEST_TIMEOUT_MILLIS)).isTrue();
         mVibrationConductor.notifySyncedVibrationComplete();
         waitForCompletion();
 
@@ -1353,17 +1376,17 @@
         verifyCallbacksTriggered(vibration, Status.FINISHED);
 
         VibrationEffectSegment expected = expectedPrimitive(PRIMITIVE_CLICK, 1, 100);
-        assertEquals(Arrays.asList(expected),
-                mVibratorProviders.get(1).getEffectSegments(vibration.id));
-        assertEquals(Arrays.asList(expected),
-                mVibratorProviders.get(2).getEffectSegments(vibration.id));
+        assertThat(mVibratorProviders.get(1).getEffectSegments(vibration.id))
+                .containsExactly(expected).inOrder();
+        assertThat(mVibratorProviders.get(2).getEffectSegments(vibration.id))
+                .containsExactly(expected).inOrder();
     }
 
     @Test
     public void vibrate_multipleSynced_callsPrepareAndTriggerCallbacks() {
         int[] vibratorIds = new int[]{1, 2, 3, 4};
         mockVibrators(vibratorIds);
-        mVibratorProviders.get(1).setSupportedEffects(VibrationEffect.EFFECT_CLICK);
+        mVibratorProviders.get(1).setSupportedEffects(EFFECT_CLICK);
         mVibratorProviders.get(4).setCapabilities(IVibrator.CAP_COMPOSE_EFFECTS);
         mVibratorProviders.get(4).setSupportedPrimitives(PRIMITIVE_CLICK);
         when(mManagerHooks.prepareSyncedVibration(anyLong(), any())).thenReturn(true);
@@ -1372,7 +1395,7 @@
                 .addPrimitive(PRIMITIVE_CLICK)
                 .compose();
         CombinedVibration effect = CombinedVibration.startParallel()
-                .addVibrator(1, VibrationEffect.get(VibrationEffect.EFFECT_CLICK))
+                .addVibrator(1, VibrationEffect.get(EFFECT_CLICK))
                 .addVibrator(2, VibrationEffect.createOneShot(10, 100))
                 .addVibrator(3, VibrationEffect.createWaveform(new long[]{10}, new int[]{100}, -1))
                 .addVibrator(4, composed)
@@ -1417,24 +1440,26 @@
         verify(mManagerHooks, never()).triggerSyncedVibration(eq(vibration.id));
         verify(mManagerHooks, never()).cancelSyncedVibration();
 
-        assertEquals(Arrays.asList(expectedOneShot(10)),
-                mVibratorProviders.get(1).getEffectSegments(vibration.id));
-        assertEquals(expectedAmplitudes(100), mVibratorProviders.get(1).getAmplitudes());
-        assertEquals(Arrays.asList(expectedOneShot(5)),
-                mVibratorProviders.get(2).getEffectSegments(vibration.id));
-        assertEquals(expectedAmplitudes(200), mVibratorProviders.get(2).getAmplitudes());
+        assertThat(mVibratorProviders.get(1).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(10)).inOrder();
+        assertThat(mVibratorProviders.get(1).getAmplitudes())
+                .containsExactlyElementsIn(expectedAmplitudes(100)).inOrder();
+        assertThat(mVibratorProviders.get(2).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(5)).inOrder();
+        assertThat(mVibratorProviders.get(2).getAmplitudes())
+                .containsExactlyElementsIn(expectedAmplitudes(200)).inOrder();
     }
 
     @Test
     public void vibrate_multipleSyncedTriggerFailed_cancelPreparedVibrationAndSkipSetAmplitude() {
         int[] vibratorIds = new int[]{1, 2};
         mockVibrators(vibratorIds);
-        mVibratorProviders.get(2).setSupportedEffects(VibrationEffect.EFFECT_CLICK);
+        mVibratorProviders.get(2).setSupportedEffects(EFFECT_CLICK);
         when(mManagerHooks.prepareSyncedVibration(anyLong(), any())).thenReturn(true);
 
         CombinedVibration effect = CombinedVibration.startParallel()
                 .addVibrator(1, VibrationEffect.createOneShot(10, 100))
-                .addVibrator(2, VibrationEffect.get(VibrationEffect.EFFECT_CLICK))
+                .addVibrator(2, VibrationEffect.get(EFFECT_CLICK))
                 .combine();
         // We create the HalVibration here to obtain the vibration id and use it to mock the
         // required response when calling triggerSyncedVibration.
@@ -1451,7 +1476,7 @@
         verify(mManagerHooks).prepareSyncedVibration(eq(expectedCap), eq(vibratorIds));
         verify(mManagerHooks).triggerSyncedVibration(eq(vibration.id));
         verify(mManagerHooks).cancelSyncedVibration();
-        assertTrue(mVibratorProviders.get(1).getAmplitudes().isEmpty());
+        assertThat(mVibratorProviders.get(1).getAmplitudes()).isEmpty();
     }
 
     @Test
@@ -1472,11 +1497,11 @@
         HalVibration vibration = startThreadAndDispatcher(effect);
 
         // All vibrators are turned on in parallel.
-        assertTrue(waitUntil(
+        assertThat(waitUntil(
                 () -> mControllers.get(1).isVibrating()
                         && mControllers.get(2).isVibrating()
                         && mControllers.get(3).isVibrating(),
-                TEST_TIMEOUT_MILLIS));
+                TEST_TIMEOUT_MILLIS)).isTrue();
 
         waitForCompletion();
 
@@ -1486,19 +1511,23 @@
         verify(mControllerCallbacks).onComplete(eq(2), eq(vibration.id), anyLong());
         verify(mControllerCallbacks).onComplete(eq(3), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertFalse(mControllers.get(1).isVibrating());
-        assertFalse(mControllers.get(2).isVibrating());
-        assertFalse(mControllers.get(3).isVibrating());
+        assertThat(mControllers.get(1).isVibrating()).isFalse();
+        assertThat(mControllers.get(2).isVibrating()).isFalse();
+        assertThat(mControllers.get(3).isVibrating()).isFalse();
 
-        assertEquals(Arrays.asList(expectedOneShot(25)),
-                mVibratorProviders.get(1).getEffectSegments(vibration.id));
-        assertEquals(Arrays.asList(expectedOneShot(80)),
-                mVibratorProviders.get(2).getEffectSegments(vibration.id));
-        assertEquals(Arrays.asList(expectedOneShot(60)),
-                mVibratorProviders.get(3).getEffectSegments(vibration.id));
-        assertEquals(expectedAmplitudes(1, 2, 3), mVibratorProviders.get(1).getAmplitudes());
-        assertEquals(expectedAmplitudes(4, 5), mVibratorProviders.get(2).getAmplitudes());
-        assertEquals(expectedAmplitudes(6), mVibratorProviders.get(3).getAmplitudes());
+        assertThat(mVibratorProviders.get(1).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(25)).inOrder();
+        assertThat(mVibratorProviders.get(2).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(80)).inOrder();
+        assertThat(mVibratorProviders.get(3).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(60)).inOrder();
+        assertThat(mVibratorProviders.get(1).getAmplitudes())
+                .containsExactlyElementsIn(expectedAmplitudes(1, 2, 3)).inOrder();
+        assertThat(mVibratorProviders.get(2).getAmplitudes())
+                .containsExactlyElementsIn(expectedAmplitudes(4, 5)).inOrder();
+        assertThat(mVibratorProviders.get(3).getAmplitudes())
+                .containsExactlyElementsIn(expectedAmplitudes(6)).inOrder();
+
     }
 
     @Test
@@ -1545,8 +1574,8 @@
                         VibrationEffect.createOneShot(
                                 expectedDuration, VibrationEffect.DEFAULT_AMPLITUDE)));
 
-        startThreadAndDispatcher(vibration);
         long startTime = SystemClock.elapsedRealtime();
+        startThreadAndDispatcher(vibration);
 
         vibration.waitForEnd();
         long vibrationEndTime = SystemClock.elapsedRealtime();
@@ -1616,26 +1645,24 @@
 
         // Allow some delay for thread scheduling and callback triggering.
         int maxDelay = (int) (0.05 * totalDuration); // < 5% of total duration
-        assertTrue("Waveform with perceived delay of " + delay + "ms,"
-                        + " expected less than " + maxDelay + "ms",
-                delay < maxDelay);
+        assertThat(delay).isLessThan(maxDelay);
     }
 
     @LargeTest
     @Test
     public void vibrate_cancelSlowVibrator_cancelIsNotBlockedByVibrationThread() throws Exception {
         FakeVibratorControllerProvider fakeVibrator = mVibratorProviders.get(VIBRATOR_ID);
-        fakeVibrator.setSupportedEffects(VibrationEffect.EFFECT_CLICK);
+        fakeVibrator.setSupportedEffects(EFFECT_CLICK);
 
         long latency = 5_000; // 5s
         fakeVibrator.setOnLatency(latency);
 
-        VibrationEffect effect = VibrationEffect.get(VibrationEffect.EFFECT_CLICK);
+        VibrationEffect effect = VibrationEffect.get(EFFECT_CLICK);
         HalVibration vibration = startThreadAndDispatcher(effect);
 
-        assertTrue(waitUntil(() -> !fakeVibrator.getEffectSegments(vibration.id).isEmpty(),
-                TEST_TIMEOUT_MILLIS));
-        assertTrue(mThread.isRunningVibrationId(vibration.id));
+        assertThat(waitUntil(() -> !fakeVibrator.getEffectSegments(vibration.id).isEmpty(),
+                TEST_TIMEOUT_MILLIS)).isTrue();
+        assertThat(mThread.isRunningVibrationId(vibration.id)).isTrue();
 
         // Run cancel in a separate thread so if VibrationThread.cancel blocks then this test should
         // fail at waitForCompletion(cancellingThread).
@@ -1651,18 +1678,18 @@
         // After the vibrator call ends the vibration is cancelled and the vibrator is turned off.
         waitForCompletion(/* timeout= */ latency + TEST_TIMEOUT_MILLIS);
         verifyCallbacksTriggered(vibration, Status.CANCELLED_BY_USER);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
     }
 
     @Test
     public void vibrate_multiplePredefinedCancel_cancelsVibrationImmediately() throws Exception {
         mockVibrators(1, 2);
-        mVibratorProviders.get(1).setSupportedEffects(VibrationEffect.EFFECT_CLICK);
+        mVibratorProviders.get(1).setSupportedEffects(EFFECT_CLICK);
         mVibratorProviders.get(2).setCapabilities(IVibrator.CAP_COMPOSE_EFFECTS);
         mVibratorProviders.get(2).setSupportedPrimitives(PRIMITIVE_CLICK);
 
         CombinedVibration effect = CombinedVibration.startParallel()
-                .addVibrator(1, VibrationEffect.get(VibrationEffect.EFFECT_CLICK))
+                .addVibrator(1, VibrationEffect.get(EFFECT_CLICK))
                 .addVibrator(2, VibrationEffect.startComposition()
                         .addPrimitive(PRIMITIVE_CLICK, 1f, 100)
                         .addPrimitive(PRIMITIVE_CLICK, 1f, 100)
@@ -1671,8 +1698,9 @@
                 .combine();
         HalVibration vibration = startThreadAndDispatcher(effect);
 
-        assertTrue(waitUntil(() -> mControllers.get(2).isVibrating(), TEST_TIMEOUT_MILLIS));
-        assertTrue(mThread.isRunningVibrationId(vibration.id));
+        assertThat(waitUntil(() -> mControllers.get(2).isVibrating(), TEST_TIMEOUT_MILLIS))
+                .isTrue();
+        assertThat(mThread.isRunningVibrationId(vibration.id)).isTrue();
 
         // Run cancel in a separate thread so if VibrationThread.cancel blocks then this test should
         // fail at waitForCompletion(vibrationThread) if the vibration not cancelled immediately.
@@ -1686,8 +1714,8 @@
         cancellingThread.join();
 
         verifyCallbacksTriggered(vibration, Status.CANCELLED_BY_SCREEN_OFF);
-        assertFalse(mControllers.get(1).isVibrating());
-        assertFalse(mControllers.get(2).isVibrating());
+        assertThat(mControllers.get(1).isVibrating()).isFalse();
+        assertThat(mControllers.get(2).isVibrating()).isFalse();
     }
 
     @Test
@@ -1705,8 +1733,9 @@
                 .combine();
         HalVibration vibration = startThreadAndDispatcher(effect);
 
-        assertTrue(waitUntil(() -> mControllers.get(2).isVibrating(), TEST_TIMEOUT_MILLIS));
-        assertTrue(mThread.isRunningVibrationId(vibration.id));
+        assertThat(waitUntil(() -> mControllers.get(2).isVibrating(), TEST_TIMEOUT_MILLIS))
+                .isTrue();
+        assertThat(mThread.isRunningVibrationId(vibration.id)).isTrue();
 
         // Run cancel in a separate thread so if VibrationThread.cancel blocks then this test should
         // fail at waitForCompletion(vibrationThread) if the vibration not cancelled immediately.
@@ -1720,8 +1749,8 @@
         cancellingThread.join();
 
         verifyCallbacksTriggered(vibration, Status.CANCELLED_BY_SCREEN_OFF);
-        assertFalse(mControllers.get(1).isVibrating());
-        assertFalse(mControllers.get(2).isVibrating());
+        assertThat(mControllers.get(1).isVibrating()).isFalse();
+        assertThat(mControllers.get(2).isVibrating()).isFalse();
     }
 
     @Test
@@ -1737,10 +1766,10 @@
                 .combine();
         HalVibration vibration = startThreadAndDispatcher(effect);
 
-        assertTrue(waitUntil(() -> mControllers.get(1).isVibrating()
+        assertThat(waitUntil(() -> mControllers.get(1).isVibrating()
                         && mControllers.get(2).isVibrating(),
-                TEST_TIMEOUT_MILLIS));
-        assertTrue(mThread.isRunningVibrationId(vibration.id));
+                TEST_TIMEOUT_MILLIS)).isTrue();
+        assertThat(mThread.isRunningVibrationId(vibration.id)).isTrue();
 
         // Run cancel in a separate thread so if VibrationThread.cancel blocks then this test should
         // fail at waitForCompletion(vibrationThread) if the vibration not cancelled immediately.
@@ -1754,8 +1783,8 @@
         cancellingThread.join();
 
         verifyCallbacksTriggered(vibration, Status.CANCELLED_BY_SCREEN_OFF);
-        assertFalse(mControllers.get(1).isVibrating());
-        assertFalse(mControllers.get(2).isVibrating());
+        assertThat(mControllers.get(1).isVibrating()).isFalse();
+        assertThat(mControllers.get(2).isVibrating()).isFalse();
     }
 
     @Test
@@ -1763,17 +1792,18 @@
         VibrationEffect effect = VibrationEffect.createWaveform(new long[]{5}, new int[]{100}, 0);
         HalVibration vibration = startThreadAndDispatcher(effect);
 
-        assertTrue(waitUntil(() -> mControllers.get(VIBRATOR_ID).isVibrating(),
-                TEST_TIMEOUT_MILLIS));
-        assertTrue(mThread.isRunningVibrationId(vibration.id));
+        assertThat(waitUntil(() -> mControllers.get(VIBRATOR_ID).isVibrating(),
+                TEST_TIMEOUT_MILLIS)).isTrue();
+        assertThat(mThread.isRunningVibrationId(vibration.id)).isTrue();
 
         mVibrationConductor.notifyCancelled(
                 new Vibration.EndInfo(Status.CANCELLED_BINDER_DIED), /* immediate= */ false);
         waitForCompletion();
 
         verifyCallbacksTriggered(vibration, Status.CANCELLED_BINDER_DIED);
-        assertFalse(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id).isEmpty());
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
+                .isNotEmpty();
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
     }
 
     @Test
@@ -1790,13 +1820,16 @@
         verifyCallbacksTriggered(vibration, Status.FINISHED);
 
         // Duration extended for 5 + 5 + 5 + 15.
-        assertEquals(Arrays.asList(expectedOneShot(30)),
-                mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id));
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(30)).inOrder();
         List<Float> amplitudes = mVibratorProviders.get(VIBRATOR_ID).getAmplitudes();
-        assertTrue(amplitudes.size() > 3);
-        assertEquals(expectedAmplitudes(60, 120, 240), amplitudes.subList(0, 3));
+        assertThat(amplitudes.size()).isGreaterThan(3);
+        assertThat(amplitudes.subList(0, 3))
+                .containsExactlyElementsIn(expectedAmplitudes(60, 120, 240))
+                .inOrder();
         for (int i = 3; i < amplitudes.size(); i++) {
-            assertTrue(amplitudes.get(i) < amplitudes.get(i - 1));
+            assertWithMessage("For amplitude index %s", i)
+                    .that(amplitudes.get(i)).isLessThan(amplitudes.get(i - 1));
         }
     }
 
@@ -1814,11 +1847,11 @@
         verify(mManagerHooks, never()).onVibrationThreadReleased(anyLong());
 
         // Thread still running ramp down.
-        assertTrue(mThread.isRunningVibrationId(vibration.id));
+        assertThat(mThread.isRunningVibrationId(vibration.id)).isTrue();
 
         // Duration extended for 10 + 10000.
-        assertEquals(Arrays.asList(expectedOneShot(10_010)),
-                mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id));
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(10_010)).inOrder();
 
         // Will stop the ramp down right away.
         mVibrationConductor.notifyCancelled(
@@ -1838,8 +1871,8 @@
 
         VibrationEffect effect = VibrationEffect.createOneShot(10_000, 240);
         HalVibration vibration = startThreadAndDispatcher(effect);
-        assertTrue(waitUntil(() -> mControllers.get(VIBRATOR_ID).isVibrating(),
-                TEST_TIMEOUT_MILLIS));
+        assertThat(waitUntil(() -> mControllers.get(VIBRATOR_ID).isVibrating(),
+                TEST_TIMEOUT_MILLIS)).isTrue();
         mVibrationConductor.notifyCancelled(
                 new Vibration.EndInfo(Status.CANCELLED_BY_USER), /* immediate= */ false);
         waitForCompletion();
@@ -1847,12 +1880,13 @@
         verifyCallbacksTriggered(vibration, Status.CANCELLED_BY_USER);
 
         // Duration extended for 10000 + 15.
-        assertEquals(Arrays.asList(expectedOneShot(10_015)),
-                mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id));
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(10_015)).inOrder();
         List<Float> amplitudes = mVibratorProviders.get(VIBRATOR_ID).getAmplitudes();
-        assertTrue(amplitudes.size() > 1);
+        assertThat(amplitudes.size()).isGreaterThan(1);
         for (int i = 1; i < amplitudes.size(); i++) {
-            assertTrue(amplitudes.get(i) < amplitudes.get(i - 1));
+            assertWithMessage("For amplitude index %s", i)
+                    .that(amplitudes.get(i)).isLessThan(amplitudes.get(i - 1));
         }
     }
 
@@ -1860,18 +1894,18 @@
     public void vibrate_predefinedWithRampDown_doesNotAddRampDown() {
         when(mVibrationConfigMock.getRampDownDurationMs()).thenReturn(15);
         mVibratorProviders.get(VIBRATOR_ID).setCapabilities(IVibrator.CAP_AMPLITUDE_CONTROL);
-        mVibratorProviders.get(VIBRATOR_ID).setSupportedEffects(VibrationEffect.EFFECT_CLICK);
+        mVibratorProviders.get(VIBRATOR_ID).setSupportedEffects(EFFECT_CLICK);
 
-        VibrationEffect effect = VibrationEffect.get(VibrationEffect.EFFECT_CLICK);
+        VibrationEffect effect = VibrationEffect.get(EFFECT_CLICK);
         HalVibration vibration = startThreadAndDispatcher(effect);
         waitForCompletion();
 
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
 
-        assertEquals(Arrays.asList(expectedPrebaked(VibrationEffect.EFFECT_CLICK)),
-                mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id));
-        assertTrue(mVibratorProviders.get(VIBRATOR_ID).getAmplitudes().isEmpty());
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
+                .containsExactly(expectedPrebaked(EFFECT_CLICK)).inOrder();
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getAmplitudes()).isEmpty();
     }
 
     @Test
@@ -1888,8 +1922,7 @@
         verifyCallbacksTriggered(vibration, Status.FINISHED);
 
         assertThat(mVibratorProviders.get(VIBRATOR_ID).getVendorEffects(vibration.id))
-                .containsExactly(effect)
-                .inOrder();
+                .containsExactly(effect).inOrder();
         assertThat(mVibratorProviders.get(VIBRATOR_ID).getAmplitudes()).isEmpty();
     }
 
@@ -1909,9 +1942,9 @@
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
 
-        assertEquals(Arrays.asList(expectedPrimitive(PRIMITIVE_CLICK, 1, 0)),
-                mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id));
-        assertTrue(mVibratorProviders.get(VIBRATOR_ID).getAmplitudes().isEmpty());
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getEffectSegments(vibration.id))
+                .containsExactly(expectedPrimitive(PRIMITIVE_CLICK, 1, 0)).inOrder();
+        assertThat(mVibratorProviders.get(VIBRATOR_ID).getAmplitudes()).isEmpty();
     }
 
     @Test
@@ -1936,30 +1969,29 @@
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration.id), anyLong());
         verifyCallbacksTriggered(vibration, Status.FINISHED);
 
-        assertEquals(Arrays.asList(expectedRamp(0, 1, 150, 150, 1)),
-                fakeVibrator.getEffectSegments(vibration.id));
-        assertTrue(fakeVibrator.getAmplitudes().isEmpty());
+        assertThat(fakeVibrator.getEffectSegments(vibration.id))
+                .containsExactly(expectedRamp(0, 1, 150, 150, 1)).inOrder();
+        assertThat(fakeVibrator.getAmplitudes()).isEmpty();
     }
 
     @Test
     public void vibrate_multipleVibrations_withCancel() throws Exception {
-        mVibratorProviders.get(VIBRATOR_ID).setSupportedEffects(
-                VibrationEffect.EFFECT_CLICK, VibrationEffect.EFFECT_TICK);
+        mVibratorProviders.get(VIBRATOR_ID).setSupportedEffects(EFFECT_CLICK, EFFECT_TICK);
         mVibratorProviders.get(VIBRATOR_ID).setSupportedPrimitives(PRIMITIVE_CLICK);
         mVibratorProviders.get(VIBRATOR_ID).setCapabilities(IVibrator.CAP_AMPLITUDE_CONTROL,
                 IVibrator.CAP_COMPOSE_EFFECTS);
 
         // A simple effect, followed by a repeating effect that gets cancelled, followed by another
         // simple effect.
-        VibrationEffect effect1 = VibrationEffect.get(VibrationEffect.EFFECT_CLICK);
+        VibrationEffect effect1 = VibrationEffect.get(EFFECT_CLICK);
         VibrationEffect effect2 = VibrationEffect.startComposition()
-                .repeatEffectIndefinitely(VibrationEffect.get(VibrationEffect.EFFECT_TICK))
+                .repeatEffectIndefinitely(VibrationEffect.get(EFFECT_TICK))
                 .compose();
         VibrationEffect effect3 = VibrationEffect.startComposition()
                 .addPrimitive(PRIMITIVE_CLICK)
                 .compose();
         VibrationEffect effect4 = VibrationEffect.createOneShot(8000, 100);
-        VibrationEffect effect5 = VibrationEffect.get(VibrationEffect.EFFECT_CLICK);
+        VibrationEffect effect5 = VibrationEffect.get(EFFECT_CLICK);
 
         HalVibration vibration1 = startThreadAndDispatcher(effect1);
         waitForCompletion();
@@ -1987,14 +2019,14 @@
         waitForCompletion();
 
         FakeVibratorControllerProvider fakeVibrator = mVibratorProviders.get(VIBRATOR_ID);
-        assertFalse(mControllers.get(VIBRATOR_ID).isVibrating());
+        assertThat(mControllers.get(VIBRATOR_ID).isVibrating()).isFalse();
 
         // Effect1
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration1.id), anyLong());
         verifyCallbacksTriggered(vibration1, Status.FINISHED);
 
-        assertEquals(Arrays.asList(expectedPrebaked(VibrationEffect.EFFECT_CLICK)),
-                fakeVibrator.getEffectSegments(vibration1.id));
+        assertThat(fakeVibrator.getEffectSegments(vibration1.id))
+                .containsExactly(expectedPrebaked(EFFECT_CLICK)).inOrder();
 
         // Effect2: repeating, cancelled.
         verify(mControllerCallbacks, atLeast(2))
@@ -2005,24 +2037,24 @@
         // all elements are the same segment.
         List<VibrationEffectSegment> actualSegments2 =
                 fakeVibrator.getEffectSegments(vibration2.id);
-        assertTrue(actualSegments2.size() + " > 2", actualSegments2.size() > 2);
+        assertThat(actualSegments2.size()).isGreaterThan(2);
         for (VibrationEffectSegment segment : actualSegments2) {
-            assertEquals(expectedPrebaked(VibrationEffect.EFFECT_TICK), segment);
+            assertThat(segment).isEqualTo(expectedPrebaked(EFFECT_TICK));
         }
 
         // Effect3
         verify(mControllerCallbacks).onComplete(eq(VIBRATOR_ID), eq(vibration3.id), anyLong());
         verifyCallbacksTriggered(vibration3, Status.FINISHED);
-        assertEquals(Arrays.asList(expectedPrimitive(PRIMITIVE_CLICK, 1, 0)),
-                fakeVibrator.getEffectSegments(vibration3.id));
+        assertThat(fakeVibrator.getEffectSegments(vibration3.id))
+                .containsExactly(expectedPrimitive(PRIMITIVE_CLICK, 1, 0)).inOrder();
 
         // Effect4: cancelled quickly.
         verifyCallbacksTriggered(vibration4, Status.CANCELLED_BY_SCREEN_OFF);
-        assertTrue("Tested duration=" + duration4, duration4 < 2000);
+        assertThat(duration4).isLessThan(2000);
 
         // Effect5: played normally after effect4, which may or may not have played.
-        assertEquals(Arrays.asList(expectedPrebaked(VibrationEffect.EFFECT_CLICK)),
-                fakeVibrator.getEffectSegments(vibration5.id));
+        assertThat(fakeVibrator.getEffectSegments(vibration5.id))
+                .containsExactly(expectedPrebaked(EFFECT_CLICK)).inOrder();
     }
 
     @Test
@@ -2031,16 +2063,13 @@
         mVibratorProviders.get(1).setCapabilities(IVibrator.CAP_AMPLITUDE_CONTROL);
         mVibratorProviders.get(2).setCapabilities(IVibrator.CAP_COMPOSE_EFFECTS);
         mVibratorProviders.get(2).setSupportedPrimitives(PRIMITIVE_CLICK);
-        mVibratorProviders.get(3).setSupportedEffects(VibrationEffect.EFFECT_CLICK);
+        mVibratorProviders.get(3).setSupportedEffects(EFFECT_CLICK);
 
         CombinedVibration effect = CombinedVibration.startSequential()
-                .addNext(3,
-                        VibrationEffect.get(VibrationEffect.EFFECT_CLICK),
-                        /* delay= */ TEST_TIMEOUT_MILLIS)
+                .addNext(3, VibrationEffect.get(EFFECT_CLICK), /* delay= */ TEST_TIMEOUT_MILLIS)
                 .addNext(1,
                         VibrationEffect.createWaveform(
-                                new long[] {TEST_TIMEOUT_MILLIS, TEST_TIMEOUT_MILLIS},
-                                /* repeat= */ -1),
+                                new long[] {TEST_TIMEOUT_MILLIS, TEST_TIMEOUT_MILLIS}, -1),
                         /* delay= */ TEST_TIMEOUT_MILLIS)
                 .addNext(2,
                         VibrationEffect.startComposition()
@@ -2055,20 +2084,22 @@
 
         // Vibrating state remains ON until session resets it.
         verifyCallbacksTriggered(vibration, Status.FINISHED);
-        assertTrue(mControllers.get(1).isVibrating());
-        assertTrue(mControllers.get(2).isVibrating());
-        assertTrue(mControllers.get(3).isVibrating());
+        assertThat(mControllers.get(1).isVibrating()).isTrue();
+        assertThat(mControllers.get(2).isVibrating()).isTrue();
+        assertThat(mControllers.get(3).isVibrating()).isTrue();
 
-        assertEquals(0, mVibratorProviders.get(1).getOffCount());
-        assertEquals(0, mVibratorProviders.get(2).getOffCount());
-        assertEquals(0, mVibratorProviders.get(3).getOffCount());
-        assertEquals(Arrays.asList(expectedOneShot(TEST_TIMEOUT_MILLIS)),
-                mVibratorProviders.get(1).getEffectSegments(vibration.id));
-        assertEquals(expectedAmplitudes(255), mVibratorProviders.get(1).getAmplitudes());
-        assertEquals(Arrays.asList(expectedPrimitive(PRIMITIVE_CLICK, 1, TEST_TIMEOUT_MILLIS)),
-                mVibratorProviders.get(2).getEffectSegments(vibration.id));
-        assertEquals(Arrays.asList(expectedPrebaked(VibrationEffect.EFFECT_CLICK)),
-                mVibratorProviders.get(3).getEffectSegments(vibration.id));
+        assertThat(mVibratorProviders.get(1).getOffCount()).isEqualTo(0);
+        assertThat(mVibratorProviders.get(2).getOffCount()).isEqualTo(0);
+        assertThat(mVibratorProviders.get(3).getOffCount()).isEqualTo(0);
+        assertThat(mVibratorProviders.get(1).getEffectSegments(vibration.id))
+                .containsExactly(expectedOneShot(TEST_TIMEOUT_MILLIS)).inOrder();
+        assertThat(mVibratorProviders.get(1).getAmplitudes())
+                .containsExactlyElementsIn(expectedAmplitudes(255)).inOrder();
+        assertThat(mVibratorProviders.get(2).getEffectSegments(vibration.id))
+                .containsExactly(expectedPrimitive(PRIMITIVE_CLICK, 1, TEST_TIMEOUT_MILLIS))
+                .inOrder();
+        assertThat(mVibratorProviders.get(3).getEffectSegments(vibration.id))
+                .containsExactly(expectedPrebaked(EFFECT_CLICK)).inOrder();
     }
 
     private void mockVibrators(int... vibratorIds) {
@@ -2122,7 +2153,7 @@
         mVibrationConductor = new VibrationStepConductor(vib, isInSession, mVibrationSettings,
                 deviceAdapter, mVibrationScaler, mStatsLoggerMock, requestVibrationParamsFuture,
                 mManagerHooks);
-        assertTrue(mThread.runVibrationOnVibrationThread(mVibrationConductor));
+        assertThat(mThread.runVibrationOnVibrationThread(mVibrationConductor)).isTrue();
         return mVibrationConductor.getVibration();
     }
 
@@ -2142,8 +2173,8 @@
     }
 
     private void waitForCompletion(long timeout) {
-        assertTrue("Timed out waiting for VibrationThread to become idle",
-                mThread.waitForThreadIdle(timeout));
+        assertWithMessage("Timed out waiting for VibrationThread to become idle")
+                .that(mThread.waitForThreadIdle(timeout)).isTrue();
         mTestLooper.dispatchAll();  // Flush callbacks
     }
 
diff --git a/services/tests/wmtests/src/com/android/server/wm/AppCompatCameraOverridesTest.java b/services/tests/wmtests/src/com/android/server/wm/AppCompatCameraOverridesTest.java
index 4ad1cd1..d4be7f8 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AppCompatCameraOverridesTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AppCompatCameraOverridesTest.java
@@ -23,12 +23,14 @@
 import static android.content.pm.ActivityInfo.OVERRIDE_MIN_ASPECT_RATIO_ONLY_FOR_CAMERA;
 import static android.content.pm.ActivityInfo.OVERRIDE_ORIENTATION_ONLY_FOR_CAMERA;
 import static android.view.WindowManager.PROPERTY_CAMERA_COMPAT_ALLOW_FORCE_ROTATION;
+import static android.view.WindowManager.PROPERTY_CAMERA_COMPAT_ALLOW_SIMULATE_REQUESTED_ORIENTATION;
 import static android.view.WindowManager.PROPERTY_CAMERA_COMPAT_ALLOW_REFRESH;
 import static android.view.WindowManager.PROPERTY_CAMERA_COMPAT_ENABLE_REFRESH_VIA_PAUSE;
 import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_MIN_ASPECT_RATIO_OVERRIDE;
 
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
 import static com.android.window.flags.Flags.FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING;
+import static com.android.window.flags.Flags.FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING_OPT_OUT;
 
 import android.compat.testing.PlatformCompatChangeRule;
 import android.platform.test.annotations.DisableFlags;
@@ -239,6 +241,34 @@
 
     @Test
     @EnableCompatChanges({OVERRIDE_CAMERA_COMPAT_ENABLE_FREEFORM_WINDOWING_TREATMENT})
+    @EnableFlags({FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING,
+            FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING_OPT_OUT})
+    public void testShouldApplyCameraCompatFreeformTreatment_propertyFalse_returnsFalse() {
+        runTestScenario((robot) -> {
+            robot.activity().createActivityWithComponentInNewTask();
+
+            robot.prop().disable(PROPERTY_CAMERA_COMPAT_ALLOW_SIMULATE_REQUESTED_ORIENTATION);
+
+            robot.checkShouldApplyFreeformTreatmentForCameraCompat(false);
+        });
+    }
+
+    @Test
+    @EnableCompatChanges({OVERRIDE_CAMERA_COMPAT_ENABLE_FREEFORM_WINDOWING_TREATMENT})
+    @EnableFlags(FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING)
+    @DisableFlags(FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING_OPT_OUT)
+    public void testShouldApplyCameraCompatFreeformTreatment_optOutFlagNotEnabled_optOutIgnored() {
+        runTestScenario((robot) -> {
+            robot.activity().createActivityWithComponentInNewTask();
+
+            robot.prop().disable(PROPERTY_CAMERA_COMPAT_ALLOW_SIMULATE_REQUESTED_ORIENTATION);
+
+            robot.checkShouldApplyFreeformTreatmentForCameraCompat(true);
+        });
+    }
+
+    @Test
+    @EnableCompatChanges({OVERRIDE_CAMERA_COMPAT_ENABLE_FREEFORM_WINDOWING_TREATMENT})
     @EnableFlags(FLAG_ENABLE_CAMERA_COMPAT_FOR_DESKTOP_WINDOWING)
     public void testShouldApplyCameraCompatFreeformTreatment_overrideAndFlagEnabled_returnsTrue() {
         runTestScenario((robot) -> {
diff --git a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java
index 9c48384..a99bc49 100644
--- a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java
@@ -37,7 +37,6 @@
 import static android.view.Surface.ROTATION_180;
 import static android.view.Surface.ROTATION_270;
 import static android.view.Surface.ROTATION_90;
-import static android.view.WindowInsets.Type.ime;
 import static android.view.WindowInsets.Type.navigationBars;
 import static android.view.WindowInsets.Type.statusBars;
 import static android.view.WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE;
@@ -56,6 +55,7 @@
 import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
 import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING;
 import static android.view.WindowManager.LayoutParams.TYPE_BASE_APPLICATION;
+import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD;
 import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD_DIALOG;
 import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR;
 import static android.view.WindowManager.LayoutParams.TYPE_NOTIFICATION_SHADE;
@@ -2693,55 +2693,77 @@
 
     @SetupWindows(addWindows = W_INPUT_METHOD)
     @Test
-    public void testImeChildWindowFocusWhenImeLayeringTargetChanges() {
-        final WindowState imeChildWindow = newWindowBuilder("imeChildWindow",
+    public void testImeChildWindowFocusWhenImeParentWindowChanges() {
+        final var imeChildWindow = newWindowBuilder("imeChildWindow",
                 TYPE_APPLICATION_ATTACHED_DIALOG).setParent(mImeWindow).build();
-        makeWindowVisibleAndDrawn(imeChildWindow, mImeWindow);
-        assertTrue(imeChildWindow.canReceiveKeys());
-        mDisplayContent.setInputMethodWindowLocked(mImeWindow);
-
-        // Verify imeChildWindow can be focused window if the next IME target requests IME visible.
-        final WindowState imeAppTarget = newWindowBuilder("imeAppTarget",
-                TYPE_BASE_APPLICATION).setDisplay(mDisplayContent).build();
-        mDisplayContent.setImeLayeringTarget(imeAppTarget);
-        spyOn(imeAppTarget);
-        doReturn(true).when(imeAppTarget).isRequestedVisible(ime());
-        assertEquals(imeChildWindow, mDisplayContent.findFocusedWindow());
-
-        // Verify imeChildWindow doesn't be focused window if the next IME target does not
-        // request IME visible.
-        final WindowState nextImeAppTarget = newWindowBuilder("nextImeAppTarget",
-                TYPE_BASE_APPLICATION).setDisplay(mDisplayContent).build();
-        mDisplayContent.setImeLayeringTarget(nextImeAppTarget);
-        assertNotEquals(imeChildWindow, mDisplayContent.findFocusedWindow());
+        doTestImeWindowFocusWhenImeParentWindowChanged(imeChildWindow);
     }
 
     @SetupWindows(addWindows = W_INPUT_METHOD)
     @Test
-    public void testImeMenuDialogFocusWhenImeLayeringTargetChanges() {
-        final WindowState imeMenuDialog = newWindowBuilder("imeMenuDialog",
+    public void testImeDialogWindowFocusWhenImeParentWindowChanges() {
+        final var imeDialogWindow = newWindowBuilder("imeMenuDialog",
                 TYPE_INPUT_METHOD_DIALOG).build();
-        makeWindowVisibleAndDrawn(imeMenuDialog, mImeWindow);
-        assertTrue(imeMenuDialog.canReceiveKeys());
+        doTestImeWindowFocusWhenImeParentWindowChanged(imeDialogWindow);
+    }
+
+    @SetupWindows(addWindows = W_INPUT_METHOD)
+    @Test
+    public void testImeWindowFocusWhenImeParentWindowChanges() {
+        // Verify focusable, non-child IME windows.
+        final var otherImeWindow = newWindowBuilder("otherImeWindow",
+                TYPE_INPUT_METHOD).build();
+        doTestImeWindowFocusWhenImeParentWindowChanged(otherImeWindow);
+    }
+
+    private void doTestImeWindowFocusWhenImeParentWindowChanged(@NonNull WindowState window) {
+        makeWindowVisibleAndDrawn(window, mImeWindow);
+        assertTrue("Window canReceiveKeys", window.canReceiveKeys());
         mDisplayContent.setInputMethodWindowLocked(mImeWindow);
 
-        // Verify imeMenuDialog can be focused window if the next IME target requests IME visible.
+        // Verify window can be focused if the IME parent is visible and the IME is visible.
         final WindowState imeAppTarget = newWindowBuilder("imeAppTarget",
                 TYPE_BASE_APPLICATION).setDisplay(mDisplayContent).build();
         mDisplayContent.setImeLayeringTarget(imeAppTarget);
-        imeAppTarget.setRequestedVisibleTypes(ime());
-        assertEquals(imeMenuDialog, mDisplayContent.findFocusedWindow());
+        mDisplayContent.updateImeInputAndControlTarget(imeAppTarget);
+        final var imeProvider = mDisplayContent.getInsetsStateController().getImeSourceProvider();
+        imeProvider.setImeShowing(true);
+        final var imeParentWindow = mDisplayContent.getImeParentWindow();
+        assertNotNull("IME parent window is not null", imeParentWindow);
+        assertTrue("IME parent window is visible", imeParentWindow.isVisibleRequested());
+        assertTrue("IME is visible", imeProvider.isImeShowing());
+        assertEquals("Window is the focused one", window, mDisplayContent.findFocusedWindow());
 
-        // Verify imeMenuDialog doesn't be focused window if the next IME target is closing.
+        // Verify window can't be focused if the IME parent is not visible.
         final WindowState nextImeAppTarget = newWindowBuilder("nextImeAppTarget",
                 TYPE_BASE_APPLICATION).setDisplay(mDisplayContent).build();
         makeWindowVisibleAndDrawn(nextImeAppTarget);
-        // Even if the app still requests IME, the ime dialog should not gain focus if the target
-        // app is invisible.
-        nextImeAppTarget.setRequestedVisibleTypes(ime());
-        nextImeAppTarget.mActivityRecord.setVisibility(false);
+        // Change layering target but keep input target (and thus imeParent) the same.
         mDisplayContent.setImeLayeringTarget(nextImeAppTarget);
-        assertNotEquals(imeMenuDialog, mDisplayContent.findFocusedWindow());
+        // IME parent window is not visible, occluded by new layering target.
+        imeParentWindow.setVisibleRequested(false);
+        assertEquals("IME parent window did not change", imeParentWindow,
+                mDisplayContent.getImeParentWindow());
+        assertFalse("IME parent window is not visible", imeParentWindow.isVisibleRequested());
+        assertTrue("IME is visible", imeProvider.isImeShowing());
+        assertNotEquals("Window is not the focused one when imeParent is not visible", window,
+                mDisplayContent.findFocusedWindow());
+
+        // Verify window can be focused if the IME is not visible.
+        mDisplayContent.updateImeInputAndControlTarget(nextImeAppTarget);
+        imeProvider.setImeShowing(false);
+        final var nextImeParentWindow = mDisplayContent.getImeParentWindow();
+        assertNotNull("Next IME parent window is not null", nextImeParentWindow);
+        assertNotEquals("IME parent window changed", imeParentWindow, nextImeParentWindow);
+        assertTrue("Next IME parent window is visible", nextImeParentWindow.isVisibleRequested());
+        assertFalse("IME is not visible", imeProvider.isImeShowing());
+        if (window.isChildWindow()) {
+            assertNotEquals("Child window is not the focused on when the IME is not visible",
+                    window, mDisplayContent.findFocusedWindow());
+        } else {
+            assertEquals("Window is the focused one when the IME is not visible",
+                    window, mDisplayContent.findFocusedWindow());
+        }
     }
 
     @Test
diff --git a/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java b/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java
index 77ad7f7..c0cb09f 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java
@@ -82,8 +82,6 @@
 import android.graphics.Point;
 import android.graphics.Rect;
 import android.os.IBinder;
-import android.platform.test.annotations.DisableFlags;
-import android.platform.test.annotations.EnableFlags;
 import android.platform.test.annotations.Presubmit;
 import android.util.ArrayMap;
 import android.util.ArraySet;
@@ -104,7 +102,6 @@
 import androidx.test.filters.SmallTest;
 
 import com.android.internal.graphics.ColorUtils;
-import com.android.window.flags.Flags;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -2012,21 +2009,6 @@
         assertEquals(expectedBackgroundColor, info.getChanges().get(1).getBackgroundColor());
     }
 
-    @DisableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
-    @Test
-    public void testOverrideAnimationOptionsToInfoIfNecessary_disableAnimOptionsPerChange() {
-        ActivityRecord r = initializeOverrideAnimationOptionsTest();
-        TransitionInfo.AnimationOptions options = TransitionInfo.AnimationOptions
-                .makeCommonAnimOptions("testPackage");
-        mTransition.setOverrideAnimation(options, r, null /* startCallback */,
-                null /* finishCallback */);
-
-        mTransition.overrideAnimationOptionsToInfoIfNecessary(mInfo);
-
-        assertEquals(options, mInfo.getAnimationOptions());
-    }
-
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testOverrideAnimationOptionsToInfoIfNecessary_fromStyleAnimOptions() {
         ActivityRecord r = initializeOverrideAnimationOptionsTest();
@@ -2052,7 +2034,6 @@
                 options, activityChange.getAnimationOptions());
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testOverrideAnimationOptionsToInfoIfNecessary_sceneAnimOptions() {
         ActivityRecord r = initializeOverrideAnimationOptionsTest();
@@ -2078,7 +2059,6 @@
                 options, activityChange.getAnimationOptions());
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testOverrideAnimationOptionsToInfoIfNecessary_crossProfileAnimOptions() {
         ActivityRecord r = initializeOverrideAnimationOptionsTest();
@@ -2106,7 +2086,6 @@
         assertTrue(activityChange.hasFlags(FLAG_CROSS_PROFILE_OWNER_THUMBNAIL));
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testOverrideAnimationOptionsToInfoIfNecessary_customAnimOptions() {
         ActivityRecord r = initializeOverrideAnimationOptionsTest();
@@ -2139,7 +2118,6 @@
                 options.getBackgroundColor(), activityChange.getBackgroundColor());
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testOverrideAnimationOptionsToInfoIfNecessary_haveTaskFragmentAnimParams() {
         ActivityRecord r = initializeOverrideAnimationOptionsTest();
@@ -2188,7 +2166,6 @@
                 options.getBackgroundColor(), activityChange.getBackgroundColor());
     }
 
-    @EnableFlags(Flags.FLAG_MOVE_ANIMATION_OPTIONS_TO_CHANGE)
     @Test
     public void testOverrideAnimationOptionsToInfoIfNecessary_customAnimOptionsWithTaskOverride() {
         ActivityRecord r = initializeOverrideAnimationOptionsTest();
@@ -2418,7 +2395,6 @@
     }
 
     @Test
-    @EnableFlags(Flags.FLAG_ENABLE_DISPLAY_FOCUS_IN_SHELL_TRANSITIONS)
     public void testMoveDisplayToTop() {
         // Set up two displays, each of which has a task.
         DisplayContent otherDisplay = createNewDisplay();
diff --git a/services/voiceinteraction/java/com/android/server/soundtrigger/PhoneCallStateHandler.java b/services/voiceinteraction/java/com/android/server/soundtrigger/PhoneCallStateHandler.java
index 49ad461..df43ed9 100644
--- a/services/voiceinteraction/java/com/android/server/soundtrigger/PhoneCallStateHandler.java
+++ b/services/voiceinteraction/java/com/android/server/soundtrigger/PhoneCallStateHandler.java
@@ -24,7 +24,6 @@
 import android.util.Slog;
 
 import com.android.internal.annotations.GuardedBy;
-import com.android.internal.telephony.flags.Flags;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -119,28 +118,18 @@
     private boolean checkCallStatus() {
         List<SubscriptionInfo> infoList = mSubscriptionManager.getActiveSubscriptionInfoList();
         if (infoList == null) return false;
-        if (!Flags.enforceTelephonyFeatureMapping()) {
-            return infoList.stream()
-                    .filter(s -> (s.getSubscriptionId()
-                            != SubscriptionManager.INVALID_SUBSCRIPTION_ID))
-                    .anyMatch(s -> isCallOngoingFromState(
-                            mTelephonyManager
-                                    .createForSubscriptionId(s.getSubscriptionId())
-                                    .getCallStateForSubscription()));
-        } else {
-            return infoList.stream()
-                    .filter(s -> (s.getSubscriptionId()
-                            != SubscriptionManager.INVALID_SUBSCRIPTION_ID))
-                    .anyMatch(s -> {
-                        try {
-                            return isCallOngoingFromState(mTelephonyManager
-                                    .createForSubscriptionId(s.getSubscriptionId())
-                                    .getCallStateForSubscription());
-                        } catch (UnsupportedOperationException e) {
-                            return false;
-                        }
-                    });
-        }
+        return infoList.stream()
+                .filter(s -> (s.getSubscriptionId()
+                        != SubscriptionManager.INVALID_SUBSCRIPTION_ID))
+                .anyMatch(s -> {
+                    try {
+                        return isCallOngoingFromState(mTelephonyManager
+                                .createForSubscriptionId(s.getSubscriptionId())
+                                .getCallStateForSubscription());
+                    } catch (UnsupportedOperationException e) {
+                        return false;
+                    }
+                });
     }
 
     private void updateTelephonyListeners() {
diff --git a/tests/AttestationVerificationTest/src/com/android/server/security/CertificateRevocationStatusManagerTest.java b/tests/AttestationVerificationTest/src/com/android/server/security/CertificateRevocationStatusManagerTest.java
index 586bb76..3854ae6 100644
--- a/tests/AttestationVerificationTest/src/com/android/server/security/CertificateRevocationStatusManagerTest.java
+++ b/tests/AttestationVerificationTest/src/com/android/server/security/CertificateRevocationStatusManagerTest.java
@@ -20,18 +20,17 @@
 import static org.junit.Assert.assertThrows;
 
 import android.content.Context;
-import android.os.SystemClock;
 
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.platform.app.InstrumentationRegistry;
 
-import org.json.JSONObject;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.InputStream;
 import java.security.cert.CertPathValidatorException;
@@ -39,33 +38,34 @@
 import java.security.cert.CertificateFactory;
 import java.security.cert.X509Certificate;
 import java.time.LocalDateTime;
+import java.time.OffsetDateTime;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 @RunWith(AndroidJUnit4.class)
 public class CertificateRevocationStatusManagerTest {
 
     private static final String TEST_CERTIFICATE_FILE_1 = "test_attestation_with_root_certs.pem";
     private static final String TEST_CERTIFICATE_FILE_2 = "test_attestation_wrong_root_certs.pem";
-    private static final String TEST_REVOCATION_LIST_FILE_NAME = "test_revocation_list.json";
+    private static final String TEST_REMOTE_REVOCATION_LIST_FILE_NAME =
+            "test_remote_revocation_list.json";
     private static final String REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST =
             "test_revocation_list_no_test_certs.json";
     private static final String REVOCATION_LIST_WITH_CERTIFICATES_USED_IN_THIS_TEST =
             "test_revocation_list_with_test_certs.json";
-    private static final String TEST_REVOCATION_STATUS_FILE_NAME = "test_revocation_status.txt";
+    private static final String TEST_STORED_REVOCATION_LIST_FILE_NAME =
+            "test_stored_revocation_list.json";
     private static final String FILE_URL_PREFIX = "file://";
     private final Context mContext = InstrumentationRegistry.getInstrumentation().getContext();
 
     private CertificateFactory mFactory;
     private List<X509Certificate> mCertificates1;
     private List<X509Certificate> mCertificates2;
-    private File mRevocationListFile;
+    private File mRemoteRevocationListFile;
     private String mRevocationListUrl;
     private String mNonExistentRevocationListUrl;
-    private File mRevocationStatusFile;
+    private File mStoredRevocationListFile;
     private CertificateRevocationStatusManager mCertificateRevocationStatusManager;
 
     @Before
@@ -73,27 +73,29 @@
         mFactory = CertificateFactory.getInstance("X.509");
         mCertificates1 = getCertificateChain(TEST_CERTIFICATE_FILE_1);
         mCertificates2 = getCertificateChain(TEST_CERTIFICATE_FILE_2);
-        mRevocationListFile = new File(mContext.getFilesDir(), TEST_REVOCATION_LIST_FILE_NAME);
-        mRevocationListUrl = FILE_URL_PREFIX + mRevocationListFile.getAbsolutePath();
+        mRemoteRevocationListFile =
+                new File(mContext.getFilesDir(), TEST_REMOTE_REVOCATION_LIST_FILE_NAME);
+        mRevocationListUrl = FILE_URL_PREFIX + mRemoteRevocationListFile.getAbsolutePath();
         File noSuchFile = new File(mContext.getFilesDir(), "file_does_not_exist");
         mNonExistentRevocationListUrl = FILE_URL_PREFIX + noSuchFile.getAbsolutePath();
-        mRevocationStatusFile = new File(mContext.getFilesDir(), TEST_REVOCATION_STATUS_FILE_NAME);
+        mStoredRevocationListFile =
+                new File(mContext.getFilesDir(), TEST_STORED_REVOCATION_LIST_FILE_NAME);
     }
 
     @After
     public void tearDown() throws Exception {
-        mRevocationListFile.delete();
-        mRevocationStatusFile.delete();
+        mRemoteRevocationListFile.delete();
+        mStoredRevocationListFile.delete();
     }
 
     @Test
     public void checkRevocationStatus_doesNotExistOnRemoteRevocationList_noException()
             throws Exception {
         copyFromAssetToFile(
-                REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST, mRevocationListFile);
+                REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST, mRemoteRevocationListFile);
         mCertificateRevocationStatusManager =
                 new CertificateRevocationStatusManager(
-                        mContext, mRevocationListUrl, mRevocationStatusFile, false);
+                        mContext, mRevocationListUrl, mStoredRevocationListFile, false);
 
         mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1);
     }
@@ -102,10 +104,10 @@
     public void checkRevocationStatus_existsOnRemoteRevocationList_throwsException()
             throws Exception {
         copyFromAssetToFile(
-                REVOCATION_LIST_WITH_CERTIFICATES_USED_IN_THIS_TEST, mRevocationListFile);
+                REVOCATION_LIST_WITH_CERTIFICATES_USED_IN_THIS_TEST, mRemoteRevocationListFile);
         mCertificateRevocationStatusManager =
                 new CertificateRevocationStatusManager(
-                        mContext, mRevocationListUrl, mRevocationStatusFile, false);
+                        mContext, mRevocationListUrl, mStoredRevocationListFile, false);
 
         assertThrows(
                 CertPathValidatorException.class,
@@ -118,7 +120,7 @@
                     throws Exception {
         mCertificateRevocationStatusManager =
                 new CertificateRevocationStatusManager(
-                        mContext, mNonExistentRevocationListUrl, mRevocationStatusFile, false);
+                        mContext, mNonExistentRevocationListUrl, mStoredRevocationListFile, false);
 
         assertThrows(
                 CertPathValidatorException.class,
@@ -128,70 +130,56 @@
     @Test
     public void checkRevocationStatus_savesRevocationStatus() throws Exception {
         copyFromAssetToFile(
-                REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST, mRevocationListFile);
+                REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST, mRemoteRevocationListFile);
         mCertificateRevocationStatusManager =
                 new CertificateRevocationStatusManager(
-                        mContext, mRevocationListUrl, mRevocationStatusFile, false);
+                        mContext, mRevocationListUrl, mStoredRevocationListFile, false);
 
         mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1);
 
-        assertThat(mRevocationStatusFile.length()).isGreaterThan(0);
+        assertThat(mStoredRevocationListFile.length()).isGreaterThan(0);
     }
 
     @Test
-    public void checkRevocationStatus_cannotReachRemoteList_certsSaved_noException()
+    public void checkRevocationStatus_cannotReachRemoteList_listSaved_noException()
             throws Exception {
         // call checkRevocationStatus once to save the revocation status
         copyFromAssetToFile(
-                REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST, mRevocationListFile);
+                REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST, mRemoteRevocationListFile);
         mCertificateRevocationStatusManager =
                 new CertificateRevocationStatusManager(
-                        mContext, mRevocationListUrl, mRevocationStatusFile, false);
+                        mContext, mRevocationListUrl, mStoredRevocationListFile, false);
         mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1);
         // call checkRevocationStatus again with mNonExistentRevocationListUrl
         mCertificateRevocationStatusManager =
                 new CertificateRevocationStatusManager(
-                        mContext, mNonExistentRevocationListUrl, mRevocationStatusFile, false);
+                        mContext, mNonExistentRevocationListUrl, mStoredRevocationListFile, false);
 
         mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1);
     }
 
     @Test
-    public void checkRevocationStatus_cannotReachRemoteList_someCertsNotSaved_exception()
+    public void checkRevocationStatus_cannotReachRemoteList_storedListTooOld_exception()
             throws Exception {
-        // call checkRevocationStatus once to save the revocation status for mCertificates2
+        // call checkRevocationStatus once to save the revocation status
         copyFromAssetToFile(
-                REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST, mRevocationListFile);
+                REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST, mRemoteRevocationListFile);
         mCertificateRevocationStatusManager =
                 new CertificateRevocationStatusManager(
-                        mContext, mRevocationListUrl, mRevocationStatusFile, false);
-        mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates2);
-        // call checkRevocationStatus again with mNonExistentRevocationListUrl, this time for
-        // mCertificates1
-        mCertificateRevocationStatusManager =
-                new CertificateRevocationStatusManager(
-                        mContext, mNonExistentRevocationListUrl, mRevocationStatusFile, false);
-
-        assertThrows(
-                CertPathValidatorException.class,
-                () -> mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1));
-    }
-
-    @Test
-    public void checkRevocationStatus_cannotReachRemoteList_someCertsStatusTooOld_exception()
-            throws Exception {
-        mCertificateRevocationStatusManager =
-                new CertificateRevocationStatusManager(
-                        mContext, mNonExistentRevocationListUrl, mRevocationStatusFile, false);
+                        mContext, mRevocationListUrl, mStoredRevocationListFile, false);
+        mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1);
+        // set the last modified date of the stored list to an expired date
         LocalDateTime now = LocalDateTime.now();
-        LocalDateTime expiredStatusDate =
-                now.minusDays(CertificateRevocationStatusManager.MAX_DAYS_SINCE_LAST_CHECK + 1);
-        Map<String, LocalDateTime> lastRevocationCheckData = new HashMap<>();
-        lastRevocationCheckData.put(getSerialNumber(mCertificates1.get(0)), expiredStatusDate);
-        for (int i = 1; i < mCertificates1.size(); i++) {
-            lastRevocationCheckData.put(getSerialNumber(mCertificates1.get(i)), now);
-        }
-        mCertificateRevocationStatusManager.storeLastRevocationCheckData(lastRevocationCheckData);
+        LocalDateTime expiredListDate =
+                now.minusDays(
+                        CertificateRevocationStatusManager.MAX_OFFLINE_REVOCATION_LIST_AGE_DAYS
+                                + 1);
+        mStoredRevocationListFile.setLastModified(
+                expiredListDate.toEpochSecond(OffsetDateTime.now().getOffset()) * 1000);
+        // call checkRevocationStatus again with mNonExistentRevocationListUrl
+        mCertificateRevocationStatusManager =
+                new CertificateRevocationStatusManager(
+                        mContext, mNonExistentRevocationListUrl, mStoredRevocationListFile, false);
 
         assertThrows(
                 CertPathValidatorException.class,
@@ -199,122 +187,112 @@
     }
 
     @Test
-    public void checkRevocationStatus_cannotReachRemoteList_allCertResultsFresh_noException()
+    public void checkRevocationStatus_cannotReachRemoteList_storedListIsFresh_noException()
             throws Exception {
+        // call checkRevocationStatus once to save the revocation status
+        copyFromAssetToFile(
+                REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST, mRemoteRevocationListFile);
         mCertificateRevocationStatusManager =
                 new CertificateRevocationStatusManager(
-                        mContext, mNonExistentRevocationListUrl, mRevocationStatusFile, false);
-        LocalDateTime bearlyNotExpiredStatusDate =
-                LocalDateTime.now()
-                        .minusDays(
-                                CertificateRevocationStatusManager.MAX_DAYS_SINCE_LAST_CHECK - 1);
-        Map<String, LocalDateTime> lastRevocationCheckData = new HashMap<>();
-        for (X509Certificate certificate : mCertificates1) {
-            lastRevocationCheckData.put(getSerialNumber(certificate), bearlyNotExpiredStatusDate);
-        }
-        mCertificateRevocationStatusManager.storeLastRevocationCheckData(lastRevocationCheckData);
+                        mContext, mRevocationListUrl, mStoredRevocationListFile, false);
+        mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1);
+        // set the last modified date of the stored list to a barely not expired date
+        LocalDateTime now = LocalDateTime.now();
+        LocalDateTime barelyFreshDate =
+                now.minusDays(
+                        CertificateRevocationStatusManager.MAX_OFFLINE_REVOCATION_LIST_AGE_DAYS
+                                - 1);
+        mStoredRevocationListFile.setLastModified(
+                barelyFreshDate.toEpochSecond(OffsetDateTime.now().getOffset()) * 1000);
+        // call checkRevocationStatus again with mNonExistentRevocationListUrl
+        mCertificateRevocationStatusManager =
+                new CertificateRevocationStatusManager(
+                        mContext, mNonExistentRevocationListUrl, mStoredRevocationListFile, false);
 
         mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1);
     }
 
     @Test
-    public void updateLastRevocationCheckData_correctlySavesStatus() throws Exception {
+    public void silentlyStoreRevocationList_storesCorrectly() throws Exception {
+        copyFromAssetToFile(
+                REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST, mRemoteRevocationListFile);
         mCertificateRevocationStatusManager =
                 new CertificateRevocationStatusManager(
-                        mContext, mNonExistentRevocationListUrl, mRevocationStatusFile, false);
-        Map<String, Boolean> areCertificatesRevoked = new HashMap<>();
-        for (X509Certificate certificate : mCertificates1) {
-            areCertificatesRevoked.put(getSerialNumber(certificate), false);
+                        mContext, mRevocationListUrl, mStoredRevocationListFile, false);
+        byte[] revocationList =
+                mCertificateRevocationStatusManager.fetchRemoteRevocationListBytes();
+
+        mCertificateRevocationStatusManager.silentlyStoreRevocationList(revocationList);
+
+        byte[] bytesFromRemoteList;
+        byte[] bytesFromStoredList;
+        try (FileInputStream remoteListInputStream =
+                new FileInputStream(mRemoteRevocationListFile)) {
+            bytesFromRemoteList = remoteListInputStream.readAllBytes();
         }
-
-        mCertificateRevocationStatusManager.updateLastRevocationCheckData(areCertificatesRevoked);
-
-        // no exception
-        mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1);
-        // revoke one certificate and try again
-        areCertificatesRevoked.put(getSerialNumber(mCertificates1.getLast()), true);
-        mCertificateRevocationStatusManager.updateLastRevocationCheckData(areCertificatesRevoked);
-        assertThrows(
-                CertPathValidatorException.class,
-                () -> mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1));
+        try (FileInputStream storedListInputStream =
+                new FileInputStream(mStoredRevocationListFile)) {
+            bytesFromStoredList = storedListInputStream.readAllBytes();
+        }
+        assertThat(bytesFromStoredList).isEqualTo(bytesFromRemoteList);
     }
 
     @Test
-    public void updateLastRevocationCheckDataForAllPreviouslySeenCertificates_updatesCorrectly()
+    public void checkRevocationStatus_recentlyChecked_doesNotFetchRemoteCrl()
             throws Exception {
         copyFromAssetToFile(
-                REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST, mRevocationListFile);
+                REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST, mRemoteRevocationListFile);
         mCertificateRevocationStatusManager =
                 new CertificateRevocationStatusManager(
-                        mContext, mRevocationListUrl, mRevocationStatusFile, false);
-        // populate the revocation status file
-        mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1);
-        // Sleep for 2 second so that the current time changes
-        SystemClock.sleep(2000);
-        LocalDateTime timestampBeforeUpdate = LocalDateTime.now();
-        JSONObject revocationList = mCertificateRevocationStatusManager.fetchRemoteRevocationList();
-        List<String> otherCertificatesToCheck = new ArrayList<>();
-        String serialNumber1 = "1234567"; // not revoked
-        String serialNumber2 = "8350192447815228107"; // revoked
-        String serialNumber3 = "987654"; // not revoked
-        otherCertificatesToCheck.add(serialNumber1);
-        otherCertificatesToCheck.add(serialNumber2);
-        otherCertificatesToCheck.add(serialNumber3);
-
-        mCertificateRevocationStatusManager
-                .updateLastRevocationCheckDataForAllPreviouslySeenCertificates(
-                        revocationList, otherCertificatesToCheck);
-
-        Map<String, LocalDateTime> lastRevocationCheckData =
-                mCertificateRevocationStatusManager.getLastRevocationCheckData();
-        assertThat(lastRevocationCheckData.get(serialNumber1)).isAtLeast(timestampBeforeUpdate);
-        assertThat(lastRevocationCheckData).doesNotContainKey(serialNumber2); // revoked
-        assertThat(lastRevocationCheckData.get(serialNumber3)).isAtLeast(timestampBeforeUpdate);
-        // validate that the existing certificates on the file got updated too
-        for (X509Certificate certificate : mCertificates1) {
-            assertThat(lastRevocationCheckData.get(getSerialNumber(certificate)))
-                    .isAtLeast(timestampBeforeUpdate);
-        }
-    }
-
-    @Test
-    public void checkRevocationStatus_allCertificatesRecentlyChecked_doesNotFetchRemoteCrl()
-            throws Exception {
-        copyFromAssetToFile(
-                REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST, mRevocationListFile);
-        mCertificateRevocationStatusManager =
-                new CertificateRevocationStatusManager(
-                        mContext, mRevocationListUrl, mRevocationStatusFile, false);
+                        mContext, mRevocationListUrl, mStoredRevocationListFile, false);
         mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1);
         // indirectly verifies the remote list is not fetched by simulating a remote revocation
         copyFromAssetToFile(
-                REVOCATION_LIST_WITH_CERTIFICATES_USED_IN_THIS_TEST, mRevocationListFile);
+                REVOCATION_LIST_WITH_CERTIFICATES_USED_IN_THIS_TEST, mRemoteRevocationListFile);
 
         // no exception
         mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1);
     }
 
     @Test
-    public void checkRevocationStatus_allCertificatesBarelyRecentlyChecked_doesNotFetchRemoteCrl()
+    public void checkRevocationStatus_recentlyCheckedAndRevoked_exception()
             throws Exception {
         copyFromAssetToFile(
-                REVOCATION_LIST_WITH_CERTIFICATES_USED_IN_THIS_TEST, mRevocationListFile);
+                REVOCATION_LIST_WITH_CERTIFICATES_USED_IN_THIS_TEST, mRemoteRevocationListFile);
         mCertificateRevocationStatusManager =
                 new CertificateRevocationStatusManager(
-                        mContext, mRevocationListUrl, mRevocationStatusFile, false);
-        Map<String, LocalDateTime> lastCheckedDates = new HashMap<>();
-        LocalDateTime barelyRecently =
-                LocalDateTime.now()
-                        .minusHours(
-                                CertificateRevocationStatusManager.NUM_HOURS_BEFORE_NEXT_CHECK - 1);
-        for (X509Certificate certificate : mCertificates1) {
-            lastCheckedDates.put(getSerialNumber(certificate), barelyRecently);
-        }
-        mCertificateRevocationStatusManager.storeLastRevocationCheckData(lastCheckedDates);
+                        mContext, mRevocationListUrl, mStoredRevocationListFile, false);
+        assertThrows(
+                CertPathValidatorException.class,
+                () -> mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1));
+
+        assertThrows(
+                CertPathValidatorException.class,
+                () -> mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1));
+    }
+
+    @Test
+    public void checkRevocationStatus_barelyRecentlyChecked_doesNotFetchRemoteCrl()
+            throws Exception {
+        copyFromAssetToFile(
+                REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST, mRemoteRevocationListFile);
+        mCertificateRevocationStatusManager =
+                new CertificateRevocationStatusManager(
+                        mContext, mRevocationListUrl, mStoredRevocationListFile, false);
+        mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1);
+        // set the last modified date of the stored list to a barely recent date
+        LocalDateTime now = LocalDateTime.now();
+        LocalDateTime barelyRecentDate =
+                now.minusHours(CertificateRevocationStatusManager.NUM_HOURS_BEFORE_NEXT_FETCH - 1);
+        mStoredRevocationListFile.setLastModified(
+                barelyRecentDate.toEpochSecond(OffsetDateTime.now().getOffset()) * 1000);
+        // indirectly verifies the remote list is not fetched by simulating a remote revocation
+        copyFromAssetToFile(
+                REVOCATION_LIST_WITH_CERTIFICATES_USED_IN_THIS_TEST, mRemoteRevocationListFile);
 
         // Indirectly verify the remote CRL is not checked by checking there is no exception despite
-        // a certificate being revoked. This test differs from the next only in the lastCheckedDate,
-        // one before the NUM_HOURS_BEFORE_NEXT_CHECK cutoff and one after
+        // a certificate being revoked. This test differs from the next only in the stored list last
+        // modified date, one before the NUM_HOURS_BEFORE_NEXT_FETCH cutoff and one after
         mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1);
     }
 
@@ -322,21 +300,20 @@
     public void checkRevocationStatus_certificatesRevokedAfterCheck_throwsException()
             throws Exception {
         copyFromAssetToFile(
-                REVOCATION_LIST_WITH_CERTIFICATES_USED_IN_THIS_TEST, mRevocationListFile);
+                REVOCATION_LIST_WITHOUT_CERTIFICATES_USED_IN_THIS_TEST, mRemoteRevocationListFile);
         mCertificateRevocationStatusManager =
                 new CertificateRevocationStatusManager(
-                        mContext, mRevocationListUrl, mRevocationStatusFile, false);
-        Map<String, LocalDateTime> lastCheckedDates = new HashMap<>();
-        // To save network use, we do not check the remote CRL if all the certificates are recently
-        // checked, so we set the lastCheckDate to some time not recent.
-        LocalDateTime notRecently =
-                LocalDateTime.now()
-                        .minusHours(
-                                CertificateRevocationStatusManager.NUM_HOURS_BEFORE_NEXT_CHECK + 1);
-        for (X509Certificate certificate : mCertificates1) {
-            lastCheckedDates.put(getSerialNumber(certificate), notRecently);
-        }
-        mCertificateRevocationStatusManager.storeLastRevocationCheckData(lastCheckedDates);
+                        mContext, mRevocationListUrl, mStoredRevocationListFile, false);
+        mCertificateRevocationStatusManager.checkRevocationStatus(mCertificates1);
+        // set the last modified date of the stored list to a barely not recent date
+        LocalDateTime now = LocalDateTime.now();
+        LocalDateTime barelyNotRecentDate =
+                now.minusHours(CertificateRevocationStatusManager.NUM_HOURS_BEFORE_NEXT_FETCH + 1);
+        mStoredRevocationListFile.setLastModified(
+                barelyNotRecentDate.toEpochSecond(OffsetDateTime.now().getOffset()) * 1000);
+        // simulate a remote revocation
+        copyFromAssetToFile(
+                REVOCATION_LIST_WITH_CERTIFICATES_USED_IN_THIS_TEST, mRemoteRevocationListFile);
 
         assertThrows(
                 CertPathValidatorException.class,
@@ -362,8 +339,4 @@
             fileOutputStream.write(data);
         }
     }
-
-    private String getSerialNumber(X509Certificate certificate) {
-        return certificate.getSerialNumber().toString(16);
-    }
 }
diff --git a/tests/PackageWatchdog/Android.bp b/tests/PackageWatchdog/Android.bp
index 44e545b..16c6e3b 100644
--- a/tests/PackageWatchdog/Android.bp
+++ b/tests/PackageWatchdog/Android.bp
@@ -28,6 +28,7 @@
     static_libs: [
         "PlatformProperties",
         "androidx.test.rules",
+        "androidx.test.runner",
         "flag-junit",
         "frameworks-base-testutils",
         "junit",
diff --git a/tests/PackageWatchdog/AndroidManifest.xml b/tests/PackageWatchdog/AndroidManifest.xml
index 540edb4..334d50f 100644
--- a/tests/PackageWatchdog/AndroidManifest.xml
+++ b/tests/PackageWatchdog/AndroidManifest.xml
@@ -15,7 +15,7 @@
 -->
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.tests.packagewatchdog" >
+    package="com.android.server" >
 
     <application android:debuggable="true">
         <uses-library android:name="android.test.runner" />
@@ -23,6 +23,6 @@
 
 
     <instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
-                     android:targetPackage="com.android.tests.packagewatchdog"
-                     android:label="PackageWatchdog Test"/>
+        android:targetPackage="com.android.server"
+        android:label="PackageWatchdog Test"/>
 </manifest>
diff --git a/tests/PackageWatchdog/AndroidTest.xml b/tests/PackageWatchdog/AndroidTest.xml
new file mode 100644
index 0000000..45a88cd
--- /dev/null
+++ b/tests/PackageWatchdog/AndroidTest.xml
@@ -0,0 +1,36 @@
+<?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.
+  -->
+<configuration description="Runs PackageWatchdog Tests.">
+    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
+        <option name="cleanup-apks" value="true" />
+        <option name="test-file-name" value="PackageWatchdogTest.apk" />
+    </target_preparer>
+
+    <option name="test-suite-tag" value="apct" />
+    <option name="test-tag" value="PackageWatchdogTest" />
+
+    <!-- Only run this tests in MTS if the Crashrecovery Mainline module is installed. -->
+    <object type="module_controller" class="com.android.tradefed.testtype.suite.module.MainlineTestModuleController">
+        <option name="mainline-module-package-name" value="com.google.android.crashrecovery" />
+    </object>
+
+    <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
+        <option name="package" value="com.android.server" />
+        <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
+        <option name="hidden-api-checks" value="false"/>
+    </test>
+</configuration>
diff --git a/tests/vcn/Android.bp b/tests/vcn/Android.bp
index 661ed07..5ad1d1dc 100644
--- a/tests/vcn/Android.bp
+++ b/tests/vcn/Android.bp
@@ -17,8 +17,9 @@
     // For access hidden connectivity methods in tests
     defaults: ["framework-connectivity-test-defaults"],
 
-    // TODO: b/374174952 Use 36 after Android B finalization
-    min_sdk_version: "35",
+    // Tethering module is released in R so this test needs to be installable
+    // on R
+    min_sdk_version: "30",
 
     srcs: [
         "java/**/*.java",
diff --git a/tests/vcn/AndroidManifest.xml b/tests/vcn/AndroidManifest.xml
index 08effbd..6e8b4ac 100644
--- a/tests/vcn/AndroidManifest.xml
+++ b/tests/vcn/AndroidManifest.xml
@@ -17,7 +17,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
         package="com.android.frameworks.tests.vcn">
     <!-- TODO: b/374174952 Use 36 after Android B finalization -->
-    <uses-sdk android:minSdkVersion="35" android:targetSdkVersion="35" />
+    <uses-sdk android:minSdkVersion="30" android:targetSdkVersion="35" />
 
     <application>
         <uses-library android:name="android.test.runner" />
diff --git a/tools/aapt2/link/FlaggedResources_test.cpp b/tools/aapt2/link/FlaggedResources_test.cpp
index adf711e..7bea96c 100644
--- a/tools/aapt2/link/FlaggedResources_test.cpp
+++ b/tools/aapt2/link/FlaggedResources_test.cpp
@@ -169,4 +169,18 @@
   ASSERT_TRUE(output.contains("test.package.readWriteFlag"));
 }
 
+TEST_F(FlaggedResourcesTest, ReadWriteFlagInPathFails) {
+  test::TestDiagnosticsImpl diag;
+  const std::string compiled_files_dir = GetTestPath("compiled");
+  ASSERT_FALSE(CompileFile(GetTestPath("res/values/flag(!test.package.rwFlag)/bools.xml"),
+                           R"(<resources>
+                                <bool name="bool1">false</bool>
+                              </resources>)",
+                           compiled_files_dir, &diag,
+                           {"--feature-flags", "test.package.rwFlag=false"}));
+
+  ASSERT_TRUE(diag.GetLog().contains(
+      "Only read only flags may be used with resources: test.package.rwFlag"));
+}
+
 }  // namespace aapt
